PostgreSql
文章平均质量分 80
gguxxing008
这个作者很懒,什么都没留下…
展开
-
pg解决热点问题的集中方法
1、传统方法vi test.sql update a set cnt=cnt-1, ts=clock_timestamp() where id=1 returning *; pgbench -M prepared -n -r -P 1 -f ./test.sql -c 12 -j 12 -T 120 2、skip locked 跳过被锁的行update a set cnt=cnt-1 , ts=clock_timestamp() where ctid = (s...原创 2021-11-04 19:39:16 · 333 阅读 · 0 评论 -
pgBagder日志分析
1 前言pgBagder 是 PostgreSQL 的新一代日志分析器, 由 Darold (也是 ora2pg 的作者, 强大的迁移工具) 创建的。pgBadger 是一种快速、简便的工具, 用于分析 SQL 通信量, 并使用动态图来创建 HTML5 报告。pgBadger 是了解 PostgreSQL 服务器的行为并确定需要优化哪些 SQL 查询的完美工具。pgBagder 是在linux操作系统中运行的程序,可以实现日志异机分析。2 安装环境操作系统:Linux。本文操作系统版本为 Cen原创 2021-08-23 17:10:14 · 546 阅读 · 0 评论 -
vacuum freeze
背景PostgreSQL 目前默认的存储引擎,事务可见性需要依赖行头的事务号,因为事务号是32位的,会循环使用。在一条记录产生后,如果再次经历了20亿个事务,必须对其进行freeze,否则数据库会认为这条记录是未来事务产生的(可见性判断)。因此FREEZE操作是数据库在32位事务号的情况下,经常要做的。对全表进行FREEZE操作时,会扫描整表,将大于指定阈值least(autovacuum_freeze_min_age, 表级参数vacuum_freeze_min_age)年龄的记录设置为f原创 2021-01-27 14:47:51 · 1876 阅读 · 4 评论 -
postgresql垃圾清理插件pg_repack
pg_repack插件部署:wget http://api.pgxn.org/dist/pg_repack/1.4.5/pg_repack-1.4.5.zipsource /home/postgres/.bash_profilemakemake installcreate extension pg_repack;--到指定数据库下执行Postgresql通过数据多版本实现mvcc,删除数据并不会真正删除数据,而是修改标识,更新是通过删除+插入的方式进行,所以在频繁更新的系统,数据膨胀是个头原创 2020-06-03 13:40:02 · 1201 阅读 · 0 评论 -
PostgreSQL逻辑订阅logical
逻辑订阅是PostgreSQL10.0开始支持的新功能,PostgreSQL的物理流复制功能十分强大,在容灾、读写分离、HA等场景中都有广泛的使用,那么为什么还需要逻辑订阅呢?我们先来看看物理流复制和逻辑订阅有哪些区别,主要有以下几点不同:物理复制目前只能做到整个集群的复制。逻辑订阅可以做到针对某个对象物理复制的备库只读,不能写入。逻辑订阅读写都可以,逻辑订阅需要等待事务提交后,发布端才会使用wal_sender进程将decode后的数据发送给订阅端,订阅端流式接收与流式apply,因此逻辑订阅对主原创 2020-05-26 14:51:11 · 1249 阅读 · 0 评论 -
postgresql 计划任务插件pg_cron
简介:pg_cron 相当于在database内部的一个crontab程序,类似于Oracle中的job和scheduler.pg_cron 可以同时运行多个job,但在同一时刻,只有一个job在执行,后续的job会挂起,直到前一个执行完成。项目地址:https://github.com/citusdata/pg_cron先来一段实例后面附录官网的详细介绍:create extension pg_cron;create table t_cron ( insert_date timestam原创 2020-05-19 15:45:06 · 1503 阅读 · 0 评论 -
postgresql-物理化视图
背景当用户在管理数据库时,如果要在交互式界面跑一些QUERY,但是不知道QUERY要运行多久,担心网络问题或者其他问题导致终端断开,QUERY执行情况不明的话。就需要后台运行这个功能了。后台运行在LINUX中也很常见,比如nohup ls -la / >/tmp/result 2>&1 & 这样的话,即使断开会话也没关系,这条命令会在后台运行,并将标准输出存入/tmp/result,标准错误也重定向到标准输出。对于PostgreSQL数据库,在10.0的原创 2020-05-12 12:17:00 · 1141 阅读 · 0 评论 -
postgresql启动关闭
名称:pg_ctl -- 启动、停止、重启 PostgreSQL语法pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path]pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ]pg_ctl restart [-w...原创 2018-10-15 11:15:41 · 24440 阅读 · 0 评论 -
postgresql-postGis空间数据
-bash-4.2$ psqlpsql (10.4)Type "help" for help.postgres=# \dx List of installed extensions Name | Version | Schema | Descri...原创 2018-09-07 19:13:28 · 1182 阅读 · 3 评论 -
Postgres 数据表文件存储位置
initdb 的时候会指定一个 PGDATA 目录,这就是 PostgresQL 存储数据的地方。典型的位置是在 /var/lib/postgres/data 或 /home/postgres/data 。PGDATA 下面各项存储的内容大概是:文件或目录名存储内容PG_VERSIONPostgresQL 实例的版本号如 9.3 之类的base每个 database 会在 base 目录下有一个子...转载 2018-05-31 11:53:42 · 15283 阅读 · 1 评论 -
postgresql-最大的单表只能是32TB ?
为什么postgresql最大的单表只能是32TB?这需要从数据文件来说起。在postgresql中,一张表对应多个数据文件。数据文件中存储的是page,每一个page都有一个单独的编号,因为pg寻址空间采用的是32位,也就是2^32=4294967296,也就是一组数据文件中最多存放这些page。按照默认的block_size设置为8K,可以计算出来一组数据文件最大的大小是32T。这里,注意我说...转载 2018-05-24 10:59:21 · 2983 阅读 · 0 评论 -
postgresql-备份恢复
pg_dump支持指定所要备份的对象:可以单独备份表、schema或者database;pg_dumpall仅支持导出全库数据。pg_dump可以将数据备份为SQL文本文件格式,也支持备份为用户自定义的压缩格式或者TAR包格式。在恢复数据时,对压缩格式和TAR包格式的备份文件可以实现并行恢复,该特性是从8.4版开始支持的。pg_dumpall仅可以将当前PostgreSQL服务实例中所有datab...原创 2018-05-28 17:34:52 · 270 阅读 · 0 评论 -
postgresql-系统对象介绍
参考:https://yq.aliyun.com/ziliao/91747pg_class: 是一个对象表,表的每个字段都是‘rel’开头,分明就是 ‘relation’这个单词的缩写,意思就是‘关系’。表中relkind字段决定对象类型:r = 普通表,i = 索引,S = 序列,v = 视图, c = 复合类型,s = 特殊,t = TOAST表。对象所属的relnamespace(模式名称)...转载 2018-05-23 14:11:45 · 1288 阅读 · 0 评论 -
PostgreSql10-日志说明
一、PostgreSQL有3种日志: 1)pg_log(数据库运行日志) 内容可读 默认关闭的,需要设置参数启动 (log_directory = 'log' ; log_filename = 'postgresql.log';logging_collector = on) 1.启用pg_log并配置日志参数log_destination = 'csvlog'logging_c...原创 2018-05-22 21:15:48 · 2945 阅读 · 0 评论 -
PostgreSql-参数查看配置
通过查询数据库字典pg_settings来查看当前参数的一些配置。该数据字典类似于Oracle里面的v$parameter或是x$ksppi,x$ksppcv。[pgsqladmin@pgsql ~]$ psql -d postgrespostgres=# \d pg_settings View "pg_catalog.pg_settings" Column | Type | Mo...原创 2018-05-19 14:31:59 · 14528 阅读 · 1 评论 -
PostgreSql10-常用操作及视图
#查看数据库中的所有schemaSELECT * FROM information_schema.schemata; #查看某用户的表权限select * from information_schema.table_privileges where grantee='xttblog';#查看usage权限表select * from information_schema.usage_privile...原创 2018-05-18 11:27:13 · 1062 阅读 · 0 评论 -
PostgreSql10-psql快捷命令
\du #显示用户和用户的用户属性\dn #显示所有的schemas\h #查看所有的sql关键字\dt #查看表\di #查看索引 \? #命令行操作的帮助\d #查看当前schema 中所有的表\q #退出pg命令行\d #schema.table 查看表的结构\x #横纵显示切换 \dT+ #显示扩展...原创 2018-05-18 11:23:47 · 2176 阅读 · 0 评论