PostgreSQL

De Diablotins.org.


Image:brush.png

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 portdatabases/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';
Projets :