安装openGauss数据库时将指定两个路径——数据库数据路径(data)和数据库安装路径(install)。openGauss数据库的大部分文件就存放在这两个路径下。
data目录用于存放数据库的全部数据和配置信息。
base为默认表空间的目录,其中包含数据库中的各个数据库,每个数据库由一个文件夹组成,文件名是该数据库的OID(Object IDentifier,对象标识符)。通过系统视图pg_database可以查询到数据库的OID信息:
openGauss=# select oid,datname from pg_database;
oid | datname
-------+-----------------
1 | template1
16397 | test
14801 | template0
14806 | postgres
(4 rows)
global目录用于存放共享的系统表和数据字典表,类似于Oracle数据库的系统表空间system和sysaux。
pg_clog目录用于存放事务提交状态数据。
pg_xlog目录用于存放WAL(Write-Ahead Logging,预写日志)文件。
pg_location目录为自建表空间的相对路径的目录。
pg_tblspc目录用于存放用户自建表空间实际目录的链接文件。
pg_log目录为系统日志目录,用于保存系统运行状况信息。
pg_audit目录用于存放审计信息。
pg_twophase目录用于存放预备事务的状态文件。
sql_monitor目录用于存放异常SQL信息,类似MySQL数据库的慢日志。
undo目录用于存放回滚(rollback)数据,类似Oracle数据库的undo表空间。
除了以上介绍的主要目录以外,还有如下3个重要的配置文件。
● postgresql.conf:数据库实例最重要的配置文件,用于存放所有的配置参数。
● pg_hba.conf:客户端认证配置文件,用于保存允许哪些IP的主机访问数据库、认证方法等信息。
● pg_ident.conf:配置哪些操作系统用户可以映射为数据库用户。
install目录包含bin、etc、include、lib、share 4个目录和一个文件version.cfg。
● bin目录包含数据库命令工具和程序,如gs_ctl、gs_guc、gsql、lz4、pg_resetxlog、cluster_guc.conf、gs_dump、gs_initdb、gs_restore、pg_config、gaussdb、gs_dumpall、gs_probackup、gstrace、pg_controldata及一些配置文件。其中,gaussdb是数据库进程的主程序。
● etc目录用于存放配置信息。
● include目录用于存放头文件。
● lib目录用于存放库文件。
● share目录用于存放一些共享文件。
● version.cfg文件用于保存数据库的版本信息。