Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| technique:postgresql [2023/02/10 22:05] – francoisa | technique:postgresql [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Postgresql ====== | + | **Cette page est obsolète. Veuillez accéder |
| - | + | ||
| - | Installation sur ubuntu 20.04 | + | |
| - | + | ||
| - | < | + | |
| - | sudo apt install postgresql postgresql-client | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Etat du service : | + | |
| - | + | ||
| - | < | + | |
| - | systemctl status postgresql.service | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Configuration générale | + | |
| - | + | ||
| - | < | + | |
| - | / | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Mot de passe admin : | + | |
| - | + | ||
| - | < | + | |
| - | sudo su - postgres | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | psql -c "alter user postgres with password ' | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Ou passer en commande SQL avec : | + | |
| - | + | ||
| - | < | + | |
| - | psql | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Voir les bases installées : | + | |
| - | + | ||
| - | < | + | |
| - | sudo -u postgres psql -l | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Et d'une manière générale : | + | |
| - | + | ||
| - | < | + | |
| - | sudo -u postgres -c ' | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Commandes depuis le compte utilisateur postgres ===== | + | |
| - | + | ||
| - | Export de base : | + | |
| - | + | ||
| - | < | + | |
| - | pg_dump -U username dbname> dbexport.pgsql | + | |
| - | + | ||
| - | pg_dump -U db_user -W -F t db_name> / | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Import de base : | + | |
| - | + | ||
| - | < | + | |
| - | psql -U username dbname < | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Restorer un dump : | + | |
| - | + | ||
| - | < | + | |
| - | pg_restore -d db_name / | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Effacer une base : | + | |
| - | + | ||
| - | < | + | |
| - | psql -c 'drop database cemea' | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Pour Base Graf ( cemea.sqlfc dans / | + | |
| - | + | ||
| - | < | + | |
| - | psql -c ' | + | |
| - | pg_restore -d cemea cemea.sqlfc -c -U postgres; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Commandes de base de psql ===== | + | |
| - | + | ||
| - | < | + | |
| - | psql mabase | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Et les raccourcis | + | |
| - | + | ||
| - | < | + | |
| - | \l = liste des bases | + | |
| - | \d = liste des tables | + | |
| - | \q = quitter | + | |
| - | \h = aide | + | |
| - | \c labase = pour se connecter sur la base | + | |
| - | \dt = voir les tables de la base # \dt+ : pour plus d' | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Structure ou schema d'une table et données | + | |
| - | + | ||
| - | < | + | |
| - | \d+ nomdetable | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Consulter des données avec des requêtes SQL classiques : | + | |
| - | + | ||
| - | < | + | |
| - | SELECT | + | |
| - | + | ||
| - | UDPATE table SET champ1 = valeur1, champ2 = valeur2 WHERE condition; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Pour voir tous les utilisateurs: | + | |
| - | + | ||
| - | < | + | |
| - | select | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Créer une base de données (pour Graf) : | + | |
| - | + | ||
| - | < | + | |
| - | create database cemea; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ==== Se connecter à une base ==== | + | |
| - | + | ||
| - | < | + | |
| - | psql | + | |
| - | + | ||
| - | \c mabasecemea; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Compter des champs : | + | |
| - | + | ||
| - | < | + | |
| - | select count(*) from cemea_course; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ==== Bug import Base SQL de Graf ==== | + | |
| - | + | ||
| - | La base de données doit être conforme à celle-ci : | + | |
| - | + | ||
| - | < | + | |
| - | psql -c ' | + | |
| - | psql -l | + | |
| - | List of databases | + | |
| - | | + | |
| - | -----------+----------+----------+-------------+-------------+----------------------- | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Or sur une Debian 10, l' | + | |
| - | < | + | |
| - | + | ||
| - | psql -l | + | |
| - | List of databases | + | |
| - | | + | |
| - | -----------+----------+-----------+---------+-------+----------------------- | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | L' | + | |
| - | pg_restore: error: COPY failed for table " | + | |
| - | CONTEXT: COPY account_invoice_line, | + | |
| - | + | ||
| - | 5 février 2020 : …" | + | |
| - | + | ||
| - | === La solution === | + | |
| - | < | + | |
| - | + | ||
| - | dpkg-reconfigure locales | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | Et choisir fr_FR.UTF-8 | + | |
| - | + | ||
| - | Puis : | + | |
| - | + | ||
| - | < | + | |
| - | psql -c " | + | |
| - | CREATE DATABASE | + | |
| - | postgres@postgresql: | + | |
| - | Liste des bases de données | + | |
| - | Nom | Propriétaire | Encodage | + | |
| - | -----------+--------------+-----------+-----------------+--------------+----------------------- | + | |
| - | | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ==== Création de compte user et database associée ==== | + | |
| - | + | ||
| - | Se connecter | + | |
| - | < | + | |
| - | + | ||
| - | sudo -u postgres psql | + | |
| - | + | ||
| - | </ | + | |
| - | < | + | |
| - | create database lufi; | + | |
| - | + | ||
| - | create user lufi with encrypted password ' | + | |
| - | + | ||
| - | grant all privileges on database lufi to lufi; | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | === Transfert de SQLite vers postgreSQL === | + | |
| - | + | ||
| - | Installation de postgresql et de pgloader ([[https://pgloader.readthedocs.io/en/latest/ref/sqlite.html|https:// | + | |
| - | + | ||
| - | apt install pgloader '' | + | |
| - | + | ||
| - | Mais pour Lufi, ça ne se passe pas bien, même si la migration a l'air correcte. | + | |
| - | + | ||