[BUGS] BUG #14567: Overriding PGDATA during initdb always fails
От | henti@geekware.co.za |
---|---|
Тема | [BUGS] BUG #14567: Overriding PGDATA during initdb always fails |
Дата | |
Msg-id | 20170224105022.1528.47821@wrigleys.postgresql.org обсуждение исходный текст |
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 14567 Logged by: Henti Smith Email address: henti@geekware.co.za PostgreSQL version: 9.6.2 Operating system: Centos 7 Description: When using the "/usr/pgsql-9.6/bin/postgresql96-setup" script to initdb the environment variable PGSETUP_INITDB_OPTIONS can be used to pass options to the initdb binary. This allows you to do the following. export PGSETUP_INITDB_OPTIONS="--pgdata=/postgresql" /usr/pgsql-9.6/bin/postgresql96-setup initdb Internally, the following happens. $PGDATA is retrieved from systemctl using Environment. $PGDATA is then used in initdb() to : Check if "$PGDATA/PG_VERSION" exists before running perform_initdb() $PGDATA is then used in perform_initdb() to : Create and chown $PGDATA restorecon $PGDATA Then initdb binary gets called like this: initdbcmd="$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" initdbcmd+=" $PGSETUP_INITDB_OPTIONS" Where --pgdata can be passed. At this point the directory is not created and owned and the command fails. If you create the directory manually the script continues to: Create and chown log directory at $PGDATA/pg_log restorecon $PGDATA/pg_log And finally it tests the installation with if [ -f "$PGDATA/PG_VERSION" ]; then return 0 fi return 1 Which always returns 1 as $PGDATA was never set to the custom directory. I used --pgdata=/postgresql as the only way to set a custom DB directory, because the setup script never sources /etc/sysconfig/postgresql-9.6 which is where I set the PGDATA override before. This can all be fixed by adding source /etc/sysconfig/pgsql/postgresql-$PGMAJORVERSION before export PGDATA on line 107 Sorry for duplicate post. Regards Henti -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
В списке pgsql-bugs по дате отправления: