Initialisation d’une instance Postgres

Note

Version de postgres utilisée : 8.4.2 sur Slackware 13.0 64 bits

Sécurisation de l’instance Postgres

Commencez par donner un mot de passe à votre compte postgres :

su postgres
psql -d postgres -c "ALTER USER postgres WITH PASSWORD '<password>'"

Puis éditer /var/lib/pgsql/data/pg_hba.conf pour remplacer les occurences de trust par md5 :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

S’il vous faut un accès depuis votre réseau à votre instance postgres :

# All local network
host    all         all         192.168.56.0/24        md5

Il vous faut aussi éditer le fichier /var/lib/pgsql/data/postgresql.conf et ajuster la valeur de listen_addresses.

Et redémarrer votre instance Postgres :

/etc/rc.d/rc.postgresql restart

Support UTF-8

Pour avoir le support de l’UTF-8 :

su postgres -c "initdb --locale=C --encoding=UTF-8 -D /var/lib/pgsql/data"

Création d’un compte utilisateur et d’une base

create user <user>
psql -d template1 -c "alter user <user> with password '<password>'"
createdb -O <user> -E UTF8 <dbname>

Redémarrer votre instance pour prise en compte du compte :

/etc/rc.d/rc.postgresql restart