PostgreSQL/Installation

Un livre de Wikilivres.

Mise en place du logiciel[modifier | modifier le wikicode]

Machine hôte[modifier | modifier le wikicode]

PostgreSQL est un logiciel libre multiplateforme, il se télécharge sur http://www.postgresql.org/download/.

Sur Ubuntu c'est le paquet :

sudo apt-get install postgresql

Une fois installé, il écoute le port 5432.

Pour administrer les bases, il est fournit avec le client lourd pgAdmin, mais il existe aussi une interface web appelée PhpPgAdmin.

Le site officiel fournit une longue documentation en français : http://docs.postgresqlfr.org/. C'est pourquoi ce livre se veut le plus pratique possible.

Logo

PostgreSQL se lance ensuite automatiquement à chaque démarrage de la machine, ce qui la ralentit significativement.

Pour éviter cela :

  • Dans Linux, on peut déplacer /etc/init.d/postgresql.
  • Dans Windows, exécuter services.msc, puis passer le service postgresql en démarrage manuel. Ensuite pour lancer le service à souhait (en tant qu'administrateur), créer un script PostgreSQL.cmd contenant le nom du service, par exemple :
net start postgresql-x64-9.5
pause
net stop postgresql-x64-9.5

Docker[modifier | modifier le wikicode]

Dans Docker compose :

   postgres:
       image: 'postgres'
       environment:
           TZ: Europe/Paris
           POSTGRES_USER: 'root'
           POSTGRES_PASSWORD: "${DB_ROOT_PASSWORD}"
           POSTGRES_DB: 'root'
       ports:
           - "5432:5432"
   pgadmin:
       image: dpage/pgadmin4
       depends_on:
           - postgres
       environment:
           PGADMIN_DEFAULT_EMAIL: "${ADMIN_EMAIL}"
           PGADMIN_DEFAULT_PASSWORD: "${ADMIN_PASSWORD}"
       ports:
           - "8889:80"

Utilisation en shell via psql[modifier | modifier le wikicode]

Exemple pour choisir l'utilisateur à connecter en tapant son mot de passe[1] :

psql -U superadmin -W

Options les plus courantes :

  • --username (-U)
  • --host (-h) : si la base est sur un autre serveur, il faut le préciser avec.
  • --port (-p)
  • --dbname (-d)

Se connecter sans prompt[modifier | modifier le wikicode]

Voici un exemple sans interaction de demande de mot de passe :

psql postgresql://my_user:my_password@my_postgres_server/my_database

Sinon, les accès peuvent aussi être stockés dans un fichier ~/.pgpass[2] :

echo "my_postgres_server:5432:my_database:my_user:my_password" >> ~/.pgpass && chmod 0600 ~/.pgpass

Utilisation par l'interface pgAdmin[modifier | modifier le wikicode]

Lancer le raccourci pgAdmin III fournit une interface complète de manipulation du SGBD :

pgAdmin
PhpPgAdmin

Références[modifier | modifier le wikicode]