PostgreSQL/Installation

Mise en place du logiciel

modifier

Machine hôte

modifier

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.

 

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

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

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

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

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

 
pgAdmin
 
PhpPgAdmin

Importer un dump

modifier

En shell[3] :

psql -h hostname -d databasename -U username -f mon_dump.sql

Dans la console SQL :

\i C:/database/mon_dump.sql

Références

modifier