A few problems came up with 7.1CVS for i86 OpenBSD.  Here is a writeup on
what I learned and how I solved the problems.

- Brandon

b. palmer,  [EMAIL PROTECTED]
pgp:  www.crimelabs.net/bpalmer.pgp5
Added gmake and gettext. (if you don't have it)
Added bison and replaced /usr/bin/yacc with /usr/local/bin/bison

get source (make sure you don't ./configure before you update yacc)

(these above points should ONLY effect the CVS version,  not a 
  snapshot)

./configure
gmake

gmake check


 - fast make check 
 failed when I had too much else going on. (too many other postgres 
  owned apps).  On a fast machine,  this will really break fast since
  some of the postgres instances don't return before others start up
  and we hit max process (64).

 edited:
   /etc/login.conf

 Changed:
   default:\
        :maxproc-max=128:\
        :maxproc-cur=64:\
        :openfiles-cur=64:\

 to
   default:\
        :maxproc-max=256:\
        :maxproc-cur=256:\
        :openfiles-cur=256:\

 Be warned,  however,  this this could cause other problems on the machine.  
  Now other processes will get locked out and will no be able to run.  This 
  is a safe high number for a box that is ONLY RUNNING POSTGRESQL.  Tweak 
  as necessary.
  
 - make check with postmaster running (on a non 5432 port)

 This bombs with:

  pgql: connectDBStart() -- connect() failed: No such file or directory
        Is the postmaster running locally
        and accepting connections on Unix socket '/tmp/.s.PGSQL.65432'?
  createdb: database creation failed
  pg_regress: createdb failed

 When I am running the regression test and I try to start up postmaster,  
  I get:

  $ bin/postmaster -p 5555 -i -D data 
  IpcSemaphoreCreate: semget(key=5555002, num=17, 03600) failed: No space 
   left on device

  This error does *not* mean that you have run out of disk space.

  It occurs either because 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.  Look into the PostgreSQL documentation
  for details.

 Time to change this in the kernel.

 I added the following 2 lines to a 'GEN.postgres' config (just copied 
  GENERAL to the new name):

  option          SEMMNI=256 
  option          SEMMNS=2048

 and recompiled the kernel.

 Using these settings I am able to run 6 instances of postmaster on
  a celeron 300 w/ 96M ram before seeing that problem arise again.  


                             **********
  Note that once those 6 are running,  make check will again break 
  since it will not be able to have enough SEMMNI/SEMMNS. Also,  
  please note that though 6 are running, we have no idea how many 
  files are open and how this will effect the function of client 
  connections,  etc. (5 postmasters + make check DID with this
  setup on my machine)
                             **********

 Please mail me any other information that any other people come up
  with regarding this problem (like what SEMMNI/SEMMNS and ulimits
  cap out at, etc).

 Brandon Palmer
 [EMAIL PROTECTED]

Reply via email to