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

From: Mark Phillips <mark(dot)phillips(at)mophilly(dot)com>
To: Dharmendra Goyal <dharmendra(dot)goyal(at)enterprisedb(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:07:08
Message-ID: AD832840-80A0-4F2D-945D-29BB30BB67CE@mophilly.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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.

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

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?
2. how can I suppress the appearance of the user account "PostgreSQL" in the os x login window?

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.
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dharmendra Goyal 2012-02-03 17:31:38 Re: BUG #6404: postgres account not created during unattended install
Previous Message Tom Lane 2012-02-03 16:11:37 Re: BUG #6425: Bus error in slot_deform_tuple