Annexe I. Mémento sur les commandes SQL de PostgreSQL

Ici est fournit un mémento sur les commandes SQL de PostgreSQL

Commande :    ABORT
Description : abandonner la transaction en cours
Syntaxe :
ABORT [ WORK | TRANSACTION ]

Commande :    ALTER AGGREGATE
Description : modifier la définition d'une fonction d'agrégation
Syntaxe :
ALTER AGGREGATE nom ( type ) RENAME TO nouveau_nom
ALTER AGGREGATE nom ( type ) OWNER TO nouveau_propriétaire
ALTER AGGREGATE nom ( type ) SET SCHEMA nouveau_schéma

Commande :    ALTER CONVERSION
Description : modifier la définition d'une conversion
Syntaxe :
ALTER CONVERSION nom RENAME TO nouveau_nom
ALTER CONVERSION nom OWNER TO nouveau_proprietaire

Commande :    ALTER DATABASE
Description : modifier une base de données
Syntaxe :
ALTER DATABASE nom [ [ WITH ] option [ ... ] ]

où option fait partie de :

    CONNECTION LIMIT limite_connexion

ALTER DATABASE nom SET paramètre { TO | = } { valeur | DEFAULT }
ALTER DATABASE nom RESET paramètre

ALTER DATABASE nom RENAME TO nouveau_nom

ALTER DATABASE nom OWNER TO nouveau_propriétaire

Commande :    ALTER DOMAIN
Description : modifier la définition d'un domaine
Syntaxe :
ALTER DOMAIN nom
    { SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN nom
    { SET | DROP } NOT NULL
ALTER DOMAIN nom
    ADD contrainte_domaine
ALTER DOMAIN nom
    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]
ALTER DOMAIN nom
    OWNER TO nouveau_propriétaire 
ALTER DOMAIN nom
    SET SCHEMA nouveau_schéma

Commande :    ALTER FUNCTION
Description : modifier la définition d'une fonction
Syntaxe :
ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    action [, ... ] [ RESTRICT ]
ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    RENAME TO nouveau_nom
ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    OWNER TO nouveau_propriétaire
ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    SET SCHEMA nouveau_schéma

où action fait partie de :

    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
    IMMUTABLE | STABLE | VOLATILE
    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER

Commande :    ALTER GROUP
Description : modifie le nom du rôle ou son appartenance
Syntaxe :
ALTER GROUP nom_groupe ADD USER nom_utilisateur [, ... ]
ALTER GROUP nom_groupe DROP USER nom_utilisateur [, ... ]

ALTER GROUP nom_groupe RENAME TO nouveau_nom

Commande :    ALTER INDEX
Description : modifier la définition d'un index
Syntaxe :
ALTER INDEX nom RENAME TO nouveau_nom
ALTER INDEX nom SET TABLESPACE nom_espace_logique

Commande :    ALTER LANGUAGE
Description : modifier la définition d'un langage procédural
Syntaxe :
ALTER LANGUAGE nom RENAME TO nouveau_nom

Commande :    ALTER OPERATOR CLASS
Description : modifier la définition d'une classe d'opérateur
Syntaxe :
ALTER OPERATOR CLASS nom USING méthode_indexation RENAME TO nouveau_nom
ALTER OPERATOR CLASS nom USING méthode_indexation OWNER TO nouveau_propriétaire

Commande :    ALTER OPERATOR
Description : modifier la définition d'un opérateur
Syntaxe :
ALTER OPERATOR nom ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO nouveau_propriétaire

Commande :    ALTER ROLE
Description : modifie un rôle de la base de données
Syntaxe :
ALTER ROLE nom [ [ WITH ] option [ ... ] ]

où option fait partie de :
    
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
    | VALID UNTIL 'timestamp' 

ALTER ROLE nom RENAME TO nouveau_nom

ALTER ROLE nom SET paramètre { TO | = } { valeur | DEFAULT }
ALTER ROLE nom RESET paramètre

Commande :    ALTER SCHEMA
Description : modifier la définition d'un schéma
Syntaxe :
ALTER SCHEMA nom RENAME TO nouveau_nom
ALTER SCHEMA nom OWNER TO nouveau_propriétaire

Commande :    ALTER SEQUENCE
Description : modifier la définition d'un générateur de séquence
Syntaxe :
ALTER SEQUENCE nom [ INCREMENT [ BY ] incrément ]
    [ MINVALUE valeur_min | NO MINVALUE ] [ MAXVALUE valeur_max | NO MAXVALUE ]
    [ RESTART [ WITH ] début ] [ CACHE cache ] [ [ NO ] CYCLE ]
ALTER SEQUENCE nom SET SCHEMA nouveau_schéma

Commande :    ALTER TABLE
Description : modifier la définition d'une table
Syntaxe :
ALTER TABLE [ ONLY ] om [ * ]
    action [, ... ]
ALTER TABLE [ ONLY ] nom [ * ]
    RENAME [ COLUMN ] colonne TO nouvelle_colonne
ALTER TABLE nom
    RENAME TO nouveau_nom
ALTER TABLE nom
    SET SCHEMA nouveau_schéma

où action fait partie de :

    ADD [ COLUMN ] colonne type [ contrainte_colonne [ ... ] ]
    DROP [ COLUMN ] colonne [ RESTRICT | CASCADE ]
    ALTER [ COLUMN ] colonne TYPE type [ USING expression ]
    ALTER [ COLUMN ] colonne SET DEFAULT expression
    ALTER [ COLUMN ] colonne DROP DEFAULT
    ALTER [ COLUMN ] colonne { SET | DROP } NOT NULL
    ALTER [ COLUMN ] colonne SET STATISTICS integer
    ALTER [ COLUMN ] colonne SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
    ADD contrainte_table
    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]
    DISABLE TRIGGER [ nom_déclencheur | ALL | USER ]
    ENABLE TRIGGER [ nom_déclencheur | ALL | USER ]
    CLUSTER ON nom_index
    SET WITHOUT CLUSTER
    SET WITHOUT OIDS
    OWNER TO nouveau_propriétaire
    SET TABLESPACE nouvel_espacelogique

Commande :    ALTER TABLESPACE
Description : modifie la définition d'un espace logique
Syntaxe :
ALTER TABLESPACE nom RENAME TO nouveau_nom
ALTER TABLESPACE nom OWNER TO nouveau_propriétaire

Commande :    ALTER TRIGGER
Description : modifier la définition d'un déclencheur
Syntaxe :
ALTER TRIGGER nom ON table RENAME TO nouveau_nom

Commande :    ALTER TYPE
Description : modifie la définition d'un type
Syntaxe :
ALTER TYPE nom OWNER TO nouveau_propriétaire
ALTER TYPE nom SET SCHEMA nouveau_schéma

Commande :    ALTER USER
Description : modifie un rôle de la base de données
Syntaxe :
ALTER USER nom [ [ WITH ] option [ ... ] ]

où option fait partie de :
    
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | CONNECTION LIMIT limite_connexion
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'
    | VALID UNTIL 'timestamp' 

ALTER USER nom RENAME TO nouveau_nom

ALTER USER nom SET paramètre { TO | = } { valeur | DEFAULT }
ALTER USER nom RESET paramètre

Commande :    ANALYZE
Description : acquérir des statistiques concernant la base de données
Syntaxe :
ANALYZE [ VERBOSE ] [ table [ (colonne [, ...] ) ] ]

Commande :    BEGIN
Description : démarrer un bloc de transaction
Syntaxe :
BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

où transaction_mode fait partie de :

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY

Commande :    CHECKPOINT
Description : Forcer l'enregistrement immédiat des journaux de transaction
Syntaxe :
CHECKPOINT

Commande :    CLOSE
Description : fermer un curseur
Syntaxe :
CLOSE nom

Commande :    CLUSTER
Description : clusteriser une table à partir d'un index
Syntaxe :
CLUSTER nom_index ON nom_table
CLUSTER nom_table
CLUSTER

Commande :    COMMENT
Description : définir ou modifier les commentaires d'un objet
Syntaxe :
COMMENT ON
{
  TABLE nom_objet |
  COLUMN nom_table.nmo_colonnne |
  AGGREGATE nom_agg (type_agg) |
  CAST (type_source AS type_cible) |
  CONSTRAINT nom_contrainte ON nom_table |
  CONVERSION nom_objet |
  DATABASE nom_objet |
  DOMAIN nom_objet |
  FUNCTION nom_fonc ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) |
  INDEX nom_objet |
  LARGE OBJECT oid_large_objet |
  OPERATOR op (type_opérande_gauche, type_opérande_droit) |
  OPERATOR CLASS nom_objet USING méthod_indexation |
  [ PROCEDURAL ] LANGUAGE nom_objet |
  RULE nom_règle ON nom_table |
  SCHEMA nom_objet |
  SEQUENCE nom_objet |
  TRIGGER nom_déclencheur ON nom_table |
  TYPE nom_objet |
  VIEW nom_objet
} IS 'texte'

Commande :    COMMIT
Description : valider la transaction en cours
Syntaxe :
COMMIT [ WORK | TRANSACTION ]

Commande :    COMMIT PREPARED
Description : valide une transaction qui a été précédemment préparée pour une validation en deux phases
Syntaxe :
COMMIT PREPARED id_transaction

Commande :    COPY
Description : copier des données entre un fichier et une table
Syntaxe :
COPY nom_table [ ( colonne [, ...] ) ]
    FROM { 'nom_fichier' | STDIN }
    [ [ WITH ] 
          [ BINARY ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'délimiteur' ]
          [ NULL [ AS ] 'chaîne null' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'guillemet' ] 
                [ ESCAPE [ AS ] 'échappement' ]
                [ FORCE NOT NULL colonne [, ...] ]

COPY tablename [ ( colonne [, ...] ) ]
    TO { 'nom_fichier' | STDOUT }
    [ [ WITH ] 
          [ BINARY ]
          [ HEADER ]
          [ OIDS ]
          [ DELIMITER [ AS ] 'délimiteur' ]
          [ NULL [ AS ] 'chaîne null' ]
          [ CSV [ HEADER ]
                [ QUOTE [ AS ] 'guillemet' ] 
                [ ESCAPE [ AS ] 'échappement' ]
                [ FORCE QUOTE colonne [, ...] ]

Commande :    CREATE AGGREGATE
Description : définir une nouvelle fonction d'agrégation
Syntaxe :
CREATE AGGREGATE nom (
    BASETYPE = type_données_en_entrée,
    SFUNC = fonction_s,
    STYPE = type_données_état
    [ , FINALFUNC = fonction_f ]
    [ , INITCOND = condition_initiale ]
    [ , SORTOP = opérateur_tri ]
)

Commande :    CREATE CAST
Description : définir une nouvelle conversion explicite
Syntaxe :
CREATE CAST (type_source AS type_cible)
    WITH FUNCTION nom_fonction (type_argument)
    [ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (type_source AS type_cible)
    WITHOUT FUNCTION
    [ AS ASSIGNMENT | AS IMPLICIT ]

Commande :    CREATE CONSTRAINT TRIGGER
Description : définir une nouvelle contrainte de déclenchement
Syntaxe :
CREATE CONSTRAINT TRIGGER nom
    AFTER événements ON
    nom_table attributs_contrainte
    FOR EACH ROW EXECUTE PROCEDURE nom_fontion ( args )

Commande :    CREATE CONVERSION
Description : définir une nouvelle conversion de codage
Syntaxe :
CREATE [DEFAULT] CONVERSION nom
    FOR encodage_source TO encodage_cible FROM nom_fonction

Commande :    CREATE DATABASE
Description : créer une nouvelle base de données
Syntaxe :
CREATE DATABASE nom
    [ [ WITH ] [ OWNER [=] nom_propriétaire ]
           [ TEMPLATE [=] modèle ]
           [ ENCODING [=] codage ]
           [ TABLESPACE [=] espacelogique ]
           [ CONNECTION LIMIT [=] limite_connexion ] ]

Commande :    CREATE DOMAIN
Description : définir un nouveau domaine
Syntaxe :
CREATE DOMAIN nom [AS] type_données
    [ DEFAULT expression ]
    [ contrainte [ ... ] ]

avec comme contrainte :

[ CONSTRAINT nom_contrainte ]
{ NOT NULL | NULL | CHECK (expression) }

Commande :    CREATE FUNCTION
Description : définir une nouvelle fonction
Syntaxe :
CREATE [ OR REPLACE ] FUNCTION
    nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    [ RETURNS type_retour ]
  { LANGUAGE nom_langage
    | IMMUTABLE | STABLE | VOLATILE
    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
    | AS 'définition'
    | AS 'fichier_objet', 'symbole_lien'
  } ...
    [ WITH ( attribut [, ...] ) ]

Commande :    CREATE GROUP
Description : définir un nouveau rôle dans la base de données
Syntaxe :
CREATE GROUP nom [ [ WITH ] option [ ... ] ]

où option fait partie de :
    
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'
    | VALID UNTIL 'timestamp' 
    | IN ROLE nom_rôle [, ...]
    | IN GROUP nom_rôle [, ...]
    | ROLE nom_rôle [, ...]
    | ADMIN nom_rôle [, ...]
    | USER nom_rôle [, ...]
    | SYSID uid

Commande :    CREATE INDEX
Description : définir un nouvel index
Syntaxe :
CREATE [ UNIQUE ] INDEX nom ON table [ USING méthode ]
    ( { colonne | ( expression ) } [ classe_opérateur ] [, ...] )
    [ TABLESPACE espacelogique ]
    [ WHERE prédicat ]

Commande :    CREATE LANGUAGE
Description : définir un nouveau langage de programmation de procédures stockées
Syntaxe :
CREATE [ PROCEDURAL ] LANGUAGE nom
CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE nom
    HANDLER gestionnaire_appels [ VALIDATOR fonction_val ]

Commande :    CREATE OPERATOR CLASS
Description : définir une nouvelle classe opérateur
Syntaxe :
CREATE OPERATOR CLASS nom [ DEFAULT ] FOR TYPE type_données USING méthode_indexation AS
  {  OPERATOR numéro_stratégie nom_opérateur [ ( type_op, type_op ) ] [ RECHECK ]
   | FUNCTION numéro_support nom_fonction ( type_argument [, ...] )
   | STORAGE type_stockage
  } [, ... ]

Commande :    CREATE OPERATOR
Description : définir un nouvel opérateur
Syntaxe :
CREATE OPERATOR nom (
    PROCEDURE = nom_fonction
    [, LEFTARG = type_gauche ] [, RIGHTARG = type_droit ]
    [, COMMUTATOR = op_commutation ] [, NEGATOR = op_négation ]
    [, RESTRICT = proc_restriction ] [, JOIN = proc_jointure ]
    [, HASHES ] [, MERGES ]
    [, SORT1 = op_tri_droit ] [, SORT2 = op_tri_gauche ]
    [, LTCMP = op_plus_petit_que ] [, GTCMP = op_plus_grand_que ]
)

Commande :    CREATE ROLE
Description : définir un nouveau rôle dans la base de données
Syntaxe :
CREATE ROLE nom [ [ WITH ] option [ ... ] ]

où option fait partie de :
    
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | CONNECTION LIMIT limite_connexion
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'
    | VALID UNTIL 'timestamp' 
    | IN ROLE nom_rôle [, ...]
    | IN GROUP nom_rôle [, ...]
    | ROLE nom_rôle [, ...]
    | ADMIN nom_rôle [, ...]
    | USER nom_rôle [, ...]
    | SYSID uid

Commande :    CREATE RULE
Description : définir une nouvelle règle de réécriture
Syntaxe :
CREATE [ OR REPLACE ] RULE nom AS ON événement
    TO table [ WHERE condition ]
    DO [ ALSO | INSTEAD ] { NOTHING | commande | ( commande ; commande ... ) }

Commande :    CREATE SCHEMA
Description : définir un nouveau schéma
Syntaxe :
CREATE SCHEMA nom_schema [ AUTHORIZATION nom_utilisateur ] [ element_schema [ ... ] ]
CREATE SCHEMA AUTHORIZATION nom_utilisateur [ element_schema [ ... ] ]

Commande :    CREATE SEQUENCE
Description : définir un nouveau générateur de séquence
Syntaxe :
CREATE [ TEMPORARY | TEMP ] SEQUENCE nom [ INCREMENT [ BY ] incrémentation ]
    [ MINVALUE valeur_mini | NO MINVALUE ] [ MAXVALUE valeur_maxi | NO MAXVALUE ]
    [ START [ WITH ] valeur_départ ] [ CACHE en_cache ] [ [ NO ] CYCLE ]

Commande :    CREATE TABLE
Description : définir une nouvelle table
Syntaxe :
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nom_table ( [
  { nom_colonne type_données [ DEFAULT expr_par_défaut ] [ contrainte_colonne [ ... ] ]
    | contrainte_table
    | LIKE table_parent [ { INCLUDING | EXCLUDING } DEFAULTS ] }
    [, ... ]
] )
[ INHERITS ( table_parent [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE espace_logique ]

où colonne_contrainte fait partie de :

[ CONSTRAINT nom_contrainte ]
{ NOT NULL | 
  NULL | 
  UNIQUE [ USING INDEX TABLESPACE espace_logique ] |
  PRIMARY KEY [ USING INDEX TABLESPACE espace_logique ] |
  CHECK (expression) |
  REFERENCES table_référante [ ( colonne_referrante ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
    [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

et contrainte_table fait partie de :

[ CONSTRAINT nmo_contrainte ]
{ UNIQUE ( nom_colonne [, ... ] ) [ USING INDEX TABLESPACE espace_logique ] |
  PRIMARY KEY ( nom_colonne [, ... ] ) [ USING INDEX TABLESPACE espace_logique ] |
  CHECK ( expression ) |
  FOREIGN KEY ( nom_colonne [, ... ] ) REFERENCES table_référante [ ( colonne_référante [, ... ] ) ]
    [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

Commande :    CREATE TABLE AS
Description : définir une nouvelle table à partir des résultats d'une requête
Syntaxe :
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nom_table
    [ (nom_colonne [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
    AS requête

Commande :    CREATE TABLESPACE
Description : définir un nouvel espace logique
Syntaxe :
CREATE TABLESPACE nom_espacelogique [ OWNER nom_utilisateur ] LOCATION 'répertoire'

Commande :    CREATE TRIGGER
Description : définir un nouveau déclencheur
Syntaxe :
CREATE TRIGGER nom { BEFORE | AFTER } { événement [ OR ... ] }
    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
    EXECUTE PROCEDURE nom_fonction ( arguments )

Commande :    CREATE TYPE
Description : définir un nouveau type de données
Syntaxe :
CREATE TYPE nom AS
    ( nom_attribut type_données [, ... ] )

CREATE TYPE nom (
    INPUT = fonction_en_entrée,
    OUTPUT = fonction_en_sortie
    [ , RECEIVE = fonction_recevant_type]
    [ , SEND = fonction_renvoyant_type ]
    [ , ANALYZE = fonction_analyze ]
    [ , INTERNALLENGTH = { longueur_intervalle | VARIABLE } ]
    [ , PASSEDBYVALUE ]
    [ , ALIGNMENT = alignement ]
    [ , STORAGE = stockage ]
    [ , DEFAULT = valeur_par_défaut ]
    [ , ELEMENT = élément ]
    [ , DELIMITER = sépérateur ]
)

Commande :    CREATE USER
Description : définir un nouveau rôle dans la base de données
Syntaxe :
CREATE USER nom [ [ WITH ] option [ ... ] ]

où option fait partie de :
    
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | CONNECTION LIMIT limite_connexion
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'
    | VALID UNTIL 'timestamp' 
    | IN ROLE nom_rôle [, ...]
    | IN GROUP nom_rôle [, ...]
    | ROLE nom_rôle [, ...]
    | ADMIN nom_rôle [, ...]
    | USER nom_rôle [, ...]
    | SYSID uid

Commande :    CREATE VIEW
Description : définir une nouvelle vue
Syntaxe :
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW nom [ ( nom_colonne [, ...] ) ]
    AS requête

Commande :    DEALLOCATE
Description : désactiver une expression préparée à l'avance
Syntaxe :
DEALLOCATE [ PREPARE ] nom_plan

Commande :    DECLARE
Description : définir un curseur
Syntaxe :
DECLARE nom [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
    CURSOR [ { WITH | WITHOUT } HOLD ] FOR requête
    [ FOR { READ ONLY | UPDATE [ OF colonne [, ...] ] } ]

Commande :    DELETE
Description : supprimer des colonnes dans une table
Syntaxe :
DELETE FROM [ ONLY ] table
    [ USING liste_using ]
    [ WHERE condition ]

Commande :    DROP AGGREGATE
Description : supprimer une fonction d'agrégation
Syntaxe :
DROP AGGREGATE nom ( type ) [ CASCADE | RESTRICT ]

Commande :    DROP CAST
Description : supprimer une conversion explicite
Syntaxe :
DROP CAST (type_source AS type_cible) [ CASCADE | RESTRICT ]

Commande :    DROP CONVERSION
Description : supprimer une conversion
Syntaxe :
DROP CONVERSION name [ CASCADE | RESTRICT ]

Commande :    DROP DATABASE
Description : supprimer une base de données
Syntaxe :
DROP DATABASE name

Commande :    DROP DOMAIN
Description : supprimer un domaine
Syntaxe :
DROP DOMAIN name [, ...]  [ CASCADE | RESTRICT ]

Commande :    DROP FUNCTION
Description : supprimer une fonction
Syntaxe :
DROP FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )
    [ CASCADE | RESTRICT ]

Commande :    DROP GROUP
Description : supprimer un rôle de la base de données
Syntaxe :
DROP GROUP nom [, ...]

Commande :    DROP INDEX
Description : supprimer un index
Syntaxe :
DROP INDEX name [, ...] [ CASCADE | RESTRICT ]

Commande :    DROP LANGUAGE
Description : supprimer un langage procédural
Syntaxe :
DROP [ PROCEDURAL ] LANGUAGE nom [ CASCADE | RESTRICT ]

Commande :    DROP OPERATOR CLASS
Description : supprimer une classe d'opérateur
Syntaxe :
DROP OPERATOR CLASS nom USING méthode_indexation [ CASCADE | RESTRICT ]

Commande :    DROP OPERATOR
Description : supprimer un opérateur
Syntaxe :
DROP OPERATOR nom ( { type_gauche | NONE } , { type_droit | NONE } ) [ CASCADE | RESTRICT ]

Commande :    DROP ROLE
Description : supprimer un rôle de la base de données
Syntaxe :
DROP ROLE nom [, ...]

Commande :    DROP RULE
Description : supprimer une règle de réécriture
Syntaxe :
DROP RULE nom ON relation [ CASCADE | RESTRICT ]

Commande :    DROP SCHEMA
Description : supprimer un schéma
Syntaxe :
DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]

Commande :    DROP SEQUENCE
Description : supprimer une séquence
Syntaxe :
DROP SEQUENCE name [, ...] [ CASCADE | RESTRICT ]

Commande :    DROP TABLE
Description : supprimer une table
Syntaxe :
DROP TABLE name [, ...] [ CASCADE | RESTRICT ]

Commande :    DROP TABLESPACE
Description : supprimer un espace logique
Syntaxe :
DROP TABLESPACE espacelogique

Commande :    DROP TRIGGER
Description : supprimer un déclencheur
Syntaxe :
DROP TRIGGER nom ON table [ CASCADE | RESTRICT ]

Commande :    DROP TYPE
Description : supprimer un type de données
Syntaxe :
DROP TYPE name [, ...] [ CASCADE | RESTRICT ]

Commande :    DROP USER
Description : supprimer un rôle de la base de données
Syntaxe :
DROP USER nom [, ...]

Commande :    DROP VIEW
Description : supprimer une vue
Syntaxe :
DROP VIEW name [, ...] [ CASCADE | RESTRICT ]

Commande :    END
Description : valider la transaction en cours
Syntaxe :
END [ WORK | TRANSACTION ]

Commande :    EXECUTE
Description : exécuter une expression préparée à l'avance
Syntaxe :
EXECUTE nom_plan [ (paramètre [, ...] ) ]

Commande :    EXPLAIN
Description : afficher le plan d'exécution d'une expression
Syntaxe :
EXPLAIN [ ANALYZE ] [ VERBOSE ] expression

Commande :    FETCH
Description : extraire des lignes d'une requêtes en utilisant un curseur
Syntaxe :
FETCH [ direction { FROM | IN } ] nom_curseur

sans préciser de direction ou en choissant une des directions suivantes:

    NEXT
    PRIOR
    FIRST
    LAST
    ABSOLUTE nombre
    RELATIVE nombre
    count
    ALL
    FORWARD
    FORWARD nombre
    FORWARD ALL
    BACKWARD
    BACKWARD nombre
    BACKWARD ALL

Commande :    GRANT
Description : définir des privilèges d'accès
Syntaxe :
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
    [,...] | ALL [ PRIVILEGES ] }
    ON [ TABLE ] nom_table [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
    ON DATABASE nom_base [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }
    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }
    ON LANGUAGE nom_langage [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
    ON SCHEMA nom_schéma [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }
    ON TABLESPACE nom_espacelogique [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT role [, ...]
    TO { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...] [ WITH ADMIN OPTION ]

Commande :    INSERT
Description : créer de nouvelles lignes dans une table
Syntaxe :
INSERT INTO table [ ( colonne [, ...] ) ]
    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | requête }

Commande :    LISTEN
Description : être à l'écoute d'une notification
Syntaxe :
LISTEN nom

Commande :    LOAD
Description : charger ou recharger un fichier de librairie partagée
Syntaxe :
LOAD 'nom_de_fichier'

Commande :    LOCK
Description : verrouiller une table
Syntaxe :
LOCK [ TABLE ] nom [, ...] [ IN mode_verrouillage MODE ] [ NOWAIT ]

avec un mode_verrouillage parmi les valeurs suivantes :

    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE
    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE

Commande :    MOVE
Description : positionner un curseur
Syntaxe :
MOVE [ direction { FROM | IN } ] nom_de_curseur

Commande :    NOTIFY
Description : générer une notification
Syntaxe :
NOTIFY nom

Commande :    PREPARE
Description : préparer à l'avance l'exécution d'une expression
Syntaxe :
PREPARE nom_plan [ (type_données [, ...] ) ] AS expression

Commande :    PREPARE TRANSACTION
Description : prépare la transaction en cours pour une validation en deux phases
Syntaxe :
PREPARE TRANSACTION id_transaction

Commande :    REINDEX
Description : reconstruire des indexes
Syntaxe :
REINDEX { INDEX | TABLE | DATABASE | SYSTEM } nom [ FORCE ]

Commande :    RELEASE SAVEPOINT
Description : détruire un point de sauvegarde précédemment défini
Syntaxe :
RELEASE [ SAVEPOINT ] nom_point_de_sauvegarde

Commande :    RESET
Description : réinitialiser un paramètre run-time à sa valeur par défaut
Syntaxe :
RESET nom
RESET ALL

Commande :    REVOKE
Description : supprimer des privilèges d'accès
Syntaxe :
REVOKE [ GRANT OPTION FOR ]
    { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
    [,...] | ALL [ PRIVILEGES ] }
    ON [ TABLE ] nom_table [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
    ON DATABASE nom_base [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { EXECUTE | ALL [ PRIVILEGES ] }
    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { USAGE | ALL [ PRIVILEGES ] }
    ON LANGUAGE nom_langage [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
    ON SCHEMA nom_schéma [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { CREATE | ALL [ PRIVILEGES ] }
    ON TABLESPACE nom_espacelogique [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

REVOKE [ ADMIN OPTION FOR ]
    rôle [, ...]
    FROM { nom_utilisateur | GROUP nom_groupe | PUBLIC } [, ...]
    [ CASCADE | RESTRICT ]

Commande :    ROLLBACK
Description : abandonner la transaction en cours
Syntaxe :
ROLLBACK [ WORK | TRANSACTION ]

Commande :    ROLLBACK PREPARED
Description : annule une transaction qui a été précédemment préparée pour une validation en deux phases
Syntaxe :
ROLLBACK PREPARED id_transaction

Commande :    ROLLBACK TO SAVEPOINT
Description : retourner à un point de sauvegarde
Syntaxe :
ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] nom_point_de_sauvegarde

Commande :    SAVEPOINT
Description : définir un nouveau point de sauvegarde pour la transaction en cours
Syntaxe :
SAVEPOINT nom_point_de_sauvegarde

Commande :    SELECT
Description : extraire des lignes d'une table ou d'une vue
Syntaxe :
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
    * | expression [ AS nom_affichage ] [, ...]
    [ FROM élément_from [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
    [ HAVING condition [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
    [ ORDER BY expression [ ASC | DESC | USING opérateur ] [, ...] ]
    [ LIMIT { nombre | ALL } ]
    [ OFFSET début ]
    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] ]

où élément_from fait partie de :

    [ ONLY ] nom_table [ * ] [ [ AS ] alias [ ( alias_colonne [, ...] ) ] ]
    ( select ) [ AS ] alias [ ( alias_colonne [, ...] ) ]
    nom_fonction ( [ argument [, ...] ] ) [ AS ] alias [ ( alias_colonne [, ...] | définition_colonne [, ...] ) ]
    nom_fonction ( [ argument [, ...] ] ) AS ( définition_colonne [, ...] )
    élément_from [ NATURAL ] type_jointure élément_from [ ON condition_jointure | USING ( colonne_jointure [, ...] ) ]

Commande :    SELECT INTO
Description : définir une nouvelle table à partir des résultats d'une requête
Syntaxe :
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
    * | expression [ AS nom_affichage ] [, ...]
    INTO [ TEMPORARY | TEMP ] [ TABLE ] nouvelle_table
    [ FROM élément_from [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
    [ HAVING condition [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL ] sélection ]
    [ ORDER BY expression [ ASC | DESC | USING opérateurr ] [, ...] ]
    [ LIMIT { nombre | ALL } ]
    [ OFFSET début ]
    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] ]

Commande :    SET
Description : modifier un paramètre run-time
Syntaxe :
SET [ SESSION | LOCAL ] nom { TO | = } { value | 'valeur' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { zone_horaire | LOCAL | DEFAULT }

Commande :    SET CONSTRAINTS
Description : définir les modes de vérification de contrainte pour la transaction en cours
Syntaxe :
SET CONSTRAINTS { ALL | nom [, ...] } { DEFERRED | IMMEDIATE }

Commande :    SET ROLE
Description : définir l'identifiant de l'utilisateur actuel de la session en cours
Syntaxe :
SET [ SESSION | LOCAL ] ROLE nom_rôle
SET [ SESSION | LOCAL ] ROLE NONE
RESET ROLE

Commande :    SET SESSION AUTHORIZATION
Description : définir l'identifiant de l'utilisateur de la session et l'identifiant de l'utilisateur actuel de la session en cours
Syntaxe :
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION nom_utilisateur
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION

Commande :    SET TRANSACTION
Description : définir les caractéristiques de la transaction en cours
Syntaxe :
SET TRANSACTION mode_transaction [, ...]
SET SESSION CHARACTERISTICS AS TRANSACTION mode_transaction [, ...]

où mode_transaction fait partie de :

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY

Commande :    SHOW
Description : afficher la valeur d'un paramètres run-time
Syntaxe :
SHOW nom
SHOW ALL

Commande :    START TRANSACTION
Description : démarrer un bloc de transaction
Syntaxe :
START TRANSACTION [ mode_transaction [, ...] ]

où mode_transaction fait partie de :

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY

Commande :    TRUNCATE
Description : vider une table ou un ensemble de tables
Syntaxe :
TRUNCATE [ TABLE ] nom [, ...]

Commande :    UNLISTEN
Description : ne plus être à l'écoute des notifications
Syntaxe :
UNLISTEN { nom | * }

Commande :    UPDATE
Description : mettre à jour les lignes d'une table
Syntaxe :
UPDATE [ ONLY ] table SET colonne = { expression | DEFAULT } [, ...]
    [ FROM depuis_liste ]
    [ WHERE condition ]

Commande :    VACUUM
Description : collecte des fragments avec en option la possibilité d'analyser une base de données
Syntaxe :
VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ table [ (colonne [, ...] ) ] ]