Re: PgSQL74b2: initdb fails (max_connections)

Lists: pgsql-bugspgsql-patches
From: Janko Richter <jankorichter(at)yahoo(dot)de>
To: pgsql-bugs(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: PgSQL74b2: initdb fails (max_connections)
Date: 2003-09-03 08:00:25
Message-ID: 3F559F99.1040101@yahoo.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs pgsql-patches

On FreeBSD 5.1 using PgSQL 7.4b2 initdb failed with:

su-2.05b$ ./initdb -D /data/pgsql
The files belonging to this database system will be owned by user
"postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.

fixing permissions on existing directory /data/pgsql... ok
creating directory /data/pgsql/base... ok
creating directory /data/pgsql/global... ok
creating directory /data/pgsql/pg_xlog... ok
creating directory /data/pgsql/pg_clog... ok
selecting default shared_buffers... 1000
selecting default max_connections... 40
creating configuration files... ok
creating template1 database in /data/pgsql/base/1... ./postgres -boot
-x1 -F -D/data/pgsql template1
FATAL: could not create semaphores: No space left on device
DETAIL: Failed syscall was semget(4, 17, 03600).
HINT: This error does *not* mean that you have run out of disk space.
It occurs when either the system limit for the maximum number of
semaphore sets (SEMMNI), or the system wide maximum number of semaphores
(SEMMNS), would be exceeded. You need to raise the respective kernel
parameter. Alternatively, reduce PostgreSQL's consumption of semaphores
by reducing its max_connections parameter (currently 100).
The PostgreSQL documentation contains more information about configuring
your system for PostgreSQL.

initdb: failed

Why does initdb use max_connections=100, but "selecting default
max_connections" gives 40 ?

This patch solves the problem:

--- initdb.orig Wed Sep 3 09:49:01 2003
+++ initdb Wed Sep 3 09:50:38 2003
@@ -575,7 +575,7 @@
break
fi
done
-
+PGSQL_OPT="$PGSQL_OPT -c max_connections=$nconns"
echo "$nconns"

##########################################################################

Regards,
--
Janko Richter


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Janko Richter <jankorichter(at)yahoo(dot)de>
Cc: pgsql-bugs(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: Re: PgSQL74b2: initdb fails (max_connections)
Date: 2003-09-03 22:54:13
Message-ID: 200309032254.h83MsDG10602@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs pgsql-patches


We just fixed this so our next beta will be correct. CVS already has
the fix.

---------------------------------------------------------------------------

Janko Richter wrote:
> On FreeBSD 5.1 using PgSQL 7.4b2 initdb failed with:
>
> su-2.05b$ ./initdb -D /data/pgsql
> The files belonging to this database system will be owned by user
> "postgres".
> This user must also own the server process.
>
> The database cluster will be initialized with locale C.
>
> fixing permissions on existing directory /data/pgsql... ok
> creating directory /data/pgsql/base... ok
> creating directory /data/pgsql/global... ok
> creating directory /data/pgsql/pg_xlog... ok
> creating directory /data/pgsql/pg_clog... ok
> selecting default shared_buffers... 1000
> selecting default max_connections... 40
> creating configuration files... ok
> creating template1 database in /data/pgsql/base/1... ./postgres -boot
> -x1 -F -D/data/pgsql template1
> FATAL: could not create semaphores: No space left on device
> DETAIL: Failed syscall was semget(4, 17, 03600).
> HINT: This error does *not* mean that you have run out of disk space.
> It occurs when either the system limit for the maximum number of
> semaphore sets (SEMMNI), or the system wide maximum number of semaphores
> (SEMMNS), would be exceeded. You need to raise the respective kernel
> parameter. Alternatively, reduce PostgreSQL's consumption of semaphores
> by reducing its max_connections parameter (currently 100).
> The PostgreSQL documentation contains more information about configuring
> your system for PostgreSQL.
>
> initdb: failed
>
>
> Why does initdb use max_connections=100, but "selecting default
> max_connections" gives 40 ?
>
> This patch solves the problem:
>
> --- initdb.orig Wed Sep 3 09:49:01 2003
> +++ initdb Wed Sep 3 09:50:38 2003
> @@ -575,7 +575,7 @@
> break
> fi
> done
> -
> +PGSQL_OPT="$PGSQL_OPT -c max_connections=$nconns"
> echo "$nconns"
>
> ##########################################################################
>
>
>
>
> Regards,
> --
> Janko Richter
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Janko Richter <jankorichter(at)yahoo(dot)de>
Cc: pgsql-bugs(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: Re: PgSQL74b2: initdb fails (max_connections)
Date: 2003-09-04 02:35:45
Message-ID: 3832.1062642945@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs pgsql-patches

Janko Richter <jankorichter(at)yahoo(dot)de> writes:
> On FreeBSD 5.1 using PgSQL 7.4b2 initdb failed with:

Yeah, it's broken on any system with shmmax too small for the
defaults :-(. My fault.

> This patch solves the problem:

It's fixed in a different way in CVS tip.

regards, tom lane