Re: PostgreSQL BSDI BSD/OS port - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: PostgreSQL BSDI BSD/OS port |
Date | |
Msg-id | 200007101849.OAA00121@candle.pha.pa.us Whole thread Raw |
In response to | PostgreSQL BSDI BSD/OS port ("David J. MacKenzie" <djm@web.us.uu.net>) |
List | pgsql-patches |
This has been applied the the current development tree. Thanks. > Your name : David MacKenzie > Your email address : djm@web.us.uu.net > > > System Configuration > --------------------- > Architecture (example: Intel Pentium) : Intel x86 > > Operating System (example: Linux 2.0.26 ELF) : BSD/OS 4.0.1 > > PostgreSQL version (example: PostgreSQL-7.0): PostgreSQL-7.0.2 > > Compiler used (example: gcc 2.8.0) : gcc version 2.7.2.1 > > > Please enter a FULL description of your problem: > ------------------------------------------------ > > Here are some corrections for the BSD/OS port. BSD/OS doesn't define > LC_MESSAGES, so that needs to be ifdef'd, and the kernel tuning > parameters are incomplete and suboptimal. > > Index: src/backend/utils/adt/pg_locale.c > =================================================================== > RCS file: /export/src/CVS/usr.local/bin/postgresql-7.0/src/backend/utils/adt/pg_locale.c,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -c -r1.1 -r1.2 > *** src/backend/utils/adt/pg_locale.c 2000/06/30 21:15:43 1.1 > --- src/backend/utils/adt/pg_locale.c 2000/06/30 22:51:00 1.2 > *************** > *** 40,46 **** > --- 40,48 ---- > lc->lc_time = setlocale(LC_TIME, NULL); > lc->lc_collate = setlocale(LC_COLLATE, NULL); > lc->lc_monetary = setlocale(LC_MONETARY, NULL); > + #ifdef LC_MESSAGES > lc->lc_messages = setlocale(LC_MESSAGES, NULL); > + #endif /* LC_MESSAGES */ > > return lc; > } > *************** > *** 62,68 **** > --- 64,74 ---- > lc->lc_time, > lc->lc_collate, > lc->lc_monetary, > + #ifdef LC_MESSAGES > lc->lc_messages > + #else /* LC_MESSAGES */ > + "unimplemented" > + #endif /* LC_MESSAGES */ > ); > > return lc; > *************** > *** 92,99 **** > --- 98,107 ---- > if (!setlocale(LC_MONETARY, lc->lc_monetary)) > elog(NOTICE, "pg_setlocale(): 'LC_MONETARY=%s' cannot be honored.", lc->lc_monetary); > > + #ifdef LC_MESSAGES > if (!setlocale(LC_MESSAGES, lc->lc_messages)) > elog(NOTICE, "pg_setlocale(): 'LC_MESSAGE=%s' cannot be honored.", lc->lc_messages); > + #endif /* LC_MESSAGES */ > > return lc; > } > Index: doc/FAQ_BSDI > =================================================================== > RCS file: /export/src/CVS/usr.local/bin/postgresql-7.0/doc/FAQ_BSDI,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -c -r1.1 -r1.2 > *** doc/FAQ_BSDI 2000/06/30 21:15:35 1.1 > --- doc/FAQ_BSDI 2000/07/07 14:23:18 1.2 > *************** > *** 8,19 **** > --- 8,56 ---- > > --------------------------------------------------------------------------- > > + You may need to increase the number of sysv semaphores. > + PostgreSQL 7 allowing the default number of backend connections > + allocates 32 semaphores, which is just over half the default system > + total of 60. > + > + The defaults are in /sys/sys/sem.h: > + > + /* Configuration parameters */ > + #ifndef SEMMNI > + #define SEMMNI 10 /* # of semaphore identifiers */ > + #endif > + #ifndef SEMMNS > + #define SEMMNS 60 /* # of semaphores in system */ > + #endif > + #ifndef SEMUME > + #define SEMUME 10 /* max # of undo entries per process */ > + #endif > + #ifndef SEMMNU > + #define SEMMNU 30 /* # of undo structures in system */ > + #endif > + > + Set the values you want in your kernel config file, e.g.: > + > + options "SEMMNI=40" > + options "SEMMNS=240" > + options "SEMUME=40" > + options "SEMMNU=120" > + > + --------------------------------------------------------------------------- > + > Increase SHMMAXPGS by 1024 for every additional 4MB of shared > memory: > > /sys/sys/shm.h:69:#define SHMMAXPGS 1024 /* max hardware pages... > > The default setting of 1024 is for a maximum of 4MB of shared memory. > + PostgresSQL 7 allowing the default number of backend connections > + allocates about 1.2MB of shared memory. > + > + Enclose the above line with "#ifndef SHMMAXPGS" and "#endif", and in > + your kernel config file set the desired value, e.g.: > + > + options "SHMMAXPGS=8192" > > For those running 4.1 or later, just recompile the kernel and reboot. > For those running earlier releases, there are more steps outlined below. > *************** > *** 24,34 **** > This is computed dynamically at bootup. > > $ bpatch -r sysptsize > ! 0x9 = 9 > > ! Next, change SYSPTSIZE to a hard-coded value. Use the bpatch value, > ! plus add 1 for every additional 4MB of shared memory you desire. > > /sys/i386/i386/i386_param.c:28:#define SYSPTSIZE 0 /* dynamically... > > sysptsize can not be changed by sysctl on the fly. > --- 61,77 ---- > This is computed dynamically at bootup. > > $ bpatch -r sysptsize > ! 0x16 = 22 > > ! Set SYSPTSIZE in your kernel config file, e.g.: > > + options "SYSPTSIZE=29" > + > + Use the bpatch value, plus add 1 for every additional 4MB of shared > + memory you desire. For reference, the default is set here: > + > /sys/i386/i386/i386_param.c:28:#define SYSPTSIZE 0 /* dynamically... > > sysptsize can not be changed by sysctl on the fly. > + > + --------------------------------------------------------------------------- > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
pgsql-patches by date: