« PostgreSQL/Utilisation » : différence entre les versions

m
<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267))
== Commandes de base ==
Une liste des commandes est disponible avec :
<sourcesyntaxhighlight lang="sql">
\?
</syntaxhighlight>
</source>
 
Par exemple, pour obtenir la liste des bases de données du serveur :
<sourcesyntaxhighlight lang="sql">
\l
</syntaxhighlight>
</source>
 
Se connecter à une base :
<sourcesyntaxhighlight lang="sql">
\c MaBase
</syntaxhighlight>
</source>
 
Obtenir la liste des schémas :
<sourcesyntaxhighlight lang="sql">
\dn
</syntaxhighlight>
</source>
 
Lister toutes les tables de tous les schémas :
<sourcesyntaxhighlight lang="sql">
\dt *.*
</syntaxhighlight>
</source>
 
Restreindre à toutes les tables d'un schéma :
<sourcesyntaxhighlight lang="sql">
\dt MaBase.*
</syntaxhighlight>
</source>
 
Voir les champs d'une table :
<sourcesyntaxhighlight lang="sql">
\d MaTable
</syntaxhighlight>
</source>
 
== Création de base ==
 
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 :
<sourcesyntaxhighlight lang="sql">
CREATE DATABASE "WikibooksDB"
WITH ENCODING='UTF8'
CONNECTION LIMIT=-1;
</syntaxhighlight>
</source>
 
Une fois la base sélectionnée, les boutons suivants se dégrisent :
=== Ligne de commande (Shell) ===
Via le terminal, 2 choix apparaissent, soit écrire directement dans le shell:
<syntaxhighlight>
<source>
createdb nom_database
</syntaxhighlight>
</source>
 
Soit, il faudra d'abord se mettre sous le user ''postgres''. Cela se fait tout simplement de la manière suivante:
<syntaxhighlight>
<source>
su postgres
</syntaxhighlight>
</source>
Puis, lancer PostgreSQL:
<syntaxhighlight>
<source>
psql
</syntaxhighlight>
</source>
Et ensuite créer une base de données en écrivant:
<sourcesyntaxhighlight lang="sql">
CREATE DATABASE nom_database;
-- Ou, pour ajouter la base de données pour un utilisateur spécifique:
CREATE DATABASE nom_database OWNER nom_utilisateur;
</syntaxhighlight>
</source>
 
Pour s'y connecter, entrer simplement dans le terminal:
<sourcesyntaxhighlight lang="c">
psql nom_database
// Ou, pour s'y connecter avec un utilisateur spécifique:
psql -d nom_database -U nom_utilisateur
</syntaxhighlight>
</source>
 
== Création de table ==
 
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 à :
<sourcesyntaxhighlight lang="sql">
CREATE TABLE Livres (
id integer CONSTRAINT firstkey PRIMARY KEY,
titre varchar(255) NOT NULL
);
</syntaxhighlight>
</source>
 
=== Ligne de commande (Shell) ===
 
Après s’être connecté à une base de données, il suffira d'écrire:
<sourcesyntaxhighlight lang="sql">
CREATE TABLE Livres (
id integer CONSTRAINT firstkey PRIMARY KEY,
titre varchar(255) NOT NULL
);
</syntaxhighlight>
</source>
''L’indentation en ligne de commande est purement optionnelle, les instructions entrées ne seront que traitées après le'' ''';''' ''final.''
 
=== 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 :
<sourcesyntaxhighlight 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
</syntaxhighlight>
</source>
 
Restauration d'un fichier plat :
<sourcesyntaxhighlight lang=dos>
"C:\Program Files\PostgreSQL\bin\psql.exe" -U Utilisateur1 MaBase1 < "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql"
</syntaxhighlight>
</source>
 
Restauration d'un fichier compressé :
<sourcesyntaxhighlight lang=dos>
"C:\Program Files\PostgreSQL\bin\pg_restore.exe" -U Utilisateur1 "\\192.168.1.2\d$\Backup\2016-07-15-MaBase1.sql"
</syntaxhighlight>
</source>
 
=== Linux ===
Sauvegarde :
<sourcesyntaxhighlight lang=bash>
$ pg_dump --dbname=finance --username=boss --file=finance.sql
</syntaxhighlight>
</source>
Restauration :
<sourcesyntaxhighlight lang=bash>
$ psql --dbname=finance_x --username=boss <finance.sql
</syntaxhighlight>
</source>
 
== Références ==
1 535

modifications