PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。下图展示了PostgreSQL数据库的逻辑存储结构。
下面重点介绍一下PostgreSQL数据库中的数据库集群。
数据库集群也叫数据库集簇,是指由单个PostgreSQL数据库服务器实例管理的所有数据库集合。组成数据库集群的这些数据库使用相同的全局配置文件和监听端口、共用数据库的后台进程和内存结构。一个数据库集群可以包括:多个数据库、多个用户以及数据库中的所有对象。
视频讲解如下 |
【赵渝强老师】PostgreSQL的数据库集群 |
在文件系统术语中,一个数据库集群是一个单一目录,该目录称之为数据目录或数据区域,所有数据都将被存储在该目录中。它没有默认的位置,其文件系统位置可以由***-D选项或者环境变量PGDATA***指定,例如:
[postgres@mydb pgsql]$ pwd
/home/postgres/training/pgsql
[postgres@mydb pgsql]$ bin/pg_ctl -D data/ -l logfile start