Lähtetekstist kompileeritud PostgreSQL kasutamine Debianiga
Sisukord
- 1 Sissejuhatus
- 2 Ettevalmistuste tegemine
- 3 Tarkvara paigaldamine
- 4 contrib moodulid
- 5 PL/Java paigaldamine
- 6 PL/Proxy
- 7 Skytools
- 8 PostGIS
- 9 PostGIS tarkvara uuendamine
- 10 Andmebaasi moodustamine ja käivitamine
- 11 Tarkvara uuendamine
- 12 pgpool
- 13 PgBouncer
- 14 Andmebaasi kodeering
- 15 Märkused
- 16 PostgreSQL arendusversioon
- 17 Kasulikud lisamaterjalid
Sissejuhatus
PostgreSQL tarkvara kasutamiseks Debian Lenny'ga on kolm võimalust
- paigaldada tarkvara paketihaldusest, 20100505 on seal versioon 8.3.9
- paigaldada tarkvara paketihaldusest, backports.org repositooriumist, 20100505 on seal versioon 8.4.3
- kompileerida tarkvara aadressil http://www.postgresql.org/ jagatavast lähtetekstist
Käesolev tekst tegeleb juhtumiga, kus andmebaas ning olulised lisamoodulid on paigaldatud lähtetekstist, sellisel lähenemisel on sellised eelised
- paindlikkus - kasutaja saab kontrollida, milliste omaduste PostgreSQL täpselt tekib
- andmebaasi versioon - kasutaja saab valida, millist PostgreSQL versiooni kasutada
ja puudused
- automaatsed veaparandused - kasutajal endal on kohustus veaparanduste ja versiooniuuenduste puhul kompileerida PostgreSQL, mida muidu võiks saada uuendada paketihalduse vahenditega
- mitme samasuguste omadustega andmebaasi tekitamisel, nt arenduskeskkond, testkeskkond ja toodangu keskkond puhul tuleb mitu korda kompileerida ning seejuures hoolsasti jälgida, et protseduur alati samamoodi sooritatakse
Kasutaja peab ise otsustama, millisel viisil ta PostgreSQL tarkvara kasutab, paketihaldusest tuleva PostgreSQL kasutamist on kirjeldatud palas http://kuutorvaja.eenet.ee/wiki/Paketihaldusest_paigaldatud_PostgreSQL_kasutamine_Debianiga
Ettevalmistuste tegemine
Tekitada operatsioonisüsteemi kasutaja:grupp postgres:postgres kodukataloogiga /home/postgres
# groupadd -g 110 postgres # useradd -u 110 -g postgres -m -d /opt/postgres postgres
Valmistame ette LVM abil failisüsteemid binari installi ning andmekluster (ingl. k. data cluster) kataloogide jaoks
- /usr/local - kuigi PostgreSQL ise hakkab asuma kataloogis /usr/local/postgresql, nagu allpool näeme paigutame lisamooduli Postgis kataloogi /usr/local/postgis ja mõnus on neid korraga käsitleda
- /data/postgresql - andmekluster
- /data/backup/postgresql/archive-logs - arhiveeritud WAL logid
- /var/log/postgresql - logid
Operatsioonisüsteemi peab olema paigaldatud pakett locales, paigaldatud lokaadid
# locale -a C POSIX et_EE.utf8
kusjuures süsteemi vaikelokaat on C. Lokaadi lisamiseks sobib öelda
# dpkg-reconfigure locales
Tarkvara paigaldamine
Kasutame selleks GNU C kompilaatorit (gcc) ning muid abivahendeid, mida saab paigaldada öeldes
# apt-get build-dep postgresql-8.3 # apt-get install bison flex
Kusjuures, eksituste vältimiseks on parem kui paketihaldusest ei ole paigaldatud PostgreSQL tarkvara, ei teeke ega binaare, st mitte ühtegi neist pakettidest (see nimekiri pole lõplik)
postgresql postgresql-7.4 postgresql-8.0 postgresql-8.3 postgresql-8.3-pljava ...
Kui kõnealuses süsteemis kasutatakse nt PHPd koos PostgreSQLiga, siis libpq5 pakett on vajalik.
Paigaldamiseks tuleb logida süsteemi sisse kasutajana postgres ning pakkida lahti PostgreSQLi lähtetekst
$ mkdir 20100505 && cd 20100505 $ wget ftp://ftp.eenet.ee/pub/postgresql/source/v8.4.4/postgresql-8.4.4.tar.bz2 $ tar jxf postgresql-8.4.4.tar.bz2
Veendume, et protsessid ei käi ja failid ei ole kasutuses ning kui on asjakohane, liigutame vanad asjad eest ära
# mv /usr/local/postgresql /usr/local/postgresql-20100505-ennem-843-paigaldust # mv /data/postgresql /data/postgresql-20100505-ennem-843-paigaldust
Konfigureerimine, kompileerime ning paigaldame
$ ./configure --with-perl --with-libxml --with-libxslt --with-openssl --with-pam --with-gssapi \ --prefix=/usr/local/postgresql 1> ../configure-postgresql.1.log 2>../configure-postgresql.2.log $ make 1> ../make-postgresql.1.log 2> ../make-postgresql.2.log $ make install 1> ../make-install-postgresql.1.log 2> ../make-install-postgresql.2.log
Tulemusena paigaldatakse süsteemi
- /usr/local/postgresql/bin - programmid
- /usr/local/postgresql/share/doc/html - dokumentatsioon
- /usr/local/postgresql/include - header failid
- /usr/local/postgresql/lib - teegid
contrib moodulid
Kompileerimise õnnestumiseks tuleb PostgreSQL kompileerida võtmega --with-libxslt
$ cd contrib/xml2 $ make $ make install
Kui andmebaas juba töötab, tuleb laadida skript
postgresql-8.3.7/contrib/xml2/pgxml.sql
pgcrypto mooduli paigaldamiseks tuleb öelda
$ cd contrib/pgcrypto $ make $ make install
pldebuggeri paigaldamiseks tuleb tarkvara kopeerida aadressilt http://pgfoundry.org/projects/edb-debugger/ ning pakkida lahti contrib kataloogis
$ tar zxf edb-debugger-0.93.tgz $ cp -a pldebugger postgresql-8.3.9/contrib $ make $ make install
Lisatakse failid
/usr/local/postgresql/share/contrib /usr/local/postgresql/share/contrib/pldbgapi.sql /usr/local/postgresql/lib /usr/local/postgresql/lib/pldbgapi.so /usr/local/postgresql/lib/plugins /usr/local/postgresql/lib/plugins/plugin_debugger.so /usr/local/postgresql/lib/targetinfo.so
TODO: selgitada välja, miks pldebugger ei kompileeru 8.4.3 PostgreSQLiga
PL/Java paigaldamine
PL/Java võimaldab kasutada java't andmebaasist. PL/Java kasutamiseks peab olema süsteemis 2010 aasta kevade seisuga JDK 1.6 ning tarkvara kodulehekülge asub aadressil http://wiki.tada.se/index.php/PL/Java
$ tar zxf pljava-src-1.4.0.tar.gz $ export JAVA_HOME=/usr/local/java $ export PATH=/usr/local/java/bin:$PATH $ make 1>../pljava-make.1.log 2>../pljava-make.2.log $ make install 1>../pljava-make-install.1.log 2>../pljava-make-install.2.log
Failisüsteemi tekib juurde kaks faili
/usr/local/postgresql/lib/pljava.jar /usr/local/postgresql/lib/pljava.so
Kui andmebaas juba töötab, tuleb laadida skript
pljava/pljava-1.4.0/src/sql/install.sql
CVS'ist http://wiki.tada.se/index.php/CVS saab värskemat lähteteksti, nt võib see paremini kompileerida PostgreSQL v. 8.4.3 andmebaasiga
$ cvs -d:pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pljava login $ cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pljava checkout org.postgresql.pljava $ cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pljava log org.postgresql.pljava
PL/Proxy
PL/Proxy https://developer.skype.com/SkypeGarage/DbProjects/PlProxy on PL/Proxy.
Tarkvara paigaldamine toimub sellise järgnevusena
$ wget http://pgfoundry.org/frs/download.php/2665/plproxy-2.1.tar.gz $ tar zxf plproxy-2.1.tar.gz $ make $ make install /bin/sh /usr/local/postgresql/lib/pgxs/src/makefiles/../../config/install-sh -c \ -m 644 plproxy.sql '/usr/local/postgresql/share/contrib' /bin/sh /usr/local/postgresql/lib/pgxs/src/makefiles/../../config/install-sh -c \ -m 755 libplproxy.so.0.0 '/usr/local/postgresql/lib/plproxy.so'
ja tulemusena lisanduvad süsteemi kaks faili
/usr/local/postgresql/share/contrib/plproxy.sql /usr/local/postgresql/lib/plproxy.so
Seejärel tuleb baasi keele lisamiseks täita plproxy.sql skript, nt öeldes
$ psql -U postgres -h localhost portaal < /usr/local/postgresql/share/contrib/plproxy.sql
Iseenesest see skript sisaldab lauseid
-- handler function CREATE FUNCTION plproxy_call_handler () RETURNS language_handler AS '$libdir/plproxy' LANGUAGE C; -- language CREATE LANGUAGE plproxy HANDLER plproxy_call_handler;
Skytools
Skytools https://developer.skype.com/SkypeGarage/DbProjects/SkyTools tarkvara koosneb kolmes komponendist
- PgQ - Pythoni skriptid ja PostgreSQL teegid
- Londiste -
- walmgr -
Tarkvara paigaldamiseks sobib sooritada nt selline järgnevus
# apt-get install python-psycopg2 $ wget http://pgfoundry.org/frs/download.php/2561/skytools-2.1.11.tar.gz $ tar zxf skytools-2.1.11.tar.gz $ ./configure --prefix=/usr/local/skytools $ make $ make install
Tulemusena lisandub failisüsteemi
- /usr/local/skytools kataloogi mitmed utiliidid
- /usr/local/postgresql/lib - PostgreSQL teegid
/usr/local/postgresql/lib/pgq_lowlevel.so /usr/local/postgresql/lib/logtriga.so /usr/local/postgresql/lib/pgq_triggers.so
- /usr/local/postgresql/share/contrib kataloogi mitmed sql skriptid
Kui Skytools programmid ei ole tee peal, siis sobib nt pgqadm kasutamiseks öelda
$ export PYTHONPATH=/usr/local/skytools/lib/python2.5/site-packages $ /usr/local/skytools/bin/pgqadm.py /home/postgres/londiste/ticker.ini status
PostGIS
PostGIS http://postgis.refractions.net/ (Geographic Information Systems Extensions to PostgreSQL) on PostgreSQL andmebaasi laiendus, mis võimaldab kasutada PostgreSQL andmebaasi GIS (Geographic Information Systems) objektide jaoks. Tavaliselt paigaldatakse lisaks ka PROJ4 ja GEOS teegid.
PROJ4 teekide paigaldamine
PROJ4 teekide lähtetekstid saab kopeerida aadressilt http://trac.osgeo.org/proj/ või paigaldada Debian Lenny paketihaldusest, paigaldame paketihaldusest (versioon 4.6.0-2)
# apt-get install proj
GEOS teekide paigaldamine
Kuna PostGIS v. 1.5.1 nõuab GEOS (Geometry Engine - Open Source) teekide versiooni 3.1.1 või uuemat ning Debian Lenny paketihaldus sisaldab versiooni 3.0.0, tuleb lähtetekstid kopeerida aadressilt http://geos.refractions.net/. Kopileerimiseks sobib öelda
$ tar jxf geos-3.2.2.tar.bz2 $ ./configure --prefix=/usr/local/geos 1>../configure.geos.1.log 2>../configure.geos.2.log
kusjuures faili lõpus öeldakse, et ja see on ok
Swig: false Python: false Ruby: false
$ make 1>../make.geos.1.log 2>../make.geos.2.log $ make install 1>../make-install.geos.1.log 2>../make-install.geos.2.log
PostGIS laienduse paigaldamine
PostGIS tuleb paigaldada peale seda, kui on paigadatud PROJ4 ja GEOS teegid ning PostgreSQL andmebaas.
$ wget http://postgis.refractions.net/download/postgis-1.5.1.tar.gz $ cd postgis-1.5.1 $ ./configure --with-geos --with-proj --with-geosconfig=/usr/local/geos/bin/geos-config --prefix=/usr/local/postgis \ 1>../postgis-configure-1.log 2>../postgis-configure-2.log
kusjuures postgis-configure-1.log peab ütlema midagi sellist lõpus
PostGIS is now configured for x86_64-unknown-linux-gnu -------------- Compiler Info ------------- C compiler: gcc -g -O2 C++ compiler: g++ -g -O2 -------------- Dependencies -------------- GEOS config: /usr/local/geos/bin/geos-config GEOS version: 3.2.2 PostgreSQL config: /usr/local/postgresql/bin/pg_config PostgreSQL version: PostgreSQL 8.4.3 PROJ4 version: 46 Libxml2 config: /usr/bin/xml2-config Libxml2 version: 2.6.32 PostGIS debug level: 0 -------- Documentation Generation -------- xsltproc: xsl style sheets: dblatex: convert:
Sellised vealogis esinevad teated ei pruugi olla olulised
configure: WARNING: ImageMagick does not seem to be installed. Documentation cannot be built configure: WARNING: xsltproc is not installed so documentation cannot be built configure: WARNING: dblatex is not installed so PDF documentation cannot be built configure: WARNING: could not locate Docbook stylesheets required to build the documentation configure: WARNING: could not locate CUnit required for liblwgeom unit tests
Kompileerimiseks ja paigaldamiseks tuleb öelda
$ make 1> ../postgis-make-1.log 2>../postgis-make-2.log $ make install 1> ../postgis-make-install-1.log 2>../postgis-make-install-2.log
Tulemusena paigaldatakse süsteemi failid
/usr/local/postgresql/bin/shp2pgsql /usr/local/postgresql/bin/pgsql2shp /usr/local/postgresql/share/contrib/postgis-1.5/postgis_upgrade_13_to_15.sql /usr/local/postgresql/share/contrib/postgis-1.5/postgis_upgrade_14_to_15.sql /usr/local/postgresql/share/contrib/postgis-1.5/postgis_upgrade_15_minor.sql /usr/local/postgresql/share/contrib/postgis-1.5/uninstall_postgis.sql /usr/local/postgresql/share/contrib/postgis-1.5/postgis.sql /usr/local/postgresql/share/contrib/postgis-1.5/spatial_ref_sys.sql /usr/local/postgresql/lib/postgis-1.5.so
PostGIS tarkvara uuendamine
PostGIS tarkvara uuendamisel uuendatakse kolme sorti komponente
- PostGIS C teek failisüsteemis
- PostGIS funktsioonid andmebaasis
- PostGIS andmed andmebaasis
PostGIS README.postgis kirjeldab kahte sorti uuendusi
- soft upgrade - TODO
- hard upgrade - nt juhtumil, kui muutub andmebaasi major versioon, 8.3 -> 8.4
Järgnevas kirjeldatakse hard upgrade'i, toimub kaks uuendust
- PostgreSQL 8.3.7 -> 8.4.3
- PostGIS 1.3 -> 1.5.1
Olemasoleva andmebaasi töö lõpetamine
Olgu seoses PostGISiga kasutusel kaks andmebaasi, loom ja lind. Versiooniuuendusel on vaja kasutada nn -Fc formaadis andmebaaside dumpisid, nende moodustamiseks sobib öelda
$ pg_dump -Fc -h localhost -U postgres -f loom-20100505.fcdump loom $ pg_dump -Fc -h localhost -U postgres -f lind-20100505.fcdump lind
Seejärel tuleb olemasoleva andmebaasi protsessid lõpetada ning failisüsteemi tasemel liigutada eest ära olemasolevad kataloogid
- /data/postgresql - andmekluster
# mv /data/postgresql /data/postgresql-20100505
- /usr/local/postgresql - PostgreSQL binary
# mv /usr/local/postgresql /usr/local/postgresql-20100505
- /usr/local/postgis - PostGIS teek
# mv /usr/local/postgis /usr/local/postgis-20100505
Uue PostgreSQL ja PostGIS tarkvara paigaldamine ja käivitamine
Uus PostgreSQL ja PostGIS tarkvara paigaldamise protseduur iseenesest ei erine sellest, kas tegu on esmakordse tarkvara kasutama asumise juhtumiga või kavatsusega sooritada versiooniuuendus.
Kuna PostGIS teek asub versioonil 1.5.1 PostgreSQL teekide kataloogis ning andmebaasi dumpis on viidatud vanale teegi asukohale, tuleb moodustada vastav link
$ mkdir /usr/local/postgis/lib $ ln -s /usr/local/postgresql/lib/postgis-1.5.so /usr/local/postgis/lib/liblwgeom.so
PostgreSQL käivitamine toimub tavapäraselt, kuid lisaks tuleb näidata GEOS teegi asukoht, nt LD_LIBRARY_PATH abil
$ export LD_LIBRARY_PATH=/usr/local/geos/lib $ /usr/local/postgresql/bin/pg_ctl -D /data/postgresql -l logfile start
kusjuures LD_LIBRARY_PATH rida sobib lisada kasutaja shelli profiili.
Andmete import
Enne andmete importi tuleb moodustada andmebaasi kasutajad, selleks sobib kasutada vana andmebaasi töö lõpetamisel tehtud märkmeid.
$ pg_dumpall -g -h localhost -U postgres
kus -g näitab, et tuleb väljastada globaalne osa andmebaasist, praktiliselt rollide kirjeldused.
$ psql -h localhost -U postgres postgres < globals.sql
Seejärel tuleb seada sobivalt keskkonnamuutujad, nt
$ export PGPASSWORD=parool $ export PGHOST=localhost $ export PGPORT=5432 $ export PGUSER=postgres
ning öelda
$ sh utils/postgis_restore.pl postgis/postgis.sql loom loom-20100505.fcdump \ 1> postgis-loom-restore.1.log 2> postgis-loom-restore.2.log $ sh utils/postgis_restore.pl postgis/postgis.sql lind lind-20100505.fcdump \ 1> postgis-lind-restore.1.log 2> postgis-lind-restore.2.log
Seejuures kirjutatakse error logisse, mis peaks olema ohutu
Use of uninitialized value $larg in concatenation (.) or string at utils/postgis_restore.pl line 679, <INPUT> line 1076. Use of uninitialized value $rarg in concatenation (.) or string at utils/postgis_restore.pl line 679, <INPUT> line 1076. Use of uninitialized value $larg in concatenation (.) or string at utils/postgis_restore.pl line 679, <INPUT> line 1085. Use of uninitialized value $rarg in concatenation (.) or string at utils/postgis_restore.pl line 679, <INPUT> line 1085. ERROR: language "plpgsql" already exists ERROR: function st_histogram2d_in(cstring) does not exist ERROR: operator family "btree_geometry_ops" for access method "btree" already exists ERROR: operator family "gist_geometry_ops" for access method "gist" already exists
Tegevuse käigus maksab jälgida logisid. Tulemusena peaks moodustuma töötav uuendatud andmebaas.
Andmebaasi moodustamine ja käivitamine
Andmebaasi moodustamiseks tuleb esmalt initsialiseerime andmebaasi, näidates sobiva lokaadi
bash$ /usr/local/postgresql/bin/initdb -E UNICODE --locale et_EE.UTF-8 -D /data/postgresql The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale et_EE.UTF-8. initdb: could not find suitable text search configuration for locale et_EE.UTF-8 The default text search configuration will be set to "simple". fixing permissions on existing directory /data/postgresql ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers/max_fsm_pages ... 32MB/204800 creating configuration files ... ok creating template1 database in /data/postgresql/base/1 ... ok initializing pg_authid ... ok initializing dependencies ... ok creating system views ... ok loading system objects' descriptions ... ok creating conversions ... ok creating dictionaries ... ok setting privileges on built-in objects ... ok creating information schema ... ok vacuuming database template1 ... ok copying template1 to template0 ... ok copying template1 to postgres ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the -A option the next time you run initdb. Success. You can now start the database server using: /usr/local/postgresql/bin/postgres -D /data/postgresql or /usr/local/postgresql/bin/pg_ctl -D /data/postgresql -l logfile start
Edasise anmebaasi kasutamisel tuleks kohendada seadistusfaili ja keskkonnamuutujaid kasutuses oleva lokaadi osas
nt et_EE.UTF-8 kodeeringu puhul sobivad sellised muudatused seadistufailis
# These settings are initialized by initdb, but they can be changed. lc_messages = 'et_EE.UTF-8' # locale for system error message # strings lc_monetary = 'et_EE.UTF-8' # locale for monetary formatting lc_numeric = 'et_EE.UTF-8' # locale for number formatting lc_time = 'et_EE.UTF-8' # locale for time formatting
ja sellised keskkonnamuutujad
export LC_CTYPE=et_EE.UTF-8 export LC_COLLATE=et_EE.UTF-8
Andmebaasi seiskamiseks ja käivitamise võiks sobida nt selline start-skript
# cat /etc/init.d/postgresql #!/bin/bash case "$1" in start) echo "Starting PostgreSQL server" /bin/su - postgres -c ". /home/postgres/pg-start.env && /usr/local/postgresql/bin/pg_ctl \ start -D /data/postgresql -l /var/log/postgresql/pg_ctl.log" ;; stop) echo "Stopping PostgreSQL server" /bin/su - postgres -c ". /home/postgres/pg-start.env && /usr/local/postgresql/bin/pg_ctl \ stop -D /data/postgresql -m fast -l /var/log/postgresql/pg_ctl.log" ;; *) echo "Usage: /etc/init.d/postgresql {start|stop}" exit 1 esac exit 0
Kus /home/postgres/pg-start.env failis on kirjeldatud keskkonnamuutujad nt selliselt
# cat /home/postgres/pg-start.env JAVA_HOME=/usr/local/java UL=/usr/local export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:\ /usr/local/java/bin:/opt/oracle/database/bin export JAVA_HOME=/usr/local/java export ORACLE_HOME=/opt/oracle/database export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server:$UL/proj/lib:\ $UL/geos/lib:$UL/postgis/lib:/opt/oracle/database/lib:/opt/oracle/database/lib32 export CLASSPATH=$UL/postgresql/lib/pljava.jar:$UL/xt/xerces.jar:$UL/xt/sax2.jar:$UL/xt/xt20051206.jar:\ $UL/xmlsec/commons-logging-api.jar:$UL/xmlsec/serializer.jar:$UL/xmlsec/xercesImpl.jar:\ $UL/xmlsec/xmlsec-1.4.2.jar:$UL/xmlsec/xmlsecTests-1.4.2.jar:$UL/xmlsec/commons-logging.jar:\ $UL/xmlsec/xalan.jar:$UL/xmlsec/xml-apis.jar:$UL/xmlsec/xmlsecSamples-1.4.2.jar export LC_CTYPE=et_EE.UTF-8 export LC_COLLATE=et_EE.UTF-8
Tarkvara uuendamine
- Kui muutub PostgreSQLi nn minoorne versiooninumber, st tagant poolt kolmas, nt 8.3.6 -> 8.3.7, siis võib sama andmeklustri kataloogi kasutada.
- Kui muutub PostgreSQLi nn mažoorsem versioonumber, nt tagant poolt teine, nt 8.2.x -> 8.3.y, siis tuleb andmed esmalt kopeerida pg_dumpall käsu abil töötavast vanast baasist ära, samal ajal peaks pg_hba.conf failist kasutajate ja programmide ligipääs baasile olema keelatud
$ /usr/local/postgresql/bin/pg_dumpall -h 127.0.0.1 -U postgres > pg_dumpall-20090329-8.2.sql
ning seejärel uude initsialiseeritud baasi sisse lugeda, öeldes nt
$ /usr/local/postgresql/bin/psql -h 127.0.0.1 -U postgres template1 < pg_dumpall-20090329-8.2.sql \ 1>pg_dumpall-20090329-8.3-in-1.log 2>pg_dumpall-20090329-8.3-in-2.log
pgpool
TODO
PgBouncer
TODO
Andmebaasi kodeering
portaal=# show server_encoding; server_encoding ----------------- UTF8 (1 row) portaal=# show client_encoding; client_encoding ----------------- UTF8
Märkused
- Selleks, et psql, pg_dump jm käsud ei küsiks parooli sobib seadistada keskkonnamuutuja, kuid kasutaja peab ise otsustama, kas selline lahendus on talle sobiv
$ export PGPASSWORD=parool
- WAL logide kasutamisel tuleb arvestada, et 8.3 versiooni puhul ei kandu nii üle hash indeksid, vt täpsemalt http://www.postgresql.org/docs/8.3/interactive/continuous-archiving.html#CONTINUOUS-ARCHIVING-CAVEATS
- Kui WAL logide kataloog saab täis, siis tekib logisse igal minutiel selliseid sissekandeid
2009-06-17 23:59:01 EEST 3624 4a1ba0db.e28 43405 2009-05-26 10:57:15 EEST 0 LOG: archive command failed with exit code 1 2009-06-17 23:59:01 EEST 3624 4a1ba0db.e28 43406 2009-05-26 10:57:15 EEST 0 DETAIL: The failed archive command was: test \ ! -f /data/backup/postgresql/archive-logs/0000000100000018000000CD \ && cp pg_xlog/0000000100000018000000CD /data/backup/postgresql/archive-logs/0000000100000018000000CD 2009-06-17 23:59:01 EEST 3624 4a1ba0db.e28 43407 2009-05-26 10:57:15 EEST 0 WARNING: transaction log file \ "0000000100000018000000CD" could not be archived: too many failures
Tavaliselt aitab lihtsalt kataloogi ruumi juurde tegemine, nt vanemate logide kustutamise teel ning kuna viimane mida kopeerida ei saada on tõenäoliselt poolik fail, tuleb see kustutada WAL logide kataloogist. Seejärel jätkab süsteem normaalset tööd.
PostgreSQL arendusversioon
Aadressil http://developer.postgresql.org/pgdocs/postgres/anoncvs.html saab tutvuda juhatustega, kuidas kopeerida PostgreSQL lähtetekstid versioonihaldusest ning neid kasutama asuda.