Re: BUG #6404: postgres account not created during unattended install

From: Dharmendra Goyal <dharmendra(dot)goyal(at)enterprisedb(dot)com>
To: Mark Phillips <mark(dot)phillips(at)mophilly(dot)com>
Cc: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>, Dave Page <dave(dot)page(at)enterprisedb(dot)com>
Subject: Re: BUG #6404: postgres account not created during unattended install
Date: 2012-02-03 17:31:38
Message-ID: CAOh5NjyC0Q-9aHrwd0nVb=xhq4FUga9aUv394F1J6o5wRHcJyg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Feb 3, 2012 at 10:37 PM, Mark Phillips
<mark(dot)phillips(at)mophilly(dot)com>wrote:

> Thank you for the reply. I have spent the better part of this week on this
> and related issues.
>
> My test procedure is as follows: create VM using Fusion 4.x with a fresh
> install of OS X 10.7. The VM is hosted on a Mac also running 10.7. I create
> a snapshot of this clean image. The first step of each test run is
> to restore the snapshot image.
>
> With this in mind, the comment about the previous installation does not
> seem to apply to my report.
>
> After considering your remarks and modifying the app install script, the
> app installation completes normally with a functioning PostgreSQL
> installation. However, the errors reported previous still appear in the
> logs.
>
If erros which you sent last tim appear even when you run the installation
first time, it means that there was an existing installation of postgres.
You can confirm same by checking /etc/postgres-reg.ini file.

>
> The unattended mode results in the appearance of a user "PostgreSQL" in
> the User Accounts preferences panel as well as the login window. It is
> interesting to note that a user named "postgres" in any variant does not
> appear in /Users/ directory, nor in the file /etc/passwd/, with the
> exception of the os x standard postgres account.
> $ cat /etc/passwd | grep "Postgre"
> _postgres:*:216:216:PostgreSQL Server:/var/empty:/usr/bin/false
>
I agree that _postgres exists because of the inbuilt pg which is bundled
with OS. But not sure why PostgreSQL user is there.

>
> The "one click" installer does not result in the appearance of the
> "PostgreSQL" user account in the os x GUI.
>
> To recap the questions:
> 1. are the errors reported in the postgres install log of a type to cause
> a malfunction for end users?
>
Even if the error (postgres user not found) is there in the log, it will
not cause any problem to the end user. Error is coming because installer
finds a previous installation of PG hence tries to stop the existing pg
server if it is running. So even if it is not able to stop any, it is not
going to cause any issue as subsequent installation of pg goes fine.

> 2. how can I suppress the appearance of the user account "PostgreSQL" in
> the os x login window?
>
Please check /etc/postgres-reg.ini file for bindled pg installation.

>
> Many thanks,
>
> - Mark
>
> On Jan 30, 2012, at 11:34 PM, Dharmendra Goyal wrote:
>
> Hi Mark,
>
> Install log shows that your db installation is successful. The error which
> you had sent is coming because your earlier installation failed to create
> 'postgres' user and when you ran the installer again, installer read
> /etc/postgres-reg.ini file to check any previous installation and found
> that previous installation was done. Hence installer tries to stop the db
> server in case it is running using postgres user. This command fails as
> postgres user was not created in your first installation because of some
> reason. But in latest installation (for which you have sent the log),
> postgres user has been created successfully and installation went
> successfully. You need to check why postgres user was not created in first
> go by checking logs of that installation.
>
> You are checking return status of the installbuilder.sh command run which
> is not 0 hence you are getting error ("install of DBMS failed".) in your
> script. Can yu please check what is the return value in your script of
> installbuilder.sh.
>
> Regards,
>
> On Tue, Jan 31, 2012 at 5:37 AM, Mark Phillips <mark(dot)phillips(at)mophilly(dot)com
> > wrote:
>
>>
>> On Jan 29, 2012, at 11:07 PM, Dharmendra Goyal wrote:
>>
>> On Sat, Jan 21, 2012 at 3:01 AM, <mark(dot)phillips(at)mophilly(dot)com> wrote:
>>
>>> The following bug has been logged on the website:
>>>
>>> Bug reference: 6404
>>> Logged by: Mark Phillips
>>> Email address: mark(dot)phillips(at)mophilly(dot)com
>>> PostgreSQL version: 9.1.2
>>> Operating system: Mac OS X 10.7
>>> Description:
>>>
>>> for a stand alone app that uses postgres, the app installer invokes the
>>> shell script installbuilder.sh for the "unattended" install of postgres.
>>>
>>> The pg installer creates a user "PostgreSQL" that is not hidden, but does
>>> not create a hidden account "postgres". As a result, the invocation of
>>> pg_ctl fails. Error is "unknown login: postgres".
>>>
>> pg installer creates "postgres" user which somehow seems to be failing at
>> your machine. Can you please send installation log which can be found under
>> /tmp/install-postgresql.log. Also if you can run
>> installation_path/installer/server/createuser.sh script manually and check
>> the output, it can be helpful.
>>
>> Thanks,
>> --
>> Dharmendra Goyal
>>
>>
>> Thank you for the reply. I apologize for the delay in responding.
>>
>> File install-postgresql.log attached.
>>
>> Please review the link below to a post in the postgresql forum for a bit
>> more detail about this issue:
>>
>> http://forums.enterprisedb.com/posts/list/3042.page
>>
>> I looked into running the createuser.sh script. However, I encountered a
>> bit of new information before I could get that far so I include it here in
>> case it is relevant.
>>
>> Beginning anew with a clean os install, I ran the app installer that
>> invokes the postgresql installer.
>>
>> Here is a snippet of the installer script that relates to installing
>> postgres:
>>
>> # adjust current settings to allow the install to execute properly
>> log "adjust current shared memory settings"
>> log "..refer to
>> http://www.postgresql.org/docs/9.1/interactive/kernel-resources.html#SYSVIPC
>> "
>> sysctl -w kern.sysv.shmmax=1610612736
>> sysctl -w kern.sysv.shmall=393216
>> sysctl -w kern.sysv.shmmin=1
>> sysctl -w kern.sysv.shmmni=32
>> sysctl -w kern.sysv.shmseg=8
>> sysctl -w kern.maxprocperuid=512
>> sysctl -w kern.maxproc=2048
>>
>> # install postgres
>>
>> cd "${BASE}"
>> log "change directory to ${BASE}"
>>
>> log "=== install DBMS engine ==="
>> postgresql-9.1.2-1-osx.app/Contents/MacOS/installbuilder.sh --mode
>> unattended --superaccount PostgresSQL --superpassword Omnis1
>> if [ $? != 0 ]; then
>> log "install of DBMS failed: ${?}"
>> exit 1
>> fi
>>
>> It appears execution stops there. The following is in the system log:
>>
>> 1/30/12 3:41:26.784 PM markphillips: PRM Installer: === install DBMS
>> engine ===
>> 1/30/12 3:41:26.819 PM authexec: executing
>> /Users/markphillips/Downloads/PRM Installer/Install
>> PRM.app/Contents/Resources/postgresql-9.1.2-1-osx.app/Contents/MacOS/osx-intel
>> 1/30/12 3:41:49.097 PM osx-intel: kCGErrorInvalidConnection:
>> CGSGetWindowTags: Invalid connection
>> 1/30/12 3:41:49.097 PM osx-intel: kCGErrorFailure: Set a breakpoint @
>> CGErrorBreakpoint() to catch errors as they are logged.
>>
>> Please note the lack of the terminating message "install of DBMS failed".
>> There are other termination log messages that might have been written if
>> the script progressed further. None were logged so I assume the script was
>> aborted while running the postgresql install script.
>>
>> Thank you,
>>
>> - Mark
>>
>>
>>
>>
>>
>
>
> --
> Dharmendra Goyal
> Senior Software Engineer
> EnterpriseDB Corporation
> The Enterprise Postgres Company
>
> Phone: +91-20-30589493
> Mobile: +91-9552103323
>
> Website: http://www.enterprisedb.com
> EnterpriseDB Blog: http://blogs.enterprisedb.com/
> Follow us on Twitter: http://www.twitter.com/enterprisedb
>
> This e-mail message (and any attachment) is intended for the use of the
> individual or entity to whom it is addressed. This message contains
> information from EnterpriseDB Corporation that may be privileged,
> confidential, or exempt from disclosure under applicable law. If you are
> not the intended recipient or authorized to receive this for the intended
> recipient, any use, dissemination, distribution, retention, archiving, or
> copying of this communication is strictly prohibited. If you have received
> this e-mail in error, please notify the sender immediately by reply e-mail
> and delete this message.
>
>
>

--
Dharmendra Goyal
Senior Software Engineer
EnterpriseDB Corporation
The Enterprise Postgres Company

Phone: +91-20-30589493
Mobile: +91-9552103323

Website: http://www.enterprisedb.com
EnterpriseDB Blog: http://blogs.enterprisedb.com/
Follow us on Twitter: http://www.twitter.com/enterprisedb

This e-mail message (and any attachment) is intended for the use of the
individual or entity to whom it is addressed. This message contains
information from EnterpriseDB Corporation that may be privileged,
confidential, or exempt from disclosure under applicable law. If you are
not the intended recipient or authorized to receive this for the intended
recipient, any use, dissemination, distribution, retention, archiving, or
copying of this communication is strictly prohibited. If you have received
this e-mail in error, please notify the sender immediately by reply e-mail
and delete this message.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2012-02-03 18:52:29 Re: BUG #6347: Reopening bug #6085
Previous Message Mark Phillips 2012-02-03 17:07:08 Re: BUG #6404: postgres account not created during unattended install