Wells Oliver <wellsoliver@gmail.com> writes:
> Alright but what's odd to me is that it's a standard out of the box ubuntu configuration, meaning:
>
> log_destination is 'stderr'
> logging_collector is on
> log_directory is /var/log/postgresql/
> log_filename is postgresql-%Y-%m-%d_%H%M%S.log
>
> When I ran pg_ctlcluster start, I only received "please check the log output", but there were no errors logged. There
> are definitely log items when the server was running normally.
>
> When I ran postgres manually, I saw the permissions issue. My question then is where was this error sent when running
> pg_ctlcliuster, or why was it squashed? It would have been helpful to have that from the start.
Speculating here, but the bit about "please check the logs" is
probably generic to pg_ctl and an error such as bad $PGDATA perms
might be detected so early as to halt startup even before something
like logging_collector is run and/or fully operational.
That is, there might be a few types of errors that will be reported on
/dev/tty or /dev/stderr in such a case and the "check logs" message is
misleading.
Consult your source code though for definitive answer :-)
> --
> Wells Oliver
> wellsoliver@gmail.com
>
> On Jul 12, 2013, at 2:23 AM, Giuseppe Broccolo <giuseppe.broccolo@2ndquadrant.it> wrote:
>
> Hi Oliver,
>
> Il 12/07/2013 04:07, Wells Oliver ha scritto:
>
> I ran:
>
> pg_ctlcluster 9.1 main start
>
> Received:
>
> The PostgreSQL server failed to start. Please check the log output.
>
> But, hey, in /var/log/postgresql, there was absolutely no logging. Nothing. After some googling, I tried:
>
> usr/lib/postgresql/9.1/bin/postgres -D /data/postgresql/9.1/main -c config_file=/etc/postgresql/9.1/main/
> postgresql.conf
>
> From the command line, which spit out to the terminal:
>
> 2013-07-12 02:04:05 GMT [30091]: [1-1] FATAL: data directory "/data/postgresql/9.1/main" has group or world
> access
>
> OK, so where the heck did this error message go when I was running pg_ctlcluster? It would have saved me a
lot
> of time.
>
> By default pg_ctlcluster script redirects postmaster's stderr into /var/log/postgresql/postgresql-9.1-main.log.
> This works only if log_destination is stderr and logging_collector is disabled, else the logs are stored where
> configured by log_destination, log_filename and log_directory in your postgresql.conf file.
>
> Advice is to look into your postgresql.conf how (and if) logging is configured.
>
> Regards,
> Giuseppe.
>
> --
> Giuseppe Broccolo - 2ndQuadrant Italy
> PostgreSQL Training, Services and Support
> giuseppe.broccolo@2ndQuadrant.it | www.2ndQuadrant.it
>
--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net
p: 312.241.7800