基本概念
postgresql成为数据库管理系统DBMS,在内存中以进程的形态运行起来成为一个实例,可管理多个database。
数据库databases:包含表、索引、视图、存储过程;
模式schema:多个对象组成一个模式,多个模式组成一个数据库;
表空间tablespace:一个对象(比如:表)在文件系统中是一个文件,表空间指向了文件的目录,创建对象时,指定具体的表空间,而不用指定物理路径;
schema
创建数据库后,还需要创建模式才能访问对象,作用:
1、多个用户使用同一个数据库不受干扰;
2、将对象进行逻辑分组,便于管理;
3、第三方应用与模式一一对应,不会冲突;
一般会创建模式public,所包含的相关对象都能被访问。
hrdb=#\c hrdb
You are now connected to database "hrdb" as user "postgres".
hrdb=# \dn
List of schemas
Name | Owner
--------+----------
public | postgres
(1 row)
CREATE SCHEMA hr;
CREATE SCHEMA hr AUTHORIZATION tony; --指定owner
ALTER SCHEMA hr;
ALTER SCHEMA hr RENAME TO newhr;--重命名
ALTER SCHEMA hr OWNER TO {newuser | CURRENT_USER | SESSION_USER};
DROP SCHEMA hr;