
PostgreSQL 用户手册
PostgreSQL 实例(Instance)也叫集群(Cluster),服务多个数据库,集群初始化后默认侦听 5432 端口,自带 template0,template1 和 postgres 数据库,内容一致,对于模版数据库 template1 的改动会被复制到后续新建的数据库,可以指定 template0 新建未被自定义过的数据库用于恢复 pg_dump 备份的数据库。
数据库用名字空间(Namespace),即模式( Schema)结构化管理数据库对象,如:表、函数、触发器、等等。PostgreSQL 数据库对象必属某一模式( Schema)。
数据库用户绑定系统账户,实例范围有效,分普通用户(Normal Users)与超级用户(Superusers)即管理员角色。初始化实例时生成 postgres 数据库及系统用户。
模版数据库
被用作模版的数据库在创建数据库时不应有连接,创建过程中模版数据库也无法被连接,因此 template0 数据库默认无法连接。
pg_database 相关 flags
表空间
pg_default、pg_global 为默认表空间,存放于 PGDATA 目录,其他表空间可在 PGDATA 外,通过目录连接保存于 PGDATA/pg_tblspc/ 目录下。
oid2name
巡查 PostgreSQL 对象。
psql
PostgreSQL 原厂命令行客户端,连接 PostgreSQL 实例时默认连接与当前系统用户同名的数据库,数据库名体现在命令行提示符中。psql 接受 postgresql://username@host:port/database 格式的 LibPQ 数据库连接字符串。
命令行参数
psql 命令
以 \ 开始
常用查询
表的大小
select schemaname as table_schema,
relname as table_name,
pg_size_pretty(pg_relation_size(relid)) as data_size
from pg_catalog.pg_statio_user_tables
order by pg_relation_size(relid) desc;