YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
常见问题(FAQ)
packcore
在生产环境中,偶尔会因为程序 Bug 等其他未知原因而导致程序出 core。程序出 core 不仅仅会导致查询执行失败,更严重的可能会出现集群故障,所以生成的 core 文件是非常重要的现场信息,需要提供给开发人员跟踪追查。
packcore 工具用来为生成的 core 文件进行打包,以便开发人员调试跟踪。
1 使用方法
packcore 是随 YMatrix 一同发布的 Python 工具, packcore 工具的位置在:
$GPHOME/sbin/packcore
$GPHOME/sbin
并不在环境变量中,所以需要通过绝对路径使用。
使用方法:
$GPHOME/sbin/packcore -b $GPHOME/bin/postgres postgres.core.4_1635732782.17213
其中:
-b $GPHOME/bin/postgres
指定可执行文件路径,因为工作进程都派生自 postgres master 进程postgres.core.4_1635732782.17213
是生成的 core 文件
执行命令后,会在当前目录生成和 core 文件名相同的 .tgz
文件,将该文件提供给开发人员即可。里面包括了 core 文件和现场环境信息
2 生成core文件
使用 packcore 工具进行 core 文件打包的前提是需要操作系统生成 core 文件。
生成 core 文件需要修改如下配置:
2.1 设置 coredump 件大小
设置 coredump 文件大小无限制:
ulimit -c unlimited
# 持久化方式
echo "ulimit -c unlimited" >> /etc/profile
2.2 配置 coredump 文件路径
vi /etc/sysctl.conf
然后增加 kernel.core_pattern=/home/mxadmin/%e.core.%s_%t
配置到末尾
执行 sysctl -p
使配置生效:
sysctl -p
该配置决定了 core 文件生成的位置和文件名模板,其中:
- %e:可执行文件名
- %s:信号编号
- %t:UNIX时间戳