Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
technique:postgresql [2021/02/23 20:10] – créée francoisa | technique:postgresql [2023/02/10 22:05] – francoisa | ||
---|---|---|---|
Ligne 28: | Ligne 28: | ||
</ | </ | ||
+ | |||
< | < | ||
psql -c "alter user postgres with password ' | psql -c "alter user postgres with password ' | ||
Ligne 36: | Ligne 37: | ||
< | < | ||
- | pgsql | + | psql |
</ | </ | ||
Ligne 50: | Ligne 51: | ||
< | < | ||
- | sudo -u postgres commande_sql | + | sudo -u postgres |
</ | </ | ||
+ | |||
+ | ===== Commandes depuis le compte utilisateur postgres ===== | ||
Export de base : | Export de base : | ||
Ligne 76: | Ligne 79: | ||
</ | </ | ||
+ | |||
+ | 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 * from table | ||
+ | |||
+ | UDPATE table SET champ1 = valeur1, champ2 = valeur2 WHERE condition; | ||
+ | |||
+ | </ | ||
+ | |||
+ | Pour voir tous les utilisateurs: | ||
+ | |||
+ | < | ||
+ | select * from user; | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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 à postgresql : | ||
+ | < | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | apt install pgloader '' | ||
+ | |||
+ | Mais pour Lufi, ça ne se passe pas bien, même si la migration a l'air correcte. | ||
+ | |||