绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Postgres-xl 运维相关
2022-05-06 16:16:20

Postgres-XL 运维相关

psql 命令客户端使用

命令格式: psql -h -U -p  (更多参考: psql --help)

#数据库连接参数
  -h, --host=HOSTNAME      database server host or socket directory (default: "local socket")
  -p, --port=PORT          database server port (default: "5432")
  -U, --username=USERNAME  database user name (default: "postgres")
  -w, --no-password        never prompt for password
  -W, --password           force password prompt (should happen automatically)
#登录后常见语法使用
\l:查看库
\c:切换库
\d:查看库具体信息(表、函数、序列等)
\d+ 表名:表结构详细信息
\?:更多命令查看及使用
复制代码

常见运维SQL使用

#查看集群节点信息
select * from pgxc_node
#查看数据库信息
select * from pg_database
#查看数据库磁盘占有量(使用pg_size_pretty进行大小格式查看)
select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_database;
#查看数据库表结构大小
SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC
#数据库事务xid
select age(datfrozenxid),datname from pg_database;
#数据库表事务xid查看
SELECT relname, age(relfrozenxid) as xid_age, pg_size_pretty(pg_table_size(oid)) as table_size FROM pg_class WHERE relkind = 'r' and pg_table_size(oid) > 1073741824
ORDER BY age(relfrozenxid) DESC LIMIT 20;

复制代码

vacuum 清理机制配置

vacuum 简介

Postgresql的MVCC机制

postgresql的MVCC机制,我们知道,postgresql是没有undo表空间的,它通过数据的多版本来实现mvcc,一条数据的delete并不会释放数据占用空间,同理update是通过delete+insert的方式实现,通过这种方式减少了锁的使用,提高了并发性能。但是这种设计天然带来一个问题:旧数据的清理,如果清理不及时就会造成数据膨胀,这也是在频繁更新的oltp系统中数据膨胀问题的原因 MVCC:Multiversion concurrency control,多版本控制机制。应对高并发事务, MVCC 比单纯的加行锁更有效, 开销更小。

关键词说明

OLTP/OLAP:OLTP(on-line transaction processing) OLAP(On-Line Analytical Processing)翻译为联机分析处理,从字面上来看OLTP是做事务处理,OLAP是做分析处理。从对数据库操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询

Vacuum命令介绍

清理机制配置

#1.清理脚本配置
vim vacuum.sh
注意:
1.其中目录替换为实际目录
2.命令脚本路径自行替换
--------------------------
#!/bin/sh
echo "开始数据库清理:$(date +%H:%M:%S)" >> /data/vacuum/vacuumdb_$(date +%F).log
/usr/local/pgxl10/bin/vacuumdb -h 192.168.0.183 -p 5432 -d data_center -f -z -v >> /data/vacuum/vacuumdb_$(date +%F).log 2>&1
echo "结束数据库清理:$(date +%H:%M:%S)" >> /data/vacuum/vacuumdb_$(date +%F).log
-------------------------

#2.定时任务配置
常见情况会创建postgres Linux用户进行pg的管理
sudo su - postgres
#定时任务执行脚本
crontab -e 
20 2 15 * * /bin/sh /data/vacuum.sh  #每月15号 上午2点20分执行(具体根据实际业务调整执行时间及频率等)

#3.观察磁盘占用情况

df -h  #1.直接查看磁盘使用情况

#4.pg关于vacuum相关参数优化调整配置

复制代码

数据库备份与还原

数据库备份

全量备份

增量备份

数据库还原


作者:caitxj_BC
链接:https://juejin.cn/post/6954197573590581256

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Postgres-XL
创建时间:2022-02-18 17:49:48
Postgres-XL
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • itt0918
    专家
戳我,来吐槽~