Installing a PostgreSQL Server under NetBSD is pretty easy. The recommended way is to install the prebuilt postgresql binaries. The PostgreSQL Server depends on the postgreSQL Client.
[4]:
**Contents**
[[!toc levels=3]]
# Setting PKG_PATH
Setting PKG_PATH enables us to easily download and install packages and it's dependencies.
# export PKG_PATH=https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/$(uname -r)/All/
or if you are using csh:
# setenv PKG_PATH https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/$(uname -r)/All/
You should keep this in your .profile, .bash_profile, if you mainly using binaries.
# Installing the PostgreSQL Server
# pkg_add -v postgresql92-server
This will install the postgresql client and the server and any missing dependency (readline, perl) and will add the user **pgsql** to your user database.
That's it. Almost.
# Configuring the Server
Please copy the pgsql example script to /etc/rc.d/
# cp /usr/pkg/share/examples/rc.d/pgsql /etc/rc.d
If you want to keep the database cluster other place than the default location, just change the user **pgsql'**s home directory, before proceeding to the initialisation:
# usermod -d /var/db/pgsql pgsql
This directory must be owned by pgsql:pgsql.
and then
# Starting the Server
If you want to initialise the database with a local other than "C", for example with unicode, invoke this before starting postgresql for the first time:
# /etc/rc.d/pgsql initdb -E unicode
please start the server entering:
# /etc/rc.d/pgsql start
This will create all necessary initial databases on the first start.
# Start on every boot
To start the server on every boot add
pgsql=yes
to your /etc/rc.conf
# Creating an example Database
To create a database switch to the user pgsql
# createdb -e -h 127.0.0.1 -U pgsql newdbname
and create the database
$ createdb testdb
$ exit
# Using the Database
Postgres provides a Tool to manage the Database called **psql**.
# psql -U pgsql testdb
Welcome to psql 8.0.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
testdb=#
# PHP and PostgreSQL
You may wish to install the postgres Module for PHP, e.g. for PHP 7.0 use:
# pkg_add -v php70-pgsql
Have fun.
# Additional Information
* [pkg_add(1)](http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current) Manpage
* [su(1)](http://netbsd.gw.com/cgi-bin/man-cgi?su+1+NetBSD-current) Manpage
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb