Lists: | Postg와이즈 토토SQL : Postg와이즈 토토SQL 메일 링리스트 : 2016-04-14 이후 PGSQL-BUGS 03:58 |
---|
From: | porjo38(at)yahoo(dot)com(dot)au |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #14083: 'postgresql95-setup initdb' breaks inside docker container |
Date: | 2016-04-14 03:58:35 |
Message-ID: | 20160414035835.22934.58240@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg와이즈 토토SQL : Postg와이즈 토토SQL 메일 링리스트 : 2016-04-14 이후 PGSQL-BUGS 03:58 |
The following bug has been logged on the website:
Bug reference: 14083
Logged by: Ian
Email address: porjo38(at)yahoo(dot)com(dot)au
PostgreSQL version: 9.5.2
Operating system: Centos7
Description:
# /usr/pgsql-9.5/bin/postgresql95-setup initdb
Failed to get D-Bus connection: Operation not permitted
failed to find PGDATA setting in postgresql-9.5.service
If I comment out the lines from 'postgresql95-setup' that call 'systemctl',
initdb executes succesfully.
I'm using RPM packages from http://yum.postgresql.org/:
# rpm -qa | grep postgres
postgresql95-libs-9.5.2-1PGDG.rhel7.x86_64
postgresql95-9.5.2-1PGDG.rhel7.x86_64
postgresql95-server-9.5.2-1PGDG.rhel7.x86_64
From: | Devrim Gündüz <devrim(at)gunduz(dot)org> |
---|---|
To: | porjo38(at)yahoo(dot)com(dot)au, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #14083: 'postgresql95-setup initdb' breaks inside docker container |
Date: | 2016-04-14 11:13:19 |
Message-ID: | 1460632399.897.7.camel@gunduz.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
Hi,
On Thu, 2016-04-14 at 03:58 +0000, porjo38(at)yahoo(dot)com(dot)au wrote:
> Description:
>
> # /usr/pgsql-9.5/bin/postgresql95-setup initdb
> Failed to get D-Bus connection: Operation not permitted
> failed to find PGDATA setting in postgresql-9.5.service
Are you running these as root or postgres user?
I think they need to be run with root.
Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR
From: | IanB <porjo38(at)yahoo(dot)com(dot)au> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #14083: 'postgresql95-setup initdb' breaks inside docker container |
Date: | 2016-04-14 22:49:53 |
Message-ID: | 57101E91.50706@yahoo.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On 14/04/16 21:13, Devrim Gündüz wrote:
>>
>> # /usr/pgsql-9.5/bin/postgresql95-setup initdb
>> Failed to get D-Bus connection: Operation not permitted
>> failed to find PGDATA setting in postgresql-9.5.service
>
> Are you running these as root or postgres user?
>
> I think they need to be run with root.
Yes, it is running as postgres user. Looking at postgresql95-setup I can
see that the only reason it is running 'systemctl' is to determine the
PGDATA path, as follows:
PGDATA=`systemctl show -p Environment "${SERVICE_NAME}.service" |
sed 's/^Environment=//' | tr ' ' '\n' |
sed -n 's/^PGDATA=//p' | tail -n 1`
if [ x"$PGDATA" = x ]; then
echo "failed to find PGDATA setting in ${SERVICE_NAME}.service"
exit 1
fi
Further down it gets PGDATA again as follows:
# Get data directory from the service file
PGDATA=`sed -n 's/Environment=PGDATA=//p' "${SERVICE_FILE}"`
When I comment out the first method, PGDATA is set from second method
and the script runs successfully *without* needing root privileges. Is
the first method even necessary!?