Postgresql:修订间差异
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
=performance= | |||
<pre> | |||
连接数 | |||
SELECT datname, numbackends | |||
FROM pg_stat_database | |||
WHERE datname = 'appdb'; | |||
事务/查询情况 | |||
SELECT datname, xact_commit, xact_rollback, blks_read, blks_hit | |||
FROM pg_stat_database | |||
WHERE datname = 'appdb'; | |||
慢查询(结合 pgaudit 或 pg_stat_statements) | |||
SELECT * | |||
FROM pg_stat_statements | |||
WHERE dbid = (SELECT oid FROM pg_database WHERE datname='appdb') | |||
ORDER BY total_exec_time DESC | |||
LIMIT 10; | |||
SELECT datname, | |||
numbackends, | |||
xact_commit, | |||
xact_rollback, | |||
blks_read, | |||
blks_hit | |||
FROM pg_stat_database | |||
WHERE datname = 'appdb'; | |||
</pre> | |||
=learn postgresql= | =learn postgresql= |
2025年10月1日 (三) 14:45的最新版本
performance
连接数 SELECT datname, numbackends FROM pg_stat_database WHERE datname = 'appdb'; 事务/查询情况 SELECT datname, xact_commit, xact_rollback, blks_read, blks_hit FROM pg_stat_database WHERE datname = 'appdb'; 慢查询(结合 pgaudit 或 pg_stat_statements) SELECT * FROM pg_stat_statements WHERE dbid = (SELECT oid FROM pg_database WHERE datname='appdb') ORDER BY total_exec_time DESC LIMIT 10; SELECT datname, numbackends, xact_commit, xact_rollback, blks_read, blks_hit FROM pg_stat_database WHERE datname = 'appdb';
learn postgresql
CREATE EXTENSION IF NOT EXISTS pgaudit
SELECT 'CREATE EXTENSION IF NOT EXISTS pgaudit;' as sql, datname FROM pg_database WHERE datallowconn AND datname NOT IN ('template0','template1'); # or \c db1; CREATE EXTENSION IF NOT EXISTS pgaudit; \c db2; CREATE EXTENSION IF NOT EXISTS pgaudit; \c db3; CREATE EXTENSION IF NOT EXISTS pgaudit;
postgresql 修改密码
sudo -i -u postgres pg改密码 ot@f2970f08e667:/# psql -U postgres psql (9.4.26) Type "help" for help. postgres=# \password Enter new password: Enter it again:
ruoob
here https://www.runoob.com/postgresql/postgresql-syntax.html
https://www.runoob.com/postgresql/postgresql-tutorial.html
优点
python中的web开发框架Django也是推荐与PostgreSQL配合使用的。 说PostgreSQL性能差的,可以看:一个简单PGSQL调优的例子 性能可以达到30万QPS,随机更新的测试可以达到10万tps
options
版本9.6.6
要备份脚本 和常用 命令 ,并要上线让老谢用一下下
备份
##2.逻辑备份源实例数据 通过 PostgreSQL 客户端,连接本地(源) PostgreSQL 数据库。 执行如下命令,备份数据。 pg_dump -U username -h hostname -p port databasename -f filename 参数说明如下: username:本地数据库用户名 hostname:本地数据库主机名,如果是在本地数据库主机登录,可以使用 localhost port:本地数据库端口号 databasename:要备份的本地数据库名 filename:要生成的备份文件名称 例如,数据库用户 pgtest 要备份本地 PostgreSQL 数据库,登录 PostgreSQL 主机后,通过如下命令备份数据。 pg_dump -U pgtest -h localhost -p 4321= pg001 -f pg001.sql
pg_back 2.0.1 发布,PostgreSQL 的备份脚本 https://github.com/orgrim/pg_back/releases/tag/v2.0.1
监控
http://pg-monz.github.io/pg_monz/index-en.html
postgresql 主从
PostgreSQL 9.5.5主从实现之异步流复制(Hot Standby)
postgresql集群
以前PostgreSQL本身没有集群功能,但是有开源的第三方解决方案,比较成熟的有Postgres XC(PGXC)和Postgres XL(PGXL)。PGXC跟进PostgreSQl的版本相对比较快,PGXL的功能比较强大一些,主要多了MPP (Massively Parallel Processing) Parallelism。PGXC集群的架构主要分全局事务管理器、协调器和数据节点三个部分,通过全局事务管理器(GTM ,Global Transaction Manager)作为单点来控制多个协调器(Coordinator),由协调器来解析SQL并把SQL分到多个数据节点(Data Node)上,取回数据后合并数据集,返回给调用者。
https://www.postgresql.org/docs/9.6/static/high-availability.html
https://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E5%8D%81%E4%B8%83%E7%AB%A0
PG的两种集群技术:Pgpool-II与Postgres-XL
连接tools
参考