public:kb:postgresql
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
public:kb:postgresql [2013/11/27 16:07] – modification externe 127.0.0.1 | public:kb:postgresql [2025/01/06 17:46] (Version actuelle) – supprimée laurent.joly | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== PostgreSQL ====== | ||
- | |||
- | |||
- | ===== Acces ===== | ||
- | |||
- | sur le serveur se logger en postgres | ||
- | |||
- | < | ||
- | |||
- | lancer psql | ||
- | |||
- | \h pour les commandes sql | ||
- | \? pour les commandes psql | ||
- | |||
- | \q pour quitter | ||
- | \l pour lister les DBs | ||
- | |||
- | ===== Créer une DB ===== | ||
- | |||
- | |||
- | On crée une base et un compte propriétaire de cette base. | ||
- | |||
- | |||
- | |||
- | ==== Créer un role ==== | ||
- | |||
- | createuser -D -R -l -E -e -P -U pgsql mon_user | ||
- | |||
- | man createuser pour en savoir plus ... | ||
- | |||
- | ou avant faire un | ||
- | |||
- | su pgsql | ||
- | |||
- | voire | ||
- | |||
- | sudo -u pgsql createuser -D -R -l -E -e -P -U pgsql mon_user | ||
- | |||
- | De façon a avoir les droits associés au compte root du serveur (ici pgsql) | ||
- | |||
- | |||
- | Entrer ensuite le password, puis répondre à cette question | ||
- | |||
- | Shall the new role be a superuser? (y/n) | ||
- | |||
- | |||
- | >CREATE ROLE mon_user ENCRYPTED PASSWORD ' | ||
- | --> | ||
- | |||
- | |||
- | |||
- | ==== Créer la base ==== | ||
- | |||
- | sudo createdb -E latin1 -O mon_user -e -U pgsql ma_db | ||
- | |||
- | ** ou plutôt ** | ||
- | |||
- | sudo createdb -E utf8 -O mon_user -e -U pgsql ma_db | ||
- | >CREATE DATABASE ma_db OWNER mon_user ENCODING ' | ||
- | --> | ||
- | |||
- | ===== Supprimer une DB ===== | ||
- | sudo dropdb -U mon_user ma_db | ||
- | |||
- | ---- | ||
- | |||
- | ===== Quelques éléments de la syntaxe SQL de PostgreSQL. ===== | ||
- | |||
- | |||
- | Soit la table " | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== SELECT ==== | ||
- | [[http:// | ||
- | |||
- | ===Afficher tous les mots et toutes les colonnes :=== | ||
- | |||
- | SELECT * FROM mots; | ||
- | ou encore | ||
- | SELECT * FROM " | ||
- | |||
- | |||
- | ===Idem en affichant seulement la colonne id :=== | ||
- | |||
- | SELECT id FROM mots; | ||
- | ou encore | ||
- | SELECT id FROM " | ||
- | |||
- | |||
- | ===L' | ||
- | |||
- | SELECT * FROM mots WHERE id = 15; | ||
- | |||
- | |||
- | ===Les enregistrements dont le mot est " | ||
- | |||
- | SELECT * FROM mots WHERE mot = ' | ||
- | ou< | ||
- | SELECT * FROM mots WHERE mot LIKE ' | ||
- | |||
- | |||
- | ===Les enregistrements dont le mot contient toto :=== | ||
- | |||
- | SELECT * FROM mots WHERE mots ~* ' | ||
- | |||
- | |||
- | ===Les enregistrements dont le mot commence par toto :=== | ||
- | |||
- | SELECT * FROM mots WHERE mots ~* ' | ||
- | |||
- | |||
- | == Changer la valeur d'une sequence == | ||
- | Pour mettre la valeur actuelle de la sequence '' | ||
- | ALTER SEQUENCE matable_monid_seq RESTART WITH 100 | ||
- | |||
- | Il peut être bien vu de faire regarder avant quelle est la plus grande valeur dans la table qui utilise la sequence. | ||
- | | ||
- | |||
- | |||
- | == le SHOW COLUMNS sous Postgresql == | ||
- | |||
- | |||
- | | ||
- | a.attname AS field, | ||
- | pg_catalog.format_type(a.atttypid, | ||
- | a.attnotnull AS null, | ||
- | a.atthASdef AS default, | ||
- | adef.adsrc AS value, | ||
- | pg_catalog.col_description(a.attrelid, | ||
- | FROM | ||
- | pg_catalog.pg_attribute a LEFT JOIN pg_catalog.pg_attrdef adef | ||
- | ON a.attrelid=adef.adrelid | ||
- | AND a.attnum=adef.adnum | ||
- | WHERE | ||
- | a.attrelid = (SELECT oid FROM pg_catalog.pg_clASs WHERE relname=' | ||
- | AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE | ||
- | nspname = ' | ||
- | AND a.attnum > 0 AND NOT a.attisdropped | ||
- | ORDER BY a.attnum | ||
- | |||
- | |||
- | == Majuscules et minuscules == | ||
- | | ||
- | UPPER (my_field) | ||
- | |||
- | = Divers = | ||
- | |||
- | == Migrer l' | ||
- | |||
- | * Créer une nouvelle database en lui donnant l' | ||
- | * Faire un export (dump) sans compression (en plain text) de l' | ||
- | * Dans le fichier de dump, couper / coller toutes les données (en principe encadrées par COPY) dans un nouveau fichier texte data.sql | ||
- | * couper coller ensuite toutes les contraintes (placées à la fin du fichier dump) dans un fichier constraints.sql | ||
- | * Sous Unix, lancer la commande : | ||
- | |||
- | iconv -f ancien_encodage -t utf-8 data.sql | ||
- | |||
- | //(sous windows ... bon courage)// | ||
- | |||
- | * Importer dans la nouvelle DB le shéma (en principe le fichier dump ne contient plus que le shéma) | ||
- | * Importer dans la nouvelle DB les données UTF-8 | ||
- | * Importer dans la nouvelle DB les contraintes | ||
- | * Renommer l' | ||
- | * Renommer la nouvelle DB avec le nom de l' | ||
- | * Si vous utilisez un site web qui tape dans ces données, n' | ||
- | <meta http-equiv=" | ||
public/kb/postgresql.1385564843.txt.gz · Dernière modification : 2014/02/19 08:20 (modification externe)