58ca9acb21
bump PKGNAME where necessary rohee@ ok leafnode "you don't have to wait for oks" pval@
101 lines
3.1 KiB
Plaintext
101 lines
3.1 KiB
Plaintext
Requirements
|
|
------------
|
|
|
|
Please note that OpenBSD port of PostgreSQL requires a kernel
|
|
compiled with SYSVSEM and SYSVSHM options for proper operation.
|
|
The GENERIC kernel has these settings.
|
|
|
|
Using PostgreSQL in an OpenBSD environment
|
|
------------------------------------------
|
|
|
|
If you are installing PostgreSQL for the first time, the following
|
|
steps are required:
|
|
|
|
1. Create the PostgreSQL user and group:
|
|
|
|
# useradd -c "PostgreSQL Admin User" -g =uid -m -d /var/postgresql \
|
|
-s /bin/sh -u 503 _postgresql
|
|
|
|
2. su to the postgresql account and initialize the database:
|
|
|
|
# su - _postgresql
|
|
$ mkdir /var/postgresql/data
|
|
$ initdb -D /var/postgresql/data
|
|
|
|
If you are upgrading PostgreSQL then you may have a `pgsql' or `postgresql'
|
|
user. It is suggested that you follow the steps in
|
|
|
|
!!PREFIX!!/share/doc/postgresql/INSTALL
|
|
|
|
for more information on how to upgrade your existing databases. See
|
|
also `Special notes for OpenBSD port' below. Replace references to
|
|
the `postgresql' user below with `pgsql' or whatever other user you
|
|
have selected to be the database administration account.
|
|
|
|
Auto Start and Stop
|
|
-------------------
|
|
|
|
If you wish to start PostgreSQL automatically during system startup,
|
|
add the following lines to /etc/rc.local:
|
|
|
|
if [ -x !!PREFIX!!/bin/pg_ctl ]; then
|
|
su -l _postgresql -c "!!PREFIX!!/bin/pg_ctl start \
|
|
-D /var/postgresql/data -l /var/postgresql/logfile \
|
|
-o '-D /var/postgresql/data'"
|
|
echo -n ' postgresql'
|
|
fi
|
|
|
|
To automatically shutdown the database as part of the system shutdown,
|
|
add the following lines to /etc/rc.shutdown:
|
|
|
|
if [ -f /var/postgresql/data/postmaster.pid ]; then
|
|
su -l _postgresql -c "!!PREFIX!!/bin/pg_ctl stop -m fast \
|
|
-D /var/postgresql/data"
|
|
rm -f /var/postgresql/data/postmaster.pid
|
|
fi
|
|
|
|
Network Connections and Tuning
|
|
------------------------------
|
|
|
|
To allow connections over TCP (and other options) edit the file:
|
|
|
|
/var/postgresql/data/postgresql.conf
|
|
|
|
and also edit the pg_hba.conf (in the same directory) making the
|
|
appropriate changes to allow connection from your network.
|
|
|
|
The default sizes in the GENERIC kernel for SysV semaphores
|
|
are not really large enough for a database with more than a
|
|
handful of connections. A server running such a database should
|
|
have at least the following:
|
|
|
|
option SEMMNI=256
|
|
option SEMMNS=2048
|
|
|
|
To serve a large number of connections (>250), you may also need
|
|
to increase the maximum shared memory segment size, on the i386
|
|
try:
|
|
|
|
option SHMMAXPGS=4096 # default on i386 is 2048 = 8Mb
|
|
# other archs may vary
|
|
|
|
These numbers should be tweaked depending on system use. See
|
|
options(4) and release(8) manual pages and the FAQ at
|
|
http://www.openbsd.org/faq/faq5.html describe how to compile
|
|
a new custom kernel.
|
|
|
|
The ulimit settings can also be a problem. The following can be
|
|
added for the postgresql user in the /etc/login.conf file:
|
|
|
|
postgresql:\
|
|
:maxproc-max=256:\
|
|
:maxproc-cur=256:\
|
|
:openfiles-cur=768:\
|
|
:datasize-max=256M:\
|
|
:datasize-cur=64M:\
|
|
:stacksize-cur=4M:
|
|
|
|
For more than about 250 connections, these numbers should be
|
|
increased. Please report any changes and experiences to the package
|
|
maintainers so that we can update this file for future versions.
|