From: | henti(at)geekware(dot)co(dot)za |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #14567: Overriding PGDATA during initdb always fails |
Date: | 2017-02-24 10:50:22 |
Message-ID: | 20170224105022.1528.47821@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14567
Logged by: Henti Smith
Email address: henti(at)geekware(dot)co(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Zbigniew Szot | 2017-02-24 11:13:38 | Re: BUG #14565: query planner does not use partial index in partiton if query is performed on multiple partitions |
Previous Message | henti | 2017-02-24 10:38:14 | BUG #14566: Overriding PGDATA during initdb always fails |