PostgreSQL/Installation
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.
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 :
Importer un dump
[modifier | modifier le wikicode]En shell[3] :
psql -h hostname -d databasename -U username -f mon_dump.sql
Dans la console SQL :
\i C:/database/mon_dump.sql