Thread: PG versus FreeBSD, startup and connections problems

PG versus FreeBSD, startup and connections problems

From
Mitch Pirtle
Date:
Hi gang,

I just inherited a FreeBSD box, and it is horribly sick. So we moved
everything to a new machine (power supply failures) and finally got
stuff running again.

Ok, for two days (rimshot)

Here are the two problems, and for the life of me I cannot find any
documentation on either:

1) freebsd will only let PostgreSQL have 38 connections at a time,
regardless of kernel settings or postgresql.conf settings. Where
exactly (and how, exactly) does one remedy that problem?

2) As of this morning, the machine was down again, this time apache
fired up normally but pg refuses to start - without errors. When I
start with postmaster on the CLI I also get no errors, just no
postmaster. Why am I not seeing the errors, is this a FreeBSD or
PostgreSQL issue?

For example:

$ pg_ctl start
postmaster successfully started
$ pg_ctl status
pg_ctl: postmaster or postgres not running

OR:

$ postmaster -D /usr/local/pgsql/data
$
(no response)

There are no errors in /var/log/pgsql either, so I have absolutely no
idea how to troubleshoot :-(

-- Mitch

Re: PG versus FreeBSD, startup and connections problems

From
Mark Kirkwood
Date:

Mitch Pirtle wrote:

>1) freebsd will only let PostgreSQL have 38 connections at a time,
>regardless of kernel settings or postgresql.conf settings. Where
>exactly (and how, exactly) does one remedy that problem?
>
>
>
What version of FreeBSD is the box running?
Generally you need to change semaphores and shared memory settings, e.g.
for 5.x or late 4.x :

in /etc/sysctl.conf :
kern.ipc.shmmax=100000000
kern.ipc.shmall=32768
(can be set online using systcl -w)

Semaphores need to be set in /boot/loader.conf
kern.ipc.semmni=256
kern.ipc.semmns=256
(can typed at the loader prompt using set)

These settings should let you have ~100 connections and use about 100M
of shared memory for shared_buffers.

Early 4.x (I think)  and before will need a kernel rebuild, see
http://www.postgresql.org/docs/7.4/static/kernel-resources.html#SYSVIPC

>2) As of this morning, the machine was down again, this time apache
>fired up normally but pg refuses to start - without errors. When I
>start with postmaster on the CLI I also get no errors, just no
>postmaster. Why am I not seeing the errors, is this a FreeBSD or
>PostgreSQL issue?
>
>For example:
>
>$ pg_ctl start
>postmaster successfully started
>$ pg_ctl status
>pg_ctl: postmaster or postgres not running
>
>OR:
>
>$ postmaster -D /usr/local/pgsql/data
>$
>(no response)
>
>
>
BTW - What version of Pg are you using?
Check your postgresql.conf to see if all the output is going to syslog, e.g,
syslog=2
If not, then unfortunately it is possible that whatever is causing the
machine to be unstable has corrupted the data directory (so ...err...
restore time). Starting the postmaster in debug mode will provide more
output:
$ postmaster -d 5
Additionally utilitites like 'strace' will give you a bit more info
about where the startup process gets to.

Do you know why the box went down? The freebsd-bugs or freebsd-stable
list will help with respect to Freebsd crashing, see
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL

regards

Mark




Re: PG versus FreeBSD, startup and connections problems

From
Mitch Pirtle
Date:
Just a quick shout-out to Mark, as you provided the winning answer. I
found numerous mailing list discussions and web pages, but all were
either fragmented or out of date.

Again, many thanks!

-- Mitch

On Wed, 26 Jan 2005 10:08:58 +1300, Mark Kirkwood <markir@coretech.co.nz> wrote:
>
> in /etc/sysctl.conf :
> kern.ipc.shmmax=100000000
> kern.ipc.shmall=32768
> (can be set online using systcl -w)
>
> Semaphores need to be set in /boot/loader.conf
> kern.ipc.semmni=256
> kern.ipc.semmns=256
> (can typed at the loader prompt using set)
>
> These settings should let you have ~100 connections and use about 100M
> of shared memory for shared_buffers.