HOW TO initialize PostgreSQL server
- These instructions are appropriate for the multi-user mode of the LexDb. They should also work for single user mode, but single user mode allows for a set up where the user is the database owner. Multi-user mode requires that the database users postgres and lexdb are set up as described below.
- PostgreSQL server version 8.0 or above must be running either on the local machine or remotely over a TCP/IP port. You should set the database locale to C; eg. use the –locale=C option when initializing the server with initdb, or select the C locale when prompted by the M$ Windows installer.
- Create user accounts.
- Configure access privileges.
- By default the server will run on port 5432. To use another port set the PSQL environment variable PGPORT.
- Restart PostgreSQL server.
Notes:
- Selecting a non-C locale hurts performance by disabling index optimizations for certain operators – see
http://www.postgresql.org/docs/8.0/static/charset.html. The environment variables LC_COLLATE and LC_CTYPE are recorded during server initialization and automatically adopted at server startup. It is perfectly safe to later select a different (non-C) locale when creating a database within the server.
Create User Accounts
- Ensure there exists a database user postgres with superuser privileges.
-
As the database superuser, create a database user lexdb who will manage the database:
- {{{ $ createuser -U postgres –createdb –no-adduser lexdb
CREATE USER}}}
- [Optional] If you wish to use password authentication add the -P option.
-
As the database superuser, create a user account for yourself (substitute your shell login for USERNAME below):
- {{{ $ createuser -U postgres –no-createdb –no-adduser USERNAME
CREATE USER}}}
- [Optional] If you wish to use password authentication add the -P option.
Configure Access Privileges
PostgreSQL server running on local machine
-
Ensure the access privilege configuration file pg_hba.conf is set appropriately. E.g.
- {{{# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust}}}
- [Optional] If you wish to use password authentication replace trust with md5.
PostgreSQL server on remote machine
-
Allow remote access to the server by adding lines of the following form to your pg_hba.conf file (replace IP_ADDRESS with the actual numbers):
- host all all IP_ADDRESS/32 md5
- It is advisable to require password authentication (ie. md5 instead of trust) for remote access.
- On a PostgreSQL 8 server, remote machines will not be able to connect unless you modify listen_addresses in the postgresql.conf file. (The value takes the form of a comma-separated list of host names and/or numeric IP addresses.)
Last update: 2011-10-09 by anonymous [edit]