# SQL Commands

This part contains reference information for the SQL commands supported by PostgreSQL. By “SQL” the language in general is meant; information about the standards conformance and compatibility of each command can be found on the respective reference page.

Table of Contents

ABORT - abort the current transaction
ALTER AGGREGATE - change the definition of an aggregate function
ALTER CONVERSION - change the definition of a conversion
ALTER DATABASE - change a database
ALTER DOMAIN - change the definition of a domain
ALTER FUNCTION - change the definition of a function
ALTER GROUP - change role name or membership
ALTER INDEX - change the definition of an index
ALTER LANGUAGE - change the definition of a procedural language
ALTER OPERATOR - change the definition of an operator
ALTER OPERATOR CLASS - change the definition of an operator class
ALTER ROLE - change a database role
ALTER SCHEMA - change the definition of a schema
ALTER SEQUENCE - change the definition of a sequence generator
ALTER TABLE - change the definition of a table
ALTER TABLESPACE - change the definition of a tablespace
ALTER TRIGGER - change the definition of a trigger
ALTER TYPE - change the definition of a type
ALTER USER - change a database role
ANALYZE - collect statistics about a database
BEGIN - start a transaction block
CHECKPOINT - force a transaction log checkpoint
CLOSE - close a cursor
CLUSTER - cluster a table according to an index
COMMENT - define or change the comment of an object
COMMIT - commit the current transaction
COMMIT PREPARED - commit a transaction that was earlier prepared for two-phase commit
COPY - copy data between a file and a table
CREATE AGGREGATE - define a new aggregate function
CREATE CAST - define a new cast
CREATE CONSTRAINT TRIGGER - define a new constraint trigger
CREATE CONVERSION - define a new encoding conversion
CREATE DATABASE - create a new database
CREATE DOMAIN - define a new domain
CREATE FUNCTION - define a new function
CREATE GROUP - define a new database role
CREATE INDEX - define a new index
CREATE LANGUAGE - define a new procedural language
CREATE OPERATOR - define a new operator
CREATE OPERATOR CLASS - define a new operator class
CREATE ROLE - define a new database role
CREATE RULE - define a new rewrite rule
CREATE SCHEMA - define a new schema
CREATE SEQUENCE - define a new sequence generator
CREATE TABLE - define a new table
CREATE TABLE AS - define a new table from the results of a query
CREATE TABLESPACE - define a new tablespace
CREATE TRIGGER - define a new trigger
CREATE TYPE - define a new data type
CREATE USER - define a new database role
CREATE VIEW - define a new view
DEALLOCATE - deallocate a prepared statement
DECLARE - define a cursor
DELETE - delete rows of a table
DROP AGGREGATE - remove an aggregate function
DROP CAST - remove a cast
DROP CONVERSION - remove a conversion
DROP DATABASE - remove a database
DROP DOMAIN - remove a domain
DROP FUNCTION - remove a function
DROP GROUP - remove a database role
DROP INDEX - remove an index
DROP LANGUAGE - remove a procedural language
DROP OPERATOR - remove an operator
DROP OPERATOR CLASS - remove an operator class
DROP ROLE - remove a database role
DROP RULE - remove a rewrite rule
DROP SCHEMA - remove a schema
DROP SEQUENCE - remove a sequence
DROP TABLE - remove a table
DROP TABLESPACE - remove a tablespace
DROP TRIGGER - remove a trigger
DROP TYPE - remove a data type
DROP USER - remove a database role
DROP VIEW - remove a view
END - commit the current transaction
EXECUTE - execute a prepared statement
EXPLAIN - show the execution plan of a statement
FETCH - retrieve rows from a query using a cursor
GRANT - define access privileges
INSERT - create new rows in a table
LISTEN - listen for a notification
LOAD - load or reload a shared library file
LOCK - lock a table
MOVE - position a cursor
NOTIFY - generate a notification
PREPARE - prepare a statement for execution
PREPARE TRANSACTION - prepare the current transaction for two-phase commit
REINDEX - rebuild indexes
RELEASE SAVEPOINT - destroy a previously defined savepoint
RESET - restore the value of a run-time parameter to the default value
REVOKE - remove access privileges
ROLLBACK - abort the current transaction
ROLLBACK PREPARED - cancel a transaction that was earlier prepared for two-phase commit
ROLLBACK TO SAVEPOINT - roll back to a savepoint
SAVEPOINT - define a new savepoint within the current transaction
SELECT - retrieve rows from a table or view
SELECT INTO - define a new table from the results of a query
SET - change a run-time parameter
SET CONSTRAINTS - set constraint checking modes for the current transaction
SET ROLE - set the current user identifier of the current session
SET SESSION AUTHORIZATION - set the session user identifier and the current user identifier of the current session
SET TRANSACTION - set the characteristics of the current transaction
SHOW - show the value of a run-time parameter
START TRANSACTION - start a transaction block
TRUNCATE - empty a table or set of tables
UNLISTEN - stop listening for a notification
UPDATE - update rows of a table
VACUUM - garbage-collect and optionally analyze a database