« PostgreSQL/Utilisation » : différence entre les versions
m <source> -> <syntaxhighlight> (phab:T237267) |
|||
Ligne 57 : | Ligne 57 : | ||
=== Ligne de commande (Shell) === |
=== Ligne de commande (Shell) === |
||
Via le terminal, 2 choix apparaissent, soit écrire directement dans le shell: |
Via le terminal, 2 choix apparaissent, soit écrire directement dans le shell: |
||
<syntaxhighlight> |
<syntaxhighlight lang="bash"> |
||
createdb nom_database |
createdb nom_database |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Soit, il faudra d'abord se mettre sous le user ''postgres''. Cela se fait tout simplement de la manière suivante: |
Soit, il faudra d'abord se mettre sous le user ''postgres''. Cela se fait tout simplement de la manière suivante: |
||
<syntaxhighlight> |
<syntaxhighlight lang="bash"> |
||
su postgres |
su postgres |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Puis, lancer PostgreSQL: |
Puis, lancer PostgreSQL: |
||
<syntaxhighlight> |
<syntaxhighlight lang="bash"> |
||
psql |
psql |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Ligne 77 : | Ligne 77 : | ||
Pour s'y connecter, entrer simplement dans le terminal: |
Pour s'y connecter, entrer simplement dans le terminal: |
||
<syntaxhighlight lang=" |
<syntaxhighlight lang="bash"> |
||
psql nom_database |
psql nom_database |
||
# Ou, pour s'y connecter avec un utilisateur spécifique: |
|||
psql -d nom_database -U nom_utilisateur |
psql -d nom_database -U nom_utilisateur |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Ligne 109 : | Ligne 109 : | ||
=== Windows === |
=== Windows === |
||
Pour définir un batch de backup quotidien, utiliser pg_dump.exe<ref>http://www.postgresql.org/docs/8.3/static/app-pgdump.html</ref> en DOS. Par exemple, la commande suivante envoie un dump au format "aaaa-mm-jj-NomDeLaBase.sql" sur un serveur du réseau : |
Pour définir un batch de backup quotidien, utiliser pg_dump.exe<ref>http://www.postgresql.org/docs/8.3/static/app-pgdump.html</ref> en DOS. Par exemple, la commande suivante envoie un dump au format "aaaa-mm-jj-NomDeLaBase.sql" sur un serveur du réseau : |
||
<syntaxhighlight lang=dos> |
<syntaxhighlight lang="dos"> |
||
"C:\Program Files\PostgreSQL\bin\pg_dump.exe" -U Utilisateur1 -f "\\192.168.1.2\d$\Backup\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%-MaBase1.sql" MaBase1 |
"C:\Program Files\PostgreSQL\bin\pg_dump.exe" -U Utilisateur1 -f "\\192.168.1.2\d$\Backup\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%-MaBase1.sql" MaBase1 |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Restauration d'un fichier plat : |
Restauration d'un fichier plat : |
||
<syntaxhighlight lang=dos> |
<syntaxhighlight lang="dos"> |
||
"C:\Program Files\PostgreSQL\bin\psql.exe" -U Utilisateur1 MaBase1 < "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql" |
"C:\Program Files\PostgreSQL\bin\psql.exe" -U Utilisateur1 MaBase1 < "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql" |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Restauration d'un fichier compressé : |
Restauration d'un fichier compressé : |
||
<syntaxhighlight lang=dos> |
<syntaxhighlight lang="dos"> |
||
"C:\Program Files\PostgreSQL\bin\pg_restore.exe" -U Utilisateur1 "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql" |
"C:\Program Files\PostgreSQL\bin\pg_restore.exe" -U Utilisateur1 "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql" |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Ligne 125 : | Ligne 125 : | ||
=== Linux === |
=== Linux === |
||
Sauvegarde : |
Sauvegarde : |
||
<syntaxhighlight lang=bash> |
<syntaxhighlight lang="bash"> |
||
$ pg_dump --dbname=finance --username=boss --file=finance.sql |
$ pg_dump --dbname=finance --username=boss --file=finance.sql |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Restauration : |
Restauration : |
||
<syntaxhighlight lang=bash> |
<syntaxhighlight lang="bash"> |
||
$ psql --dbname=finance_x --username=boss <finance.sql |
$ psql --dbname=finance_x --username=boss <finance.sql |
||
</syntaxhighlight> |
</syntaxhighlight> |
Version du 19 avril 2020 à 10:57
Commandes de base
Une liste des commandes est disponible avec :
\?
Par exemple, pour obtenir la liste des bases de données du serveur :
\l
Se connecter à une base :
\c MaBase
Obtenir la liste des schémas :
\dn
Lister toutes les tables de tous les schémas :
\dt *.*
Restreindre à toutes les tables d'un schéma :
\dt MaBase.*
Voir les champs d'une table :
\d MaTable
Création de base
GUI pgAdmin
Dans pgAdmin, les commandes SQL sont disponibles dans l'icône de puzzle "PSQL console".
Par ailleurs, un clic droit sur le menu "Bases de données" à gauche, permet d'accéder à l'option "Ajouter une base de données". Cette dernière affiche dans un onglet "SQL" son équivalent en code :
CREATE DATABASE "WikibooksDB"
WITH ENCODING='UTF8'
CONNECTION LIMIT=-1;
Une fois la base sélectionnée, les boutons suivants se dégrisent :
- Affiche/éditer les propriétés de l'objet sélectionné.
- Supprimer l'objet sélectionné.
- SQL (un éditeur de requête).
- Maintenir la base ou la table courante.
Ligne de commande (Shell)
Via le terminal, 2 choix apparaissent, soit écrire directement dans le shell:
createdb nom_database
Soit, il faudra d'abord se mettre sous le user postgres. Cela se fait tout simplement de la manière suivante:
su postgres
Puis, lancer PostgreSQL:
psql
Et ensuite créer une base de données en écrivant:
CREATE DATABASE nom_database;
-- Ou, pour ajouter la base de données pour un utilisateur spécifique:
CREATE DATABASE nom_database OWNER nom_utilisateur;
Pour s'y connecter, entrer simplement dans le terminal:
psql nom_database
# Ou, pour s'y connecter avec un utilisateur spécifique:
psql -d nom_database -U nom_utilisateur
Création de table
GUI pgAdmin
En dépliant le schéma public à gauche, un clic droit sur le menu "Table", "Ajouter table", il devient possible de remplir les différents onglets nécessaires. Cela équivaut en SQL à :
CREATE TABLE Livres (
id integer CONSTRAINT firstkey PRIMARY KEY,
titre varchar(255) NOT NULL
);
Ligne de commande (Shell)
Après s’être connecté à une base de données, il suffira d'écrire:
CREATE TABLE Livres (
id integer CONSTRAINT firstkey PRIMARY KEY,
titre varchar(255) NOT NULL
);
L’indentation en ligne de commande est purement optionnelle, les instructions entrées ne seront que traitées après le ; final.
Sauvegardes
Windows
Pour définir un batch de backup quotidien, utiliser pg_dump.exe[1] en DOS. Par exemple, la commande suivante envoie un dump au format "aaaa-mm-jj-NomDeLaBase.sql" sur un serveur du réseau :
"C:\Program Files\PostgreSQL\bin\pg_dump.exe" -U Utilisateur1 -f "\\192.168.1.2\d$\Backup\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%-MaBase1.sql" MaBase1
Restauration d'un fichier plat :
"C:\Program Files\PostgreSQL\bin\psql.exe" -U Utilisateur1 MaBase1 < "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql"
Restauration d'un fichier compressé :
"C:\Program Files\PostgreSQL\bin\pg_restore.exe" -U Utilisateur1 "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql"
Linux
Sauvegarde :
$ pg_dump --dbname=finance --username=boss --file=finance.sql
Restauration :
$ psql --dbname=finance_x --username=boss <finance.sql