Sto cercando di configurare il server Postgresql 9.3 su Centos 7 (installazione via yum) all'interno di una directory personalizzata, che nel mio caso è una partizione crittografata (/ custom_taintainer/database) montata all'avvio. Per una certa ragione, Postgresql non si comporta come dovrebbe nel manuale e commette un errore all'avvio del servizio.Postgresql 9.3 su Centos 7 con PGDATA personalizzato
Nota: non vuole accettare la variabile d'ambiente PGDATA che ho impostato, e durante l'esecuzione
su - postgres -c '/usr/pgsql-9.3/bin/initdb'
(dato che la directory PGDATA è di proprietà di postgres: Postgres) del cluster viene inizializzata all'interno della predefinita directory /var/lib/pgsql/9.3/data/ l'unico modo per cambiare la situazione sta usando
su - postgres -c '/usr/pgsql-9.3/bin/initdb --pgdata=$PGDATA'
che inizializza la directory all'interno del contenitore personalizzato che sto usando. Questo è qualcosa che non riuscivo a capire, in quanto i documenti dicono che la variabile PGDATA viene presa in modo predefinito.
Problema: quando si esegue
service postgresql-9.3 start
ottengo un errore con il registro
postgresql-9.3.service - PostgreSQL 9.3 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.3.service; disabled)
Active: failed (Result: exit-code) since Mon 2014-11-10 15:24:15 CET; 1s ago
Process: 2785 ExecStartPre=/usr/pgsql-9.3/bin/postgresql93-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Starting PostgreSQL 9.3 database server...
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: "/var/lib/pgsql/9.3/data/" is missing or empty.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: Use "/usr/pgsql-9.3/bin/postgresql93-setup initdb" to initialize t...ster.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: See %{_pkgdocdir}/README.rpm-dist for more information.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: postgresql-9.3.service: control process exited, code=exited status=1
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Failed to start PostgreSQL 9.3 database server.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Unit postgresql-9.3.service entered failed state.
Il che significa che PostgreSQL, anche se il cluster viene inizializzata nella nuova directory $ PGDATA (/ custom_container/database) cerca ancora il cluster in /var/lib/pgsql/9.3/data/
Qualcuno ha provato questo comportamento Postgresql prima? Potrebbe essere che ho dimenticato alcune opzioni di configurazione o che il problema deriva dall'installazione di Postgresql?
Grazie in anticipo!
provare 'echo $ PGDATA', è il risultato che visualizza il percorso corretto? –
sì, mostra/custom_container/database –
prova ad usare 'pg_ctl -D $ PGDATA start &' e vedere se funziona –