Postgres-xl 运维相关
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相关参数优化调整配置
复制代码
数据库备份与还原
数据库备份
全量备份
增量备份
数据库还原
相关文章