PostgreSQL 创建、删除 schema
一个 PostgreSQL 数据库内部可以创建多个模式(schema),在模式里面创建表,索引等对象,PostgreSQL 数据库的默认 schema 为 public。用户可以创建自定义的 schema,也可以删除 schema。
1. 创建 schema
创建 schema 语法:
CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ] CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ] CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification where role_specification can be: user_name | CURRENT_ROLE | CURRENT_USER | SESSION_USER
创建 schema 示例:
create schema s1; create schema if not exists s2;
psql 终端中输入 \dn 可以列出所有 schema 名称:
db2=# \dn List of schemas Name | Owner --------+------- public | antpg s1 | antpg s2 | antpg (3 rows)
当数据库有多个 schema 时,可以通过 search_path 设置当前默认的 schema,也可以在访问表对象时加上 schema 的名称,如下所示:
create schema s1; create schema s2; set search_path=s1; create table t1(id int); create table s2.t1(id int);
2. 删除 schema
删除 schema 语法:
DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
删除 schema 示例:
drop schema s1; drop schema if exists s2 cascade;
文章评论
共0条评论