改变表格

让我们创建两个简单的表:

CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);

添加列

ALTER TABLE simple_users ADD COLUMN password text;

simple_users

类型
用户名 文本
电子邮件 文本
密码 文本

将相同列添加到父表将合并两列的定义:

ALTER TABLE users ADD COLUMN password text;

注意:合并子项“simple_users”列 password 的定义

删除列

使用我们改变的表格:

ALTER TABLE users DROP COLUMN password;

用户

类型
用户名 文本
电子邮件 文本

simple_users

类型
用户名 文本
电子邮件 文本
密码 文本

由于我们首先将列添加到 simple_users,因此 PostgreSQL 确保不会删除此列。

现在,如果我们有另一个子表,它的 password 列当然会被删除。