📅  最后修改于: 2023-12-03 15:18:38.590000             🧑  作者: Mango
在 PostgreSQL 中,架构是在数据库中创建一个逻辑命名空间的方法。架构主要用于在同一个数据库内创建多个独立的数据模型。
要创建一个新的架构,可以使用以下语法:
CREATE SCHEMA schema_name;
例如,要创建一个名为 sales
的新架构,可以像这样:
CREATE SCHEMA sales;
如果要将表创建在特定的架构下,可以使用以下语法:
CREATE TABLE schema_name.table_name (
column1 datatype1,
column2 datatype2,
.....
);
例如,要在 sales
架构下创建一个名为 orders
的新表,可以按以下方式执行:
CREATE TABLE sales.orders (
order_id serial PRIMARY KEY,
customer_name VARCHAR (50) NOT NULL,
order_date DATE NOT NULL,
amount double precision NOT NULL
);
要查看当前数据库中的所有架构,可以使用以下命令:
\dn
每个用户在 PostgreSQL 数据库中都有默认架构。如果未指定架构名称,则使用默认架构。
默认情况下,创建的所有架构都将放在 public
中。要更改默认架构,请使用以下命令:
ALTER ROLE role_name SET search_path = schema_name;
例如,将默认架构更改为 sales
:
ALTER ROLE myuser SET search_path = sales;
删除架构将删除架构中的所有对象。要删除架构,可以使用以下语法:
DROP SCHEMA IF EXISTS schema_name;
例如,要删除 sales
架构及其所有对象:
DROP SCHEMA IF EXISTS sales CASCADE;
在这里需要注意,CASCADE
选项将删除架构中的所有对象。如果不指定 CASCADE
,则不允许删除非空架构。
在 PostgreSQL 数据库中,架构可以更好地组织和管理数据模型。可以使用上述命令创建、修改和删除架构,以满足不同数据模型的需要。