风哥PostgreSQL DBA 实战技术课程
postgresql数据库与模式的关系:模式(schema)是对数据库(database)逻辑分割,在数据库创建的同时,就已经默认为数据库创建了一个模式--public,这也是该数据库的默认模式。所有为此数据库创建的对象(表、函数、试图、索引、序列等)都是常见在这个模式中的。postgresql创建数据库后默认创建了public模式,也默认属于该模式。可以在同一个库下面创建多个模式,当有多个模式时,进行操作是要带模式名称。如 create table shcema_name.test(id int not null );
表空间与数据库的关系:数据库创建语句CREATE DATABASE dbname 默认的数据库所有者是当前创建数据库的角色,默认的表空间是系统的默认表空间--pg_default。由于CREATE DATABASE dbname并没有指明数据库模板,所以系统将默认克隆template1数据库,得到新的数据库dbname。相对完整的语法应该是这样的:CREATE DATABASE dbname OWNER freeoa TEMPLATE template1 TABLESPACE tablespacename;在PostgreSQL中,表空间是一个目录,里面存储的是它所包含的数据库的各种物理文件。