Using PostgreSQL package in OpenBSD environment:
------------------------------------------------
If you are installing PostgreSQL for the first time, the following steps
required:
1. Create PostgreSQL user and group:
# adduser -batch pgsql "" "PostgreSQL pseudo-user" "*" \
-home /var -noconfig -group pgsql -shell nologin
2. Initialize PostgreSQL databases:
# install -d -o pgsql -g pgsql -m 755 /var/pgsql
# install -d -o pgsql -g pgsql -m 700 /var/pgsql/data
# pgwrap initdb
If you are upgrading PostgreSQL you don't need these steps. Read
@PREFIX@/share/doc/pgsql/INSTALL for more information on how to
upgrade your existing databases. See also `Special notes for OpenBSD
port' below.
If you wish to start PostgreSQL automatically during system startup,
add the following lines to /etc/rc.local:
if [ -x @PREFIX@/bin/pgwrap -a -x @PREFIX@/pgsql/bin/postmaster ]; \
then
@PREFIX@/bin/pgwrap -o /var/pgsql/log \
pg_ctl -w -o "-i -S -o -F" start
echo -n ' pgsql'
fi
Don't forget to add @PREFIX@/pgsql/lib directory to shared libraries path in
/etc/rc.conf (if your architecture supports shared libraries):
shlib_dirs="@PREFIX@/pgsql/lib"
Add @PREFIX@/pgsql/man to ${MANPATH} if you wish to use PostgreSQL
manual pages or update your /etc/man.conf:
#PostgreSQL man pages
_whatdb /usr/local/pgsql/man/whatis.db
_subdir manl
_build .l /usr/bin/nroff -man %s
_default /usr/local/pgsql/man/
pgsql /usr/local/pgsql/man/
1 /usr/local/pgsql/man/man1
l /usr/local/pgsql/man/manl
Please note that OpenBSD port of PostgreSQL requires a kernel compiled
with SYSVMSG, SYSVSEM and SYSVSHM options for proper operation.
The GENERIC kernel contains these options.
Special notes for OpenBSD port:
-------------------------------
OpenBSD port of PostgreSQL does NOT use shell startup files to
set up environment for postgres administrative programs (such as
initdb). This mean that you should use a wrapper program `pgwrap'
to run these programs instead of `su'. For example, you
should execute
# pgwrap initdb
instead of
# su -l pgsql -c 'exec initdb'
The `pgwrap' automatically sets up proper environment and permissions
for PostgreSQL programs. The syntax for `pgwrap' program is:
pgwrap [-n] [-o file] cmd [arg ...]
-n - Do not add @PREFIX@/pgsql/bin prefix to cmd.
-o file - Redirect stdout & atderr to file (write permissions
for `pgsql' user or group required).
`pgwrap' automatically sets up the following environment variables:
System variables (these variables are always set to the following values):
PATH=@PREFIX@/pgsql/bin:/bin:/usr/bin
USER=pgsql
LOGNAME=pgsql
SHELL=/bin/sh
HOME=/var/pgsql
PostgreSQL variables (these variables are set to the following values,
unless already set):
PGLIB=@PREFIX@/pgsql/lib
PGDATA=/var/pgsql/data
You must have root privilegies to run `pgwrap'.
$OpenBSD: README.OpenBSD.in,v 1.3 2000/05/23 16:31:41 form Exp $