要修改现有数据表的结构,您可以使用 ALTER TABLE 命令。当您更改数据表结构时,更改也会传播到每个底层的数据块。

注意

虽然您可以更改现有数据表的结构,但您不能更改连续聚合的结构。对于连续聚合,唯一允许的更改是重命名视图、设置架构、更改所有者以及调整其他参数。

例如,要向名为 distributors 的表添加一个名为 address 的新列

ALTER TABLE distributors
ADD COLUMN address varchar(30);

这将创建新列,所有现有条目对于新列记录为 NULL

在某些情况下,更改结构可能会消耗大量资源。如果需要重写底层数据,则尤其如此。如果您想在应用结构更改之前检查它,您可以使用 CHECK 约束,如下所示

ALTER TABLE distributors
ADD CONSTRAINT zipchk
CHECK (char_length(zipcode) = 5);

这将扫描表以验证现有行是否满足约束,但不需要重写表。

有关更多信息,请参阅 PostgreSQL ALTER TABLE 文档

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页