Differences between revisions 18 and 20 (spanning 2 versions)
Revision 18 as of 2009-06-26 05:24:22
Size: 3359
Editor: ?AnttiM
Comment:
Revision 20 as of 2009-07-19 13:01:25
Size: 3475
Editor: ?MartinPitt
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
== Documentation ==

To get an overview about Debian's PostgreSQL architecture, instructions for a quick start, and pointers to the programs and manpages, have a look at `/usr/share/doc/postgresql-common/README.Debian.gz`.
Line 26: Line 30:
Log files: If you do not specifically change the log file options in 'postgresql.conf' configuration, the aforementioned pg_ctlcluster will set you up a log directory `/var/log/posgresql/` and names the log file with version and cluster i.e. `postgresql-[version]-[cluster].log`. Log files: Installing PostgreSQL creates log directory `/var/log/posgresql/`. Starting the database engine creates log file with name `postgresql-[version]-[cluster].log`.
Line 29: Line 33:
Debian PostgreSQL installation automatically calls the initdb i.e. it initializes the cluster with default encoding and locale. Encoding can be changed later but the locale cannot. To change the locale the initdb must be run again. To change the locale (an possibly other options in initdb) do the following: Debian PostgreSQL installation automatically calls the initdb i.e. it initializes the cluster with default encoding and locale. Encoding can be changed later but the locale cannot. To change the locale (an possibly other options in initdb), delete the existing default cluster and create a new one:
Line 31: Line 35:
 1. Move to data directory (`/var/lib/postgresql/[version]/[cluster]`)
 1. Delete everything within the data-directory: `# rm -fR *`
 1. Take postgres identity: `# su postgres`
 1. Run the initdb with your options: `# /usr/lib/postgresql/[version]/initdb -D /var/lib/postgresql/[version]/[cluster] [your other options]`
 1. Exit back to root.
 1. Start the server.
 1. `pg_dropcluster` ''version'' `main --stop`
 1. Run the initdb with your options: `pg_createcluster --locale de_DE.UTF-8` ''version'' `main --start`

'''Note'''! The previous operation obviously deletes everything you had in cluster databases. Perform this operation right after you have installed the base package. Check the PostgreSQL manual if you need to change locale for existing database (it is not trivial operation).
Line 41: Line 43:
## Auto-converted by kwiki2moinmoin v2005-10-07
DataBase
----
Line 46: Line 45:
 * [[http://www.debianhelp.co.uk/postgresql.htm|PostgreSQL in Debian Help]]  * [[http://www.debianhelp.co.uk/postgresql.htm|PostgreSQL in Debian Help web site]]

PostgreSQL has extensive and good help that should be the first source of information regarding this database product. This page outlines main differences to generic PostgreSQL installation used by Debian.


Installation

Required packages: postgresql postgresql-client
# aptitude install postgresql postgresql-client

Recommended packages:

  • postgresql-doc - PostgreSQL documentation.
  • pgadmin3 - PostgreSQL administration GUI.

Please note that the procedural languages are installed separately (plpgsql comes by default). Perform search packaging database to find the list of possibilities:
# aptitude search postgresql

Documentation

To get an overview about Debian's PostgreSQL architecture, instructions for a quick start, and pointers to the programs and manpages, have a look at /usr/share/doc/postgresql-common/README.Debian.gz.

pg_ctl replacement

pg_ctl is a PostgreSQL command line control program that can be used to control the database. Debian has made a Perl-wrapper for the pg_ctl called /usr/bin/pg_ctlcluster. Use the pg_ctlcluster whenever you need the pg_ctl. To customize the behavior check the /etc/postgresql/[version]/[cluster]/pg_ctl.conf

Debian installs SysV-init compatible (standard) start-up script /etc/init.d/postgresql-[version]. It can be used to start and stop the system as well. It calls pg_ctlcluster internally.

File locations

Debian splits the database configuration from the database files, opposed to generic PostgreSQL installation that puts everything under same directory. Note that Debian allows multiple clusters and even different versions of PostgreSQL to co-exist in same host.

Configuration files: /etc/postgresql/[version]/[cluster]/
Binaries: /usr/lib/postgresql/[version]
Data files: /var/lib/postgresql/[version]/[cluster]

Log files: Installing PostgreSQL creates log directory /var/log/posgresql/. Starting the database engine creates log file with name postgresql-[version]-[cluster].log.

Changing Debian default installation

Debian PostgreSQL installation automatically calls the initdb i.e. it initializes the cluster with default encoding and locale. Encoding can be changed later but the locale cannot. To change the locale (an possibly other options in initdb), delete the existing default cluster and create a new one:

  1. Take root privileges.
  2. pg_dropcluster version main --stop

  3. Run the initdb with your options: pg_createcluster --locale de_DE.UTF-8 version main --start

Note! The previous operation obviously deletes everything you had in cluster databases. Perform this operation right after you have installed the base package. Check the PostgreSQL manual if you need to change locale for existing database (it is not trivial operation).

Check the Locale page to see how to add more locales.


See: