[PostgreSQL] Quelques infos en vrac ..

 

Quelques infos en vrac ..

 

 


Structure de Postgresql (Fait depuis Draw.io)

Le schéma par défaut s’appelle Public.
Il est possible de créer plusieurs schéma au sein même d’une bdd.

 


/!\ Infos utiles

. Lors de la première connexion a Postgres, la DB par défaut est celle de Postgres.

. Le prompt:

. Un utilisateur ne peux créer/renommer/supprimer une database.

 


Créer, modifier, supprimer une base de données

Création de la DB

 

Modification du nom de la DB

 

Supprimer la DB

 

Pour lister les db’s

 

Se connecter a une autre db depuis posgresql

 

Se connecter a une autre db avec un autre utilisateur depuis posgresql

 


Créer, modifier, supprimer un schéma

Création d’un schéma

 

Modification du nom d’un schéma

Pour lister les schémas

 

Pour connaître le schéma en cours

ou

 

Pour changer le schéma par défaut

 

Supprimer un schéma vide

 

Supprimer un schéma et toutes ces tables
/!\ Il faut re-séter un schéma ou quitter la session pour retrouver un schéma par défaut (Public).

 


Créer, modifier, supprimer une table

Création de la table

/!\ La table est constitué de colonne et est un pré-requis a la création.

 

Pour lister les tables

Voir la description d’une table

 

Modification du nom de la table

 

Supprimer une table

/!\ Info pour la création d’une table

 


Insérer des données dans une table

Dans l’exemple, insérer des données en respectant le nombre de colonne.
/!\ Un champ ne peut etre vide, il faut ajouter null.
/!\ La Primary Key ayant été sété dans la colonne email, elle devient donc une valeur unique. Il n’est pas possible d’avoir un doublon.
(ERROR: duplicate key value violates unique constraint “ma_table_pkey”
DETAIL: Key (colonne_email)=(jean.dupont@monemail.fr) already exists.

 


Vider une table de toutes ces donnees

 


Copie de table

Copier une table avec ces clés mais sans ces données

 

Copier une table sans ces clés mais avec ces données

 


Modifier une table

Ajouter une colonne (sans constraint)

 

Ajouter la constraint d’une colonne

 

Supprimer la constraint d’une colonne

 

Renommer une colonne

 

Modifier le type de données d’une colonne

 

Supprimer une colonne

 


Mise en place d’une tache en cron pour une requête

Sous le user postgres

 

Contenu du fichier tache.sql

 

Contenu de la requete.sql

 

Dans le cron je l’exécute a 23h01 en appelant le fichier tache.sql dans la db “nom_de_la_db” et je renvoi vers un fichier de log si il a des erreurs a l’issu.
Dans le fichier base.sql he défini l’import de la requête, et l’export  de celle ci vers un .csv en stipulant le séparateur.
Dans le fichier requete.sql, la commande.
Il y a sûrement plus simple !


 

 


 

 


 

 


 

 


Rappel des commandes interne

Lister les commandes

 

Aide générale

 

Lister les db’s

 

Db en cours d’utilisation

 

Liste les rôles des db’s

 

Liste les schémas

 

Pour lister les tables

 

Voir la description d’une table

 

Liste les tables, vues et séquences et leur droits

 

Lister l’historique de toutes les commandes passées

 

Changer de db, db/user

 

Importer et exécuter un fichier

 

Quitter psql

 

Appeler une commande shell (limité a certaines commandes (dir, pwd, df…), la commande cd s’exécute directement)

 

Modifie le répertoire courant par répertoire.

 

Lister les rôles et configs par base

 

Liste les tablespaces (objets globaux : pgdefault, pgglobal)

 

Lister les extensions installées


Connaître la version de Postgres


 

 


Exporter le contenu d’une requête vers un fichier pst


Installation de PostgreSQL sur Ubuntu


Connexion a postgres

postgres@lnx:~$

Puis

ou

postgres@lnx:~$

Puis

ou


Se connecter a la db (le prompt changera pour le nom de la db)


Création d’une table

Dans l’exemple, je crée une table d’utilisateurs avec id, prénom, nom et adresse émail

cela renverra

 

Puis nous renseignons cette table avec les valeurs suivantes

cela renverra

 

cela renverra

 

cela renverra

 

Enfin, nous listons la table pour voir si tout est correct.


Modifier une ligne du schéma utilisateurs de la db db_de_test

On s’aperçoit que Moussa n’a pas d’adresse émail, on peut modifier la ligne avec la commande update.

Ce qui renvoi

 

Si on relance un select * from utilisateurs, la ligne est bien modifié.

 

Il est aussi possible de changer toute ou une partie des champs, voici une requête pour cela, imaginons que que Pierre Doras décide de changer de sexe, se marie et change de nom (soyons fou !)

2 façons d’écrire cette requête.

avec un saut de ligne pour une meilleure compréhension

Ou

 

Le schéma est bien modifié.


Begin, commit et rollback

/!\ /!\ /!\ Important /!\ /!\ /!\

Il est conseillé d’utiliser la commande begin; avant chaque instruction.

Celle ci permet d’exécuter les commandes, de voir les erreurs et de rollback si besoin ou de valider avec la commande commit;

Pour reprendre la doc officiel


Suppression d’une db

/!\ La db et tout ce qu’elle contient sera intégralement supprimé.

taper la commande

Ce qui renverra en voulant se connecter

psql: FATAL: database “db_de_test” does not exist


Lister les db


Pour lister le schéma d’une table


Pour créer un user


Lister les schéma

Ou lister les schemas/permissions


Lister les utilisateurs

ou lister un utilisateur


Lister schema/relation/table


Pour afficher l’historique


Pour lister une table


Créer une requête dans un fichier et l’importer

Sortir de la db, éditer un fichier et y renseigner sa requête

Puis pour l’exécution il faudra se reconnecter a la db et lancer la commande suivante (ne pas oublier de faire un begin; avant)


Historique des commandes psql

# /root/.psql_history


Tester une connexion psql

Pour tester l’acces d’un compte a une db
Installer le paquet psql et renseigner le serveur, un utilisateur autorisé a se connecter a une db


Dump, sauvegarde / restauration, importer / exporter une bdd (selon le language)

Sauvegarde de la db

Restauration de la db


 

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.