Module S30
Dalibo SCOP
26.05
12 mai 2026
Cette formation est sous licence CC-BY-NC-SA. Vous êtes libre de la redistribuer et/ou modifier aux conditions suivantes :
PostgreSQL® Postgres® et le logo Slonik sont des marques déposées par PostgreSQL Community Association of Canada.
Ce document ne couvre que les versions supportées de PostgreSQL au moment de sa rédaction, soit les versions 14 à 18.
CREATE
CREATE SCHEMA s1;
ALTER
ALTER type_objet ancien_nom RENAME TO nouveau_nom ;
ALTER type_objet nom_objet OWNER TO proprietaire ;
ALTER type_objet nom_objet SET SCHEMA nom_schema ;
DROP
DROP type_objet nom_objet ;
DROP type_objet nom_objet CASCADE ;
public
GRANT CREATE
CREATE SCHEMA nom_schéma
ALTER SCHEMA nom_schéma
DROP SCHEMA [ IF EXISTS ] nom_schéma [ CASCADE ]
nom_schema
nom_objet
search_path
SET search_path = schema1,schema2,public;
$user, public
MINVALUE
MAXVALUE
START
INCREMENT
CACHE
CYCLE
CREATE SEQUENCE nom [ INCREMENT incrément ] [ MINVALUE valeurmin | NO MINVALUE ] [ MAXVALUE valeurmax | NO MAXVALUE ] [ START [ WITH ] début ] [ CACHE cache ] [ [ NO ] CYCLE ] [ OWNED BY { nom_table.nom_colonne | NONE } ]
ALTER SEQUENCE nom [ INCREMENT increment ] [ MINVALUE valeurmin | NO MINVALUE ] [ MAXVALUE valeurmax | NO MAXVALUE ] [ START [ WITH ] début ] [ RESTART [ [ WITH ] nouveau_début ] ] [ CACHE cache ] [ [ NO ] CYCLE ] [ OWNED BY { nom_table.nom_colonne | NONE } ]
DROP SEQUENCE nom [, …]
nextval('nom_sequence')
currval('nom_sequence')
nextval()
serial
bigserial
smallserial
nextval(…)
IDENTITY
CREATE TABLE
CREATE TABLE nom_table ( definition_colonnes definition_contraintes ) clause_stockage;
nom_colonne type [ COLLATE collation ] [ contrainte ] [, …]
DEFAULT
CREATE TABLE … (LIKE table clause_inclusion)
INCLUDING DEFAULTS
INCLUDING CONSTRAINTS
INCLUDING INDEXES
ALTER TABLE
DROP TABLE nom_table;
DROP TABLE nom_table CASCADE;
UNIQUE
Construction :
[CONSTRAINT nom_contrainte] PRIMARY KEY ( nom_colonne [, … ] )
GENERATED ALWAYS BY IDENTITY
[ CONSTRAINT nom_contrainte] { UNIQUE { NULLS NOT DISTINCT } ( nom_colonne [, … ] )
NOT NULL
FOREIGN KEY
[ CONSTRAINT nom_contrainte ] FOREIGN KEY ( nom_colonne [, …] ) REFERENCES table_reference [ (colonne_reference [, … ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
MATCH
MATCH FULL
MATCH SIMPLE
GENERATED … AS IDENTITY
ALWAYS
BY DEFAULT
ON UPDATE
ON DELETE
CHECK
DEFERRABLE
NOT DEFERRABLE
INITIALLY DEFERED
INITIALLY IMMEDIATE
CREATE TABLE paquet ( code text PRIMARY KEY, reception timestamptz DEFAULT now(), livraison timestamptz DEFAULT now() + interval '3d', largeur int, longueur int, profondeur int, volume int GENERATED ALWAYS AS ( largeur * longueur * profondeur ) STORED CHECK (volume > 0.0) ) ;
GENERATED
SELECT
INSERT
UPDATE
MERGE
DELETE
INSERT INTO nom_table [ ( nom_colonne [, …] ) ] { liste_valeurs | requete }
INSERT INTO nom_table [ ( nom_colonne [, …] ) ] VALUES ( { expression | DEFAULT } [, …] ) [, …]
INSERT INTO nom_table [ ( nom_colonne [, …] ) ] …requête…
UPDATE nom_table SET { nom_colonne = { expression | DEFAULT } | ( nom_colonne [, …] ) = ( { expression | DEFAULT } [, …] ) } [, …] [ FROM liste_from ] [ WHERE condition | WHERE CURRENT OF nom_curseur ]
DELETE FROM nom_table [ [ AS ] alias ] [ WHERE condition
OLD
NEW
requete_sql RETURNING ( * | expression )
BEGIN
COMMIT
ROLLBACK
SAVEPOINT
BEGIN ;
COMMIT ;
ROLLBACK ;
SAVEPOINT nom_savepoint ;
RELEASE SAVEPOINT nom_savepoint ;
ROLLBACK TO SAVEPOINT nom_savepoint ;
BEGIN ; WITH q AS ( SELECT * FROM questions ) INSERT INTO reponses SELECT * FROM q WHERE texte_reponse IS NOT NULL ; COMMIT ;
https://dali.bo/s30_quiz