PostgreSQL
De Diablotins.org.
|
Installation de PostgreSQL
PostgreSQl est un SGBD relationnel intégralement compatible SQL92. Il reprend les fonctionnalités de Oracle et comme lui, contient des procedures stockés en PL/SQL, des transactions, une structuration objet, des ACL;
mais en plus, il permet des langages procéduraux tel que Perl et Ruby.
Sommaire |
Installation
Installez le port “databases/postgresql73-server”.
Pour que PostgreSQL puisse fonctionner, il faut initialiser une première base de données «Template0» comme ombre et sa première base héritée : «Template1».
Ces bases servirons à initialiser et créer les autres bases par héritage dans le sens et la définition objet du terme.
On réalise cette initialisation par :
$ sudo -s # sudo -u pgsql initdb -D '/usr/local/pgsql/data'
ou
$ su - # su pgsql $ initdb -D '/usr/local/pgsql/data'
puis
# /usr/local/etc/rc.d/010.pgsql.sh start
On peut tester l'initialisation via :
# sudo -u pgsql psql template1
Lancement
On lance PostgreSQL via le script RC:
$ su -
ou
$ sudo bash
puis
# /usr/local/etc/rc.d/010.pgsql.sh start
Il s'arrête donc par :
# /usr/local/etc/rc.d/010.pgsql.sh stop
Configuration
Le fichier de configuration de PostgreSQL est : “/usr/local/pgsql/data/postgresql.conf”.
Vérifiez les entrées suivantes :
# vi /usr/local/pgsql/data/postgresql.conf -- [...] tcpip_socket = true port = 5432 [...]
Ces lignes servent à permettre l'accès réseaux au serveur.
pg_hba.conf
Le fichier “/usr/local/pgsql/data/pg_hba.conf” sert à limiter les accès user/host et leur authentification sur le serveur PostgreSQL;
bien-sûr, ici la configuration dépend de votre topologie, mais si on on considèrent votre réseau RFC 1918 192.168.1.0/24 ou chaque machine doit pouvoir s'authentifier sur le serveur par mot de passe crypté et un accès sans mot de passe en local, on obtient les entrées:
# vi /usr/local/pgsql/data/pg_hba.conf -- [...] local all all trust host all all 192.168.1.0 255.255.255.0 crypt host all all 127.0.0.1 255.255.255.255 trust [...]
Création de la première base et du premier utilisateur
On se connecte sur la base Template1, on crée la base et on crée un utilisateur correspondant à votre utilisateur UNIX :
# sudo -u pgsql psql template1 > CREATE DATABASE MABASE; > CREATE USER lecid WITH PASSWORD 'monpass' CREATEDB CREATEUSER VALID UNTIL 'infinity';

