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-04 22:19:09
Message-ID: 08B787D6-E483-444D-B0D3-BD9EAB06E80D@mophilly.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Thank you for your reply.

On Feb 3, 2012, at 9:31 AM, Dharmendra Goyal wrote:

> On Fri, Feb 3, 2012 at 10:37 PM, Mark Phillips <mark(dot)phillips(at)mophilly(dot)com> wrote:
> 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.

Immediately after restoration of the vm image, there is no file /etc/postgres-reg.ini. Perhaps it is placed elsewhere by the OS X designers. I cannot find it with locate enabled and run as root.

The file is present after I run the postgres installer.

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

This is good news. :-)

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

Forgive me for being redundant, but I cannot locate a file named "postgres-reg.ini" prior to running the installer.

Here is the content from the file /etc/postgres-reg.ini written by the postgres installer:

$ cat etc/postgres-reg.ini
[PostgreSQL/9.1]
Branding=PostgreSQL 9.1
DataDirectory=/Library/PostgreSQL/9.1/data
Description=PostgreSQL 9.1
DisableStackBuilder=0
InstallationDirectory=/Library/PostgreSQL/9.1
Locale=C
Port=5432
Serviceaccount=postgres
ServiceID=postgresql-9.1
Shortcuts=1
Superuser=postgres
Version=9.1.2.1

You thoughts are most welcome.

- Mark

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

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2012-02-05 04:39:25 Re: converting between infinity timestamp and float8 (epoch)
Previous Message Bridget Frey 2012-02-04 19:52:09 Re: BUG #6425: Bus error in slot_deform_tuple