PostgreSQL - Syntaxe

Ce chapitre fournit une liste des commandes SQL PostgreSQL, suivies des règles de syntaxe précises pour chacune de ces commandes. Cet ensemble de commandes provient de l'outil de ligne de commande psql. Maintenant que Postgres est installé, ouvrez le psql comme -

Program Files → PostgreSQL 9.2 → SQL Shell(psql).

À l'aide de psql, vous pouvez générer une liste complète de commandes à l'aide de la commande \ help. Pour la syntaxe d'une commande spécifique, utilisez la commande suivante -

postgres-# \help <command_name>

L'instruction SQL

Une instruction SQL est composée de jetons où chaque jeton peut représenter un mot-clé, un identificateur, un identificateur entre guillemets, une constante ou un symbole de caractère spécial. Le tableau ci-dessous utilise une simple instruction SELECT pour illustrer une instruction SQL basique mais complète et ses composants.

SÉLECTIONNER identifiant, nom DE États
Type de jeton Mot-clé Identifiants Mot-clé Identifiant
La description Commander Colonnes d'identifiant et de nom Clause Nom de la table

Commandes SQL PostgreSQL

AVORTER

Abandonnez la transaction en cours.

ABORT [ WORK | TRANSACTION ]

ALTER AGGREGATE

Modifiez la définition d'une fonction d'agrégation.

ALTER AGGREGATE name ( type ) RENAME TO new_name
ALTER AGGREGATE name ( type ) OWNER TO new_owner

MODIFIER LA CONVERSION

Modifiez la définition d'une conversion.

ALTER CONVERSION name RENAME TO new_name
ALTER CONVERSION name OWNER TO new_owner

ALTER DATABASE

Modifiez un paramètre spécifique à la base de données.

ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name RESET parameter
ALTER DATABASE name RENAME TO new_name
ALTER DATABASE name OWNER TO new_owner

ALTER DOMAIN

Modifiez la définition d'un paramètre spécifique au domaine.

ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN name { SET | DROP } NOT NULL
ALTER DOMAIN name ADD domain_constraint
ALTER DOMAIN name DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER DOMAIN name OWNER TO new_owner

FONCTION ALTER

Modifiez la définition d'une fonction.

ALTER FUNCTION name ( [ type [, ...] ] ) RENAME TO new_name
ALTER FUNCTION name ( [ type [, ...] ] ) OWNER TO new_owner

GROUPE ALTER

Changer un groupe d'utilisateurs.

ALTER GROUP groupname ADD USER username [, ... ]
ALTER GROUP groupname DROP USER username [, ... ]
ALTER GROUP groupname RENAME TO new_name

ALTER INDEX

Modifiez la définition d'un index.

ALTER INDEX name OWNER TO new_owner
ALTER INDEX name SET TABLESPACE indexspace_name
ALTER INDEX name RENAME TO new_name

MODIFIER LA LANGUE

Modifiez la définition d'un langage procédural.

ALTER LANGUAGE name RENAME TO new_name

OPÉRATEUR ALTER

Modifiez la définition d'un opérateur.

ALTER OPERATOR name ( { lefttype | NONE }, { righttype | NONE } )
OWNER TO new_owner

CLASSE D'OPÉRATEUR ALTER

Modifiez la définition d'une classe d'opérateur.

ALTER OPERATOR CLASS name USING index_method RENAME TO new_name
ALTER OPERATOR CLASS name USING index_method OWNER TO new_owner

ALTER SCHEMA

Modifiez la définition d'un schéma.

ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO new_owner

MODIFIER LA SÉQUENCE

Modifiez la définition d'un générateur de séquence.

ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

MODIFIER TABLE

Modifiez la définition d'une table.

ALTER TABLE [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column
ALTER TABLE name
RENAME TO new_name

action est l'une des lignes suivantes -

ADD [ COLUMN ] column_type [ column_constraint [ ... ] ]
DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column TYPE type [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
CLUSTER ON index_name
SET WITHOUT CLUSTER
SET WITHOUT OIDS
OWNER TO new_owner
SET TABLESPACE tablespace_name

ALTER TABLESPACE

Modifiez la définition d'un tablespace.

ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO new_owner

ALTER TRIGGER

Modifiez la définition d'un déclencheur.

ALTER TRIGGER name ON table RENAME TO new_name

MODIFIER LE TYPE

Modifiez la définition d'un type.

ALTER TYPE name OWNER TO new_owner

ALTER USER

Changer un compte d'utilisateur de base de données.

ALTER USER name [ [ WITH ] option [ ... ] ]
ALTER USER name RENAME TO new_name
ALTER USER name SET parameter { TO | = } { value | DEFAULT }
ALTER USER name RESET parameter

Où l' option peut être -

[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| VALID UNTIL 'abstime'

ANALYSER

Collectez des statistiques sur une base de données.

ANALYZE [ VERBOSE ] [ table [ (column [, ...] ) ] ]

COMMENCER

Démarrez un bloc de transaction.

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

transaction_mode est l'un des -

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

POINT DE CONTRÔLE

Forcer un point de contrôle du journal des transactions.

CHECKPOINT

FERMER

Fermez un curseur.

CLOSE name

GRAPPE

Regroupez une table selon un index.

CLUSTER index_name ON table_name
CLUSTER table_name
CLUSTER

COMMENTAIRE

Définissez ou modifiez le commentaire d'un objet.

COMMENT ON {
   TABLE object_name |
   COLUMN table_name.column_name |
   AGGREGATE agg_name (agg_type) |
   CAST (source_type AS target_type) |
   CONSTRAINT constraint_name ON table_name |
   CONVERSION object_name |
   DATABASE object_name |
   DOMAIN object_name |
   FUNCTION func_name (arg1_type, arg2_type, ...) |
   INDEX object_name |
   LARGE OBJECT large_object_oid |
   OPERATOR op (left_operand_type, right_operand_type) |
   OPERATOR CLASS object_name USING index_method |
   [ PROCEDURAL ] LANGUAGE object_name |
   RULE rule_name ON table_name |
   SCHEMA object_name |
   SEQUENCE object_name |
   TRIGGER trigger_name ON table_name |
   TYPE object_name |
   VIEW object_name
} 
IS 'text'

COMMETTRE

Validez la transaction en cours.

COMMIT [ WORK | TRANSACTION ]

COPIE

Copiez les données entre un fichier et une table.

COPY table_name [ ( column [, ...] ) ]
FROM { 'filename' | STDIN }
[ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE NOT NULL column [, ...] ]
COPY table_name [ ( column [, ...] ) ]
TO { 'filename' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]

CRÉER UN AGRÉGAT

Définissez une nouvelle fonction d'agrégation.

CREATE AGGREGATE name (
   BASETYPE = input_data_type,
   SFUNC = sfunc,
   STYPE = state_data_type
   [, FINALFUNC = ffunc ]
   [, INITCOND = initial_condition ]
)

CRÉER UN CAST

Définissez une nouvelle distribution.

CREATE CAST (source_type AS target_type)
WITH FUNCTION func_name (arg_types)
[ AS ASSIGNMENT | AS IMPLICIT ]
CREATE CAST (source_type AS target_type)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

CRÉER UN DÉCLENCHEUR DE CONTRAINTE

Définissez un nouveau déclencheur de contrainte.

CREATE CONSTRAINT TRIGGER name
AFTER events ON
table_name constraint attributes
FOR EACH ROW EXECUTE PROCEDURE func_name ( args )

CRÉER UNE CONVERSION

Définissez une nouvelle conversion.

CREATE [DEFAULT] CONVERSION name
FOR source_encoding TO dest_encoding FROM func_name

CRÉER UNE BASE DE DONNÉES

Créez une nouvelle base de données.

CREATE DATABASE name
[ [ WITH ] [ OWNER [=] db_owner ]
   [ TEMPLATE [=] template ]
   [ ENCODING [=] encoding ]
   [ TABLESPACE [=] tablespace ] 
]

CRÉER UN DOMAINE

Définissez un nouveau domaine.

CREATE DOMAIN name [AS] data_type
[ DEFAULT expression ]
[ constraint [ ... ] ]

Où la contrainte est -

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

CRÉER UNE FONCTION

Définissez une nouvelle fonction.

CREATE [ OR REPLACE ] FUNCTION name ( [ [ arg_name ] arg_type [, ...] ] )
RETURNS ret_type
{ LANGUAGE lang_name
   | IMMUTABLE | STABLE | VOLATILE
   | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
   | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
   | AS 'definition'
   | AS 'obj_file', 'link_symbol'
} ...
[ WITH ( attribute [, ...] ) ]

CRÉER UN GROUPE

Définissez un nouveau groupe d'utilisateurs.

CREATE GROUP name [ [ WITH ] option [ ... ] ]
Where option can be:
SYSID gid
| USER username [, ...]

CRÉER UN INDEX

Définissez un nouvel index.

CREATE [ UNIQUE ] INDEX name ON table [ USING method ]
( { column | ( expression ) } [ opclass ] [, ...] )
[ TABLESPACE tablespace ]
[ WHERE predicate ]

CRÉER UNE LANGUE

Définissez un nouveau langage procédural.

CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
HANDLER call_handler [ VALIDATOR val_function ]

CRÉER UN OPÉRATEUR

Définissez un nouvel opérateur.

CREATE OPERATOR name (
   PROCEDURE = func_name
   [, LEFTARG = left_type ] [, RIGHTARG = right_type ]
   [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
   [, RESTRICT = res_proc ] [, JOIN = join_proc ]
   [, HASHES ] [, MERGES ]
   [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ]
   [, LTCMP = less_than_op ] [, GTCMP = greater_than_op ]
)

CRÉER UNE CLASSE D'OPÉRATEUR

Définissez une nouvelle classe d'opérateur.

CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
USING index_method AS
{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ RECHECK ]
   | FUNCTION support_number func_name ( argument_type [, ...] )
   | STORAGE storage_type
} [, ... ]

CRÉER UNE RÈGLE

Définissez une nouvelle règle de réécriture.

CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }

CRÉER UN SCHÉMA

Définissez un nouveau schéma.

CREATE SCHEMA schema_name
[ AUTHORIZATION username ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION username
[ schema_element [ ... ] ]

CRÉER UNE SÉQUENCE

Définissez un nouveau générateur de séquence.

CREATE [ TEMPORARY | TEMP ] SEQUENCE name
[ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

CRÉER UNE TABLE

Définissez une nouvelle table.

CREATE [ [ GLOBAL | LOCAL ] { 
   TEMPORARY | TEMP } ] TABLE table_name ( { 
      column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
      | table_constraint
      | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] 
   } [, ... ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

column_constraint est -

[ CONSTRAINT constraint_name ] { 
   NOT NULL |
   NULL |
   UNIQUE [ USING INDEX TABLESPACE tablespace ] |
   PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |
   CHECK (expression) |
   REFERENCES ref_table [ ( ref_column ) ]
   [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
   [ ON DELETE action ] [ ON UPDATE action ] 
}
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

Et table_constraint est -

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] )
REFERENCES ref_table [ ( ref_column [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

CRÉER LA TABLE COMME

Définissez une nouvelle table à partir des résultats d'une requête.

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
[ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
AS query

CRÉER TABLESPACE

Définissez un nouvel espace de table.

CREATE TABLESPACE tablespace_name [ OWNER username ] LOCATION 'directory'

CRÉER UN DÉCLENCHEUR

Définissez un nouveau déclencheur.

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE func_name ( arguments )

CRÉER UN TYPE

Définissez un nouveau type de données.

CREATE TYPE name AS
( attribute_name data_type [, ... ] )
CREATE TYPE name (
INPUT = input_function,
OUTPUT = output_function
[, RECEIVE = receive_function ]
[, SEND = send_function ]
[, ANALYZE = analyze_function ]
[, INTERNALLENGTH = { internal_length | VARIABLE } ]
[, PASSEDBYVALUE ]
[, ALIGNMENT = alignment ]
[, STORAGE = storage ]
[, DEFAULT = default ]
[, ELEMENT = element ]
[, DELIMITER = delimiter ]
)

CRÉER UN UTILISATEUR

Définissez un nouveau compte d'utilisateur de base de données.

CREATE USER name [ [ WITH ] option [ ... ] ]

Où l' option peut être -

SYSID uid
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| IN GROUP group_name [, ...]
| VALID UNTIL 'abs_time'

CRÉER UNE VUE

Définissez une nouvelle vue.

CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query

DÉALLOCER

Désallouer une instruction préparée.

DEALLOCATE [ PREPARE ] plan_name

DÉCLARER

Définissez un curseur.

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
[ FOR { READ ONLY | UPDATE [ OF column [, ...] ] } ]

EFFACER

Supprimer les lignes d'une table.

DELETE FROM [ ONLY ] table [ WHERE condition ]

DROP AGGREGATE

Supprimez une fonction d'agrégation.

DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ]

DROP CAST

Retirez un plâtre.

DROP CAST (source_type AS target_type) [ CASCADE | RESTRICT ]

CONVERSION DE GOUTTE

Supprimer une conversion.

DROP CONVERSION name [ CASCADE | RESTRICT ]

DROP BASE DE DONNÉES

Supprimer une base de données.

DROP DATABASE name

DROP DOMAIN

Supprimer un domaine.

DROP DOMAIN name [, ...] [ CASCADE | RESTRICT ]

FONCTION DROP

Supprimer une fonction.

DROP FUNCTION name ( [ type [, ...] ] ) [ CASCADE | RESTRICT ]

GROUPE DROP

Supprimer un groupe d'utilisateurs.

DROP GROUP name

DROP INDEX

Supprimer un index.

DROP INDEX name [, ...] [ CASCADE | RESTRICT ]

DROP LANGUAGE

Supprimez un langage procédural.

DROP [ PROCEDURAL ] LANGUAGE name [ CASCADE | RESTRICT ]

OPÉRATEUR DE GOUTTE

Supprimer un opérateur.

DROP OPERATOR name ( { left_type | NONE }, { right_type | NONE } )
[ CASCADE | RESTRICT ]

Classe d'opérateur de chute

Supprimez une classe d'opérateur.

DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ]

RÈGLE DE DROP

Supprimez une règle de réécriture.

DROP RULE name ON relation [ CASCADE | RESTRICT ]

SCHÉMA DE DROP

Supprimez un schéma.

DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]

SÉQUENCE DE GOUTTE

Supprimer une séquence.

DROP SEQUENCE name [, ...] [ CASCADE | RESTRICT ]

DROP TABLE

Supprimer une table.

DROP TABLE name [, ...] [ CASCADE | RESTRICT ]

DROP TABLESPACE

Supprimez un tablespace.

DROP TABLESPACE tablespace_name

GÂCHETTE DE DÉCLENCHEMENT

Retirez un déclencheur.

DROP TRIGGER name ON table [ CASCADE | RESTRICT ]

TYPE DE GOUTTE

Supprimer un type de données.

DROP TYPE name [, ...] [ CASCADE | RESTRICT ]

DROP UTILISATEUR

Supprimez un compte d'utilisateur de base de données.

DROP USER name

DROP VIEW

Supprimer une vue.

DROP VIEW name [, ...] [ CASCADE | RESTRICT ]

FIN

Validez la transaction en cours.

END [ WORK | TRANSACTION ]

EXÉCUTER

Exécutez une instruction préparée.

EXECUTE plan_name [ (parameter [, ...] ) ]

EXPLIQUE

Afficher le plan d'exécution d'une instruction.

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

FETCH

Récupérez les lignes d'une requête à l'aide d'un curseur.

FETCH [ direction { FROM | IN } ] cursor_name

Où la direction peut être vide ou l'un des -

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

SUBVENTION

Définissez les privilèges d'accès.

GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] table_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE db_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE tablespace_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION func_name ([type, ...]) [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE lang_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

INSÉRER

Créez de nouvelles lignes dans une table.

INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | query }

ECOUTEZ

Écoutez une notification.

LISTEN name

CHARGE

Chargez ou rechargez un fichier de bibliothèque partagée.

LOAD 'filename'

FERMER À CLÉ

Verrouillez une table.

LOCK [ TABLE ] name [, ...] [ IN lock_mode MODE ] [ NOWAIT ]

lock_mode est l'un des -

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

BOUGE TOI

Positionnez un curseur.

MOVE [ direction { FROM | IN } ] cursor_name

NOTIFIER

Générez une notification.

NOTIFY name

PRÉPARER

Préparez une instruction pour exécution.

PREPARE plan_name [ (data_type [, ...] ) ] AS statement

RÉINDEX

Reconstruisez les index.

REINDEX { DATABASE | TABLE | INDEX } name [ FORCE ]

LIBÉRER SAVEPOINT

Détruisez un point de sauvegarde précédemment défini.

RELEASE [ SAVEPOINT ] savepoint_name

RÉINITIALISER

Restaurez la valeur d'un paramètre d'exécution à la valeur par défaut.

RESET name
RESET ALL

RÉVOQUER

Supprimez les privilèges d'accès.

REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] table_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE db_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE tablespace_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION func_name ([type, ...]) [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE lang_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
FROM { username | GROUP group_name | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]

RETOUR EN ARRIERE

Abandonnez la transaction en cours.

ROLLBACK [ WORK | TRANSACTION ]

ROLLBACK POUR SAVEPOINT

Revenez à un point de sauvegarde.

ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name

SAVEPOINT

Définissez un nouveau point de sauvegarde dans la transaction en cours.

SAVEPOINT savepoint_name

SÉLECTIONNER

Récupérez les lignes d'une table ou d'une vue.

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR UPDATE [ OF table_name [, ...] ] ]
from_item peut être l'un des suivants:
[ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
( select ) [ AS ] alias [ ( column_alias [, ...] ) ]
function_name ( [ argument [, ...] ] )
[ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]
function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )
from_item [ NATURAL ] join_type from_item
[ ON join_condition | USING ( join_column [, ...] ) ]

SÉLECTIONNEZ DANS

Définissez une nouvelle table à partir des résultats d'une requête.

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR UPDATE [ OF table_name [, ...] ] ]

ENSEMBLE

Modifiez un paramètre d'exécution.

SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { time_zone | LOCAL | DEFAULT }

FIXER DES CONTRAINTES

Définissez les modes de vérification des contraintes pour la transaction en cours.

SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }

DÉFINIR L'AUTORISATION DE SESSION

Définissez l'identifiant de l'utilisateur de session et l'identifiant de l'utilisateur actuel de la session en cours.

SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username
SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION

RÉGLER LA TRANSACTION

Définissez les caractéristiques de la transaction en cours.

SET TRANSACTION transaction_mode [, ...]
SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]

transaction_mode est l'un des -

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

SPECTACLE

Afficher la valeur d'un paramètre d'exécution.

SHOW name
SHOW ALL

COMMENCER LA TRANSACTION

Démarrez un bloc de transaction.

START TRANSACTION [ transaction_mode [, ...] ]

transaction_mode est l'un des -

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

TRONQUER

Videz une table.

TRUNCATE [ TABLE ] name

ÉCOUTER

Arrêtez d'écouter une notification.

UNLISTEN { name | * }

METTRE À JOUR

Mettez à jour les lignes d'une table.

UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]
[ FROM from_list ]
[ WHERE condition ]

VIDE

Ramassez les ordures et analysez éventuellement une base de données.

VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]