数据库的创建
1.模版数据库
template0 --不要做任何修改,在做修改字符集或者排序规则的时候用这个。
template1 --可以做一些定制的修改
可以将现存的数据库标记为模版库,任何一个具有createdb权限角色的都可以使用该数据库。
create database my_db template my_template_db;
以超级管理员身份可以使任何一个库成为模版库。
update pg_database set datistemplate=true where datname=‘mydb‘;
如果你想修改或者删除被标记的模版数据库,请使用上述语句中的datistemplate 修改为false,这样就会放开编辑限制,
修改完毕后将此字段修改回来。
详细创建数据库可以查看创建数据库语法
\h create database;
2. schema使用
作用数据的隔离
create schema customer1;
create schema customer2;
重要的系统变量search_path:
同一个schema中不允许同名,不同的schema中的对象可以重名;
PostgreSQL中有一个环境变量search_path,它是一个模式列表。search_path路径中的第一个模式被称为current schema
类似于linux中的环境变量。
postgresql.conf中建议设置成
search_path ="$user",public;
建议在安装扩展包之前,为其创建一个schema;语句如下
create schema my_extensions;
然后把这个schema加入search_path
alter database mydb set search_path=‘$user‘,public,my_extensions;
该语句不能直接生效,需要断开此连接重联生效。
Postgresql管理_创建数据库