September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

I. 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 COLLATION -- change the definition of a collation
ALTER CONVERSION -- change the definition of a conversion
ALTER DATABASE -- change a database
ALTER DEFAULT PRIVILEGES -- define default access privileges
ALTER DOMAIN --  change the definition of a domain
ALTER EVENT TRIGGER -- change the definition of an event trigger
ALTER EXTENSION --  change the definition of an extension
ALTER FOREIGN DATA WRAPPER -- change the definition of a foreign-data wrapper
ALTER FOREIGN TABLE -- change the definition of a foreign table
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 LARGE OBJECT -- change the definition of a large object
ALTER MATERIALIZED VIEW -- change the definition of a materialized view
ALTER OPERATOR -- change the definition of an operator
ALTER OPERATOR CLASS -- change the definition of an operator class
ALTER OPERATOR FAMILY -- change the definition of an operator family
ALTER POLICY -- change the definition of a row level security policy
ALTER ROLE -- change a database role
ALTER RULE -- change the definition of a rule
ALTER SCHEMA -- change the definition of a schema
ALTER SEQUENCE --  change the definition of a sequence generator
ALTER SERVER -- change the definition of a foreign server
ALTER SYSTEM -- change a server configuration parameter
ALTER TABLE -- change the definition of a table
ALTER TABLESPACE -- change the definition of a tablespace
ALTER TEXT SEARCH CONFIGURATION -- change the definition of a text search configuration
ALTER TEXT SEARCH DICTIONARY -- change the definition of a text search dictionary
ALTER TEXT SEARCH PARSER -- change the definition of a text search parser
ALTER TEXT SEARCH TEMPLATE -- change the definition of a text search template
ALTER TRIGGER -- change the definition of a trigger
ALTER TYPE --  change the definition of a type
ALTER USER -- change a database role
ALTER USER MAPPING -- change the definition of a user mapping
ALTER VIEW -- change the definition of a view
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 COLLATION -- define a new collation
CREATE CONVERSION -- define a new encoding conversion
CREATE DATABASE -- create a new database
CREATE DOMAIN -- define a new domain
CREATE EVENT TRIGGER -- define a new event trigger
CREATE EXTENSION -- install an extension
CREATE FOREIGN DATA WRAPPER -- define a new foreign-data wrapper
CREATE FOREIGN TABLE -- define a new foreign table
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 MATERIALIZED VIEW -- define a new materialized view
CREATE OPERATOR -- define a new operator
CREATE OPERATOR CLASS -- define a new operator class
CREATE OPERATOR FAMILY -- define a new operator family
CREATE POLICY -- define a new row level security policy for a table
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 SERVER -- define a new foreign server
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 TEXT SEARCH CONFIGURATION -- define a new text search configuration
CREATE TEXT SEARCH DICTIONARY -- define a new text search dictionary
CREATE TEXT SEARCH PARSER -- define a new text search parser
CREATE TEXT SEARCH TEMPLATE -- define a new text search template
CREATE TRANSFORM -- define a new transform
CREATE TRIGGER -- define a new trigger
CREATE TYPE -- define a new data type
CREATE USER -- define a new database role
CREATE USER MAPPING -- define a new mapping of a user to a foreign server
CREATE VIEW -- define a new view
DEALLOCATE -- deallocate a prepared statement
DECLARE -- define a cursor
DELETE -- delete rows of a table
DISCARD -- discard session state
DO -- execute an anonymous code block
DROP AGGREGATE -- remove an aggregate function
DROP CAST -- remove a cast
DROP COLLATION -- remove a collation
DROP CONVERSION -- remove a conversion
DROP DATABASE -- remove a database
DROP DOMAIN -- remove a domain
DROP EVENT TRIGGER -- remove an event trigger
DROP EXTENSION -- remove an extension
DROP FOREIGN DATA WRAPPER -- remove a foreign-data wrapper
DROP FOREIGN TABLE -- remove a foreign table
DROP FUNCTION -- remove a function
DROP GROUP -- remove a database role
DROP INDEX -- remove an index
DROP LANGUAGE -- remove a procedural language
DROP MATERIALIZED VIEW -- remove a materialized view
DROP OPERATOR -- remove an operator
DROP OPERATOR CLASS -- remove an operator class
DROP OPERATOR FAMILY -- remove an operator family
DROP OWNED -- remove database objects owned by a database role
DROP POLICY -- remove a row level security policy from a table
DROP ROLE -- remove a database role
DROP RULE -- remove a rewrite rule
DROP SCHEMA -- remove a schema
DROP SEQUENCE -- remove a sequence
DROP SERVER -- remove a foreign server descriptor
DROP TABLE -- remove a table
DROP TABLESPACE -- remove a tablespace
DROP TEXT SEARCH CONFIGURATION -- remove a text search configuration
DROP TEXT SEARCH DICTIONARY -- remove a text search dictionary
DROP TEXT SEARCH PARSER -- remove a text search parser
DROP TEXT SEARCH TEMPLATE -- remove a text search template
DROP TRANSFORM -- remove a transform
DROP TRIGGER -- remove a trigger
DROP TYPE -- remove a data type
DROP USER -- remove a database role
DROP USER MAPPING -- remove a user mapping for a foreign server
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
IMPORT FOREIGN SCHEMA -- import table definitions from a foreign server
INSERT -- create new rows in a table
LISTEN -- listen for a notification
LOAD -- load 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
REASSIGN OWNED -- change the ownership of database objects owned by a database role
REFRESH MATERIALIZED VIEW -- replace the contents of a materialized view
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
SECURITY LABEL -- define or change a security label applied to an object
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 check timing 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
VALUES -- compute a set of rows