关于 YMatrix
部署数据库
使用数据库
管理集群
最佳实践
高级功能
高级查询
联邦查询
Grafana 监控
备份恢复
灾难恢复
管理手册
性能调优
故障诊断
工具指南
系统配置参数
SQL 参考
本文档介绍了 YMatrix 数据库系统的集群在运行过程中涉及的文件目录体系,从功能维度划分,主要涵盖以下几类目录:
/opt/ymatrix/matrixdb6:集群安装的核心目录,提供数据库运行所需的二进制文件、库文件、配置模板等基础环境。
matrixdb6/
├── bin # 核心可执行命令目录
├── docs # 可执行命令的提示文档目录
├── etc # git信息文件
├── greenplum_path.sh # 环境变量初始化脚本
├── include # 头文件目录(接口声明文件)
├── lib # 核心库文件目录(动态链接库、静态库)
├── libexec # 内部执行脚本/工具目录(集群内部调用)
├── sbin # 需管理员权限的运维工具
└── share # 共享文件目录(系统表定义、SQL脚本等)
/etc/matrixdb6:集群全局配置目录,存储集群信息,系统服务配置等文件。
matrixdb6/
├── alert.yml # 告警配置文件
├── auth.conf # 存储UI页面的mxadmin用户信息
├── cluster.conf # 集群核心配置文件(集群节点、端口、角色等基础信息)
├── defaults.conf # 端口使用默认参数文件(
├── mxui # MXUI 管理界面配置目录(Web UI 相关配置)
├── physical_cluster.toml # 物理集群配置文件(包含了etcd端口)
├── postmaster.env # Postmaster 进程环境变量配置(数据库主进程运行环境)
├── recover_db_cluster.json # 记录数据库实例集群的节点配置信息。
├── recover_physical_cluster.json # 记录的是 YMaitrx SOA 架构所需的 etcd 集群的配置信息,被 etcdrecover 命令所依赖
├── scripts # 配置相关脚本目录(监控脚本)
├── service # 系统服务配置目录(如 etcd组件,mxui组件等)
└── supervisor.conf # Supervisor 服务配置文件(supervisor 管理数据库进程的规则)
通过在数据库执行 select * from gp_segment_configuration;,可以看到数据存储目录。
├── base # 用户数据库数据存储目录,每个数据库对应独立OID子目录,存储表、索引等物理文件
├── current_logfiles # 日志文件路径映射文件,记录当前活跃日志的存储路径,支撑日志轮转
├── fts_probe_file.bak # FTS故障检测服务备份文件,存储节点探测状态,用于故障快速恢复
├── global # 集群全局系统元数据目录,存储共享系统表(数据库/用户/表空间信息)
├── init_cluster.json # 节点初始化配置文件,记录节点角色、端口等核心信息
├── internal.auto.conf # 记录自动生成的数据库id
├── log # 节点运行日志目录
├── pg_commit_ts # 事务提交时间戳目录,记录事务提交时间,支撑时间点恢复与一致性校验
├── pg_distributedlog # 分布式事务日志目录,存储跨节点两阶段提交日志,保障分布式事务原子性
├── pg_dynshmem # 动态共享内存目录,存储并行查询的进程间通信缓存,自动分配释放
├── pg_hba.conf # 客户端访问控制配置文件,定义IP、用户、数据库的访问规则与认证方式
├── pg_hba.conf.bak # pg_hba.conf 的备份文件,用于访问控制配置错误时回滚
├── pg_ident.conf # 身份映射配置文件,实现操作系统用户到数据库用户的权限映射
├── pg_logical # 逻辑复制配置目录,存储复制槽、解码插件数据,支撑外部数据同步
├── pg_multixact # 多事务并发控制目录,管理共享更新场景的事务锁与ID映射,避免并发冲突
├── pg_notify # 异步通知目录,存储LISTEN/NOTIFY机制的消息数据,支撑应用与数据库异步通信
├── pg_replslot # 复制槽目录,记录主从复制日志同步位点,有domino流的日志使用
├── pg_serial # 序列化事务目录,存储序列化隔离级别下的冲突检测信息,避免并发数据问题
├── pg_snapshots # 事务快照目录,存放显式导出的快照,支撑时间点查询、并行备份
├── pg_stat # 持久化统计信息目录,存储表行数、索引使用率等长期运行指标
├── pg_stat_tmp # 临时统计信息目录,实时收集近期运行指标,定期同步到pg_stat
├── pg_subtrans # 子事务状态目录,记录嵌套事务的提交/回滚状态,保障事务一致性
├── pg_tblspc # 表空间符号链接目录,存放自定义表空间到实际存储路径的链接
├── pg_twophase # 两阶段提交目录,存储分布式事务准备阶段数据,重启后自动处理残留事务
├── PG_VERSION # 数据库版本标识文件,记录内核大版本号,用于集群版本校验
├── pg_wal # 预写事务日志目录,存储事务预写日志,支撑故障恢复与主从复制
├── pg_xact # 事务状态目录,存储事务提交/回滚状态及事务ID与WAL日志映射关系
├── postgresql.auto.conf # 无需修改的文件
├── postgresql.conf # 节点核心配置文件,定义内存分配、连接数、日志级别等运行参数
├── postgresql.conf.bak # postgresql.conf的备份文件,用于参数配置错误时回滚恢复
├── postmaster.opts # 进程启动参数文件,记录postmaster进程的启动命令行参数
└── postmaster.pid # 核心进程PID文件,记录postmaster进程ID、启动时间、端口等
├── base # 用户数据库数据存储目录,每个数据库对应独立OID子目录,存储表、索引等物理文件
├── current_logfiles # 日志文件路径映射文件,记录当前活跃日志的存储路径,支撑日志轮转
├── fts_probe_file.bak # FTS故障检测服务备份文件,存储节点探测状态,用于故障快速恢复
├── global # 集群全局系统元数据目录,存储共享系统表(数据库/用户/表空间信息)
├── internal.auto.conf # 记录自动生成的数据库id
├── log # 节点运行日志目录
├── pg_commit_ts # 事务提交时间戳目录,记录事务提交时间,支撑时间点恢复与一致性校验
├── pg_distributedlog # 分布式事务日志目录,存储跨节点两阶段提交日志,保障分布式事务原子性
├── pg_dynshmem # 动态共享内存目录,存储并行查询的进程间通信缓存,自动分配释放
├── pg_hba.conf # 客户端访问控制配置文件,定义IP、用户、数据库的访问规则与认证方式
├── pg_hba.conf.bak # pg_hba.conf的备份文件,用于访问控制配置错误时回滚
├── pg_ident.conf # 身份映射配置文件,实现操作系统用户到数据库用户的权限映射
├── pg_logical # 逻辑复制配置目录,存储复制槽、解码插件数据,支撑外部数据同步
├── pg_multixact # 多事务并发控制目录,管理共享更新场景的事务锁与ID映射,避免并发冲突
├── pg_notify # 异步通知目录,存储LISTEN/NOTIFY机制的消息数据,支撑应用与数据库异步通信
├── pg_replslot # 复制槽目录,记录主从复制日志同步位点,有domino流的日志使用
├── pg_serial # 序列化事务目录,存储序列化隔离级别下的冲突检测信息,避免并发数据问题
├── pg_snapshots # 事务快照目录,存放显式导出的快照,支撑时间点查询、并行备份
├── pg_stat # 持久化统计信息目录,存储表行数、索引使用率等长期运行指标
├── pg_stat_tmp # 临时统计信息目录,实时收集近期运行指标,定期同步到pg_stat
├── pg_subtrans # 子事务状态目录,记录嵌套事务的提交/回滚状态,保障事务一致性
├── pg_tblspc # 表空间符号链接目录,存放自定义表空间到实际存储路径的链接
├── pg_twophase # 两阶段提交目录,存储分布式事务准备阶段数据,重启后自动处理残留事务
├── PG_VERSION # 数据库版本标识文件,记录内核大版本号,用于集群版本校验
├── pg_wal # 预写事务日志目录,存储事务预写日志,支撑故障恢复与主从复制
├── pg_xact # 事务状态目录,存储事务提交/回滚状态及事务ID与WAL日志映射关系
├── postgresql.auto.conf # 无需修改的文件
├── postgresql.conf # 节点核心配置文件,定义内存分配、连接数、日志级别等运行参数
├── postgresql.conf.bak # postgresql.conf的备份文件,用于参数配置错误时回滚恢复
├── postmaster.opts # 进程启动参数文件,记录postmaster进程的启动命令行参数
└── postmaster.pid # 核心进程PID文件,记录postmaster进程ID、启动时间、端口等
在 /etc/matrixdb6/recover_physical_cluster.json 中有 etcd 目录的地址
.
├── data # ETCD 核心数据持久化目录(YMatrix 集群协调的“数据基石”)
└── log # ETCD 运行日志目录(故障排查核心依据)
/home/mxadmin/gpAdminLogs/
├── check-version_20251221.log # 记录验证与 etcd 集群的连通性,
├── gpconfig_20251113.log # 记录 gpconfig 工具的操作
├── mxdeletesystem_20251201.log # 记录 mxdeletesystem 工具执行的 “删除分布式系统资源” 操作
├── mxstart_20251221.log # 记录 mxstart 工具的执行过程
├── mxstate_20251203.log # 记录 mxstate 工具执行的集群状态检查结果
└── mxstop_20251221.log # 记录 mxstop 工具(集群停止脚本)的执行过程
/var/log/matrixdb6/
├── cluster_fgd4USi2WTNdsv7dhbXzwu.log # 记录cluster...进程操作的日志
├── replication-2_fgd4USi2WTNdsv7dhbXzwu.log # 记录replication-2...进程操作的日志
├── replication-4_fgd4USi2WTNdsv7dhbXzwu.log # 记录replication-4...进程操作的日志
└── shard_fgd4USi2WTNdsv7dhbXzwu.log # 记录shard_...进程操作的日志
......