Skip to content
masterclass Buddy

PostgreSQL · Command

ALTER TABLE

ALTER TABLE changes an existing table's definition. It supports column, constraint, schema, storage, ownership, and partition changes.

Last updated

Syntax

ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ]
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name
ALTER TABLE [ IF EXISTS ] name RENAME TO new_name
ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema
ALTER TABLE [ IF EXISTS ] name ATTACH PARTITION partition_name { FOR VALUES partition_bound_spec | DEFAULT }
ALTER TABLE [ IF EXISTS ] name DETACH PARTITION partition_name [ CONCURRENTLY | FINALIZE ]

In-depth API docs are only for subscribers: parameters, examples, common mistakes and interview practice.

Subscribe
  • CREATE TABLE
  • ALTER TABLE ... ENABLE ROW LEVEL SECURITY
  • ALTER TABLE ... ATTACH PARTITION
  • ALTER TABLE ... DETACH PARTITION
  • ANALYZE
  • CREATE TABLESPACE

Source: PostgreSQL: Documentation: 18: ALTER TABLE. Checked 2026-11-03.