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 Prochaine révision | Révision précédente | ||
technique:postgresql [2021/03/23 22:07] – 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 au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/postgresql|postgresql]]** |
- | + | ||
- | 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 | + | |
- | + | ||
- | </code> | + | |
- | + | ||
- | < | + | |
- | psql -c "alter user postgres with password ' | + | |
- | + | ||
- | </code> | + | |
- | + | ||
- | 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> / | + | |
- | + | ||
- | </code> | + | |
- | + | ||
- | Import de base : | + | |
- | + | ||
- | < | + | |
- | psql -U username dbname < | + | |
- | + | ||
- | </code> | + | |
- | + | ||
- | Restorer un dump : | + | |
- | + | ||
- | < | + | |
- | pg_restore | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | Effacer une base : | + | |
- | + | ||
- | < | + | |
- | psql -c 'drop database cemea' | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | Pour Base Graf ( cemea.sqlfc dans /var/lib/postgresql/ ) depuis le compte postgres (basse cemea à créer) : | + | |
- | + | ||
- | < | + | |
- | 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 | + | |
- | USE labase = pour se connecter sur la base | + | |
- | \c labase = pour se connecter sur la base | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | 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 | + | |
- | -----------+--------------+-----------+-----------------+--------------+----------------------- | + | |
- | | + | |
- | + | ||
- | </ | + | |
- | + |