BUG #6404: postgres account not created during unattended install

Started by Mark Phillipsabout 14 years ago6 messagesbugs
Jump to latest
#1Mark Phillips
mark.phillips@mophilly.com

The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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".

#2Dharmendra Goyal
dharmendra.goyal@enterprisedb.com
In reply to: Mark Phillips (#1)
Re: BUG #6404: postgres account not created during unattended install

On Sat, Jan 21, 2012 at 3:01 AM, <mark.phillips@mophilly.com> wrote:

The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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
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.

#3Dharmendra Goyal
dharmendra.goyal@enterprisedb.com
In reply to: Mark Phillips (#1)
Re: BUG #6404: postgres account not created during unattended install

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.phillips@mophilly.com>wrote:

On Jan 29, 2012, at 11:07 PM, Dharmendra Goyal wrote:

On Sat, Jan 21, 2012 at 3:01 AM, <mark.phillips@mophilly.com> wrote:

The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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.

#4Mark Phillips
mark.phillips@mophilly.com
In reply to: Dharmendra Goyal (#3)
Re: BUG #6404: postgres account not created during unattended install

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:

Show quoted text

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.phillips@mophilly.com> wrote:

On Jan 29, 2012, at 11:07 PM, Dharmendra Goyal wrote:

On Sat, Jan 21, 2012 at 3:01 AM, <mark.phillips@mophilly.com> wrote:
The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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&quot;
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.

#5Dharmendra Goyal
dharmendra.goyal@enterprisedb.com
In reply to: Mark Phillips (#4)
Re: BUG #6404: postgres account not created during unattended install

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

wrote:

On Jan 29, 2012, at 11:07 PM, Dharmendra Goyal wrote:

On Sat, Jan 21, 2012 at 3:01 AM, <mark.phillips@mophilly.com> wrote:

The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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.

#6Mark Phillips
mark.phillips@mophilly.com
In reply to: Dharmendra Goyal (#5)
Re: BUG #6404: postgres account not created during unattended install

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.phillips@mophilly.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

Show quoted text

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.phillips@mophilly.com> wrote:

On Jan 29, 2012, at 11:07 PM, Dharmendra Goyal wrote:

On Sat, Jan 21, 2012 at 3:01 AM, <mark.phillips@mophilly.com> wrote:
The following bug has been logged on the website:

Bug reference: 6404
Logged by: Mark Phillips
Email address: mark.phillips@mophilly.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&quot;
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.