Postgresql
文章平均质量分 56
Postgresql学习
TracyGao01
保持专注
展开
-
Centos7:Postgresql 14安装
Centos 7:PG 14安装原创 2022-12-12 14:01:24 · 553 阅读 · 0 评论 -
Postgresql:查看表、索引、表空间大小,top 10
Postgresql:查看表、索引、表空间大小及top10原创 2022-11-11 10:51:55 · 3084 阅读 · 0 评论 -
Postgresql:数组去重
postgresql数组去重转载 2022-10-24 16:51:19 · 816 阅读 · 0 评论 -
Postgresql:流复制延迟查询
Postgresql流复制延迟查询原创 2022-10-09 16:48:24 · 279 阅读 · 0 评论 -
PG:LogicReplication 跨版本PG数据同步
A节点:PG10B节点:PG13。原创 2022-08-23 17:39:05 · 405 阅读 · 0 评论 -
Postgresql:生成数据字典
Postgresql数据字典快速生成原创 2022-06-15 09:51:52 · 1489 阅读 · 0 评论 -
PG 锁类型、级别、死锁解决
文章目录锁类型ACCESS SHAREROW SHAREROW EXCLUSIVESHARE UPDATE EXCLUSIVESHARESHARE ROW EXCLUSIVEEXCLUSIVEACCESS EXCLUSIVE死锁查询死锁处理死锁测试Session ASession BSession CSession DSession E原因结论锁类型ACCESS SHARE1、SELECT产生的锁2、与ACCESS EXCLUSIVE冲突ROW SHARE1、SELECT FOR UPDATE原创 2022-04-15 15:10:42 · 2885 阅读 · 0 评论 -
PG pg_stat_statements配置
文章目录说明加载pg_stat_statements模块配置pg_stat_statements采样参数重启数据库说明pg_stat_statements插件可以用于统计数据库的资源开销,分析TOP SQL。加载pg_stat_statements模块vi $PGDATA/postgresql.confshared_preload_libraries='pg_stat_statements'如果要跟踪IO消耗的时间,还需要打开如下参数track_io_timing = on设置单条SQL原创 2022-04-11 17:18:18 · 1371 阅读 · 0 评论 -
Postgresql 表、索引膨胀监控
背景PG数据库表空间膨胀会带来空间资源浪费,所以需要监控数据库表膨胀浪费空间前10的表,及时清理。查询表膨胀情况select datname from pg_database where datname not in ($$template0$$, $$template1$$)'` do psql -d $db --pset=pager=off -q -x -c 'SELECT current_database() AS db, schemaname, tablename, relt原创 2022-04-11 13:59:37 · 1511 阅读 · 0 评论 -
Postresql 数据库年龄
文章目录背景查看数据库年龄自动处理机制查看表的年龄清理方式背景由于PG的事务数量是有上限的,新老事务之间的年龄超过最大值之后必须要冻结,所以要及时监控,及时处理查看数据库年龄监控数据库年龄,及时清理select datname,age(datfrozenxid) from pg_database order by 2 desc;自动处理机制同一个数据库中,存在的最旧和最新两个事务之间的年龄最多是2^31,即20亿,当表的年龄大于autovacuum_freeze_max_age时(默认是2原创 2022-04-11 10:33:18 · 3448 阅读 · 0 评论 -
Postgresql 备份数据库
文章目录备份表结构备份表结构、数据恢复数据库备份表结构pg_dump -U postgres -d shopforce -f shopforce.sql -s备份表结构、数据pg_dump -U postgres -d shopforce -f shopforce.sql恢复数据库psql -d shopforce -U postgres -f shopforce.sql...原创 2021-12-07 14:49:59 · 1283 阅读 · 0 评论 -
Postgresql:杀进程
pg_cancel_backend()只能关闭当前用户下的后台进程向后台发送SIGINT信号,用于关闭事务,此时session还在,并且事务回滚pg_terminate_backend()需要superuser权限,可以关闭所有的后台进程向后台发送SIGTERM信号,用于关闭事务,此时session也会被关闭,并且事务回滚...原创 2021-10-27 14:21:34 · 2768 阅读 · 0 评论 -
Postgresql审计:pgaudit安装使用
Postgresql:10pgaudit:v1.2文章目录编译安装参数配置说明pgaudit.log:pgaudit.log_client:pgaudit.log_level:pgaudit.log_parameter:pgaudit.role:参考编译安装1、clone插件git clone https://github.com/pgaudit/pgaudit.git2、Change to pgAudit directory:cd pgaudit3、Checkout postgre.原创 2021-09-30 16:51:16 · 1358 阅读 · 0 评论 -
PostgreSQL VACUUM 和 ANALYZE 最佳实践技巧
文章目录简介技巧 1:不要无故运行手动 VACUUM 或 ANALYZE技巧 2:微调 Autovacuum 阈值技巧 3:微调自动分析阈值技巧 4:微调 Autovacuum Worker最后的想法简介VACUUM 和 ANALYZE 是两个最重要的 PostgreSQL 数据库维护操作。VACUUM用于恢复表中“死元组”占用的空间。当记录被删除或更新(删除后插入)时,会创建一个死元组。PostgreSQL 不会从表中物理删除旧行,而是在其上放置一个“标记”,以便查询不会返回该行。当vacuum进程转载 2021-09-29 15:07:41 · 8379 阅读 · 0 评论 -
POSTGRESQL: 获取成员角色和权限
文章目录简要准备用户和角色解决PostgreSQL中的用户和角色成员资格简要PostgreSQL提供了一个高度复杂和强大的安全权限系统。它允许您定义用户(=角色)、组等。然而如果没有图形用户界面,通常要想知道分配给哪个角色有点棘手。下面的博客文章解释了如何做到这一点。了解如何检索PostgreSQL中角色和角色成员身份的信息。准备用户和角色为了展示如何分析用户,我们首先创建几个用户和角色:CREATE USER a;CREATE USER b;CREATE ROLE c LOGIN;CREA转载 2021-09-27 10:33:26 · 2394 阅读 · 0 评论 -
Postgresql 12:分库分表(pg_fdw方式)
备注:1、当前分库分表方式在PG 10及以下版本,写入数据需要分开逐个数据库写入,通过主表写入数据,由于PG1以下版本不支持insert2、foreign table,所以无法路由写入分库表 PG11及以上版本支持所有数据均可通过主表写入3、PG11以下版本创建索引时,需要每个分区单独创建,PG11及以上版本支持基于主表的一次性创建简介分表:通过创建分区表的形式进行分表https://www.postgresql.org/docs/12/ddl-partitioning.html分.原创 2021-07-26 11:25:49 · 6170 阅读 · 0 评论 -
Postgresql:pg_activity安装使用
Ubuntu:16.04Python:3.6python 3安装:https://gaokaiyang.blog.csdn.net/article/details/80419441参考:https://github.com/dalibo/pg_activity文章目录简介安装使用Help交互命令简介pg_activity是Postgresql的一个监控工具,类似于系统的top命令安装pg_activity依赖于Python3,所以需要先安装Python3:https://gaokaiy.原创 2021-07-14 11:52:42 · 908 阅读 · 0 评论 -
Postgresql: 流复制出现delay
文章目录问题原因解决问题Postgresql Logical Replication 出现延迟、停滞现象原因max_wal_senders参数配置数量过少,在处理大量事务请求时,并且数据库本身有多个流复制并行执行时,max_wal_senders不够用,导致个别流复制出现延迟、停滞现象解决适当调大max_wal_senders数量,重启数据库使配置生效...原创 2021-07-13 16:23:09 · 654 阅读 · 0 评论 -
Postgresql:pg_dump与pg_squeeze并行执行引起的死锁
组件版本:Postgresql:10.15pg_squeeze:1.2问题PG数据库发生死锁,导致表不能正常查询原因如标题,我们在晚上对数据库表同时做pg_dump与pg_squeeze,导致数据库表发生死锁为什么因为pd_dump在执行时会对当前正在备份的表产生一个AccessShareLock锁,这时候对表进行查询写入是没问题的,但是如果对表做一些其它类似DDL的操作,DDL操作是要等AccessShareLock释放掉之后才会执行的,这就是造成我们线上表死锁的主要原因,因为pg_s.原创 2021-07-11 15:29:28 · 724 阅读 · 0 评论 -
PG使用pg_settings表查看参数的生效条件
PostgreSQL数据库的配置参数都在postgresql.conf文件中,此文件的目录为数据库的数据目录($PGDATA)。这些参数有些是直接修改就可以生效,有些需要重启数据库才能生效,而有些根本就不能修改。PG数据库把这些参数分为以下几类:internal:这类参数为只读参数。有的是postgres程序写死的,有些是在安装数据库时intdb时设置好的。postmaster:这类参数需要重启数据库才能生效。sighup:不需要重启数据库,但要向postmaster进程发送sighup信号,即需要p转载 2021-06-21 01:02:23 · 1152 阅读 · 0 评论 -
Postgresql 全文检索测试
Postgresql:10.11测试表数据量:3亿测试使用8c 16g 服务器创建一张表:create table nt_order (id int PRIMARY KEY,order_id text,order_time timestamp without time zone,info jsonb );CREATE SEQUENCE nt_order_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE C原创 2020-05-26 19:56:43 · 1376 阅读 · 0 评论 -
Mac下PostgreSQL的安装、启动、关闭、卸载及登录
1、安装Mac下,PostgreSQL的安装可以直接通过homebrew进行:brew search postgres如上命令会检索出PostgreSQL相关的软件,如我们指定其中的PostgreSQL 9.6版本进行安装brew install postgresql@9.6值得一提的是,通过homebrew安装的程序,都会存储在/usr/local/Cellar目录下面,...转载 2019-11-07 16:05:10 · 2602 阅读 · 0 评论 -
Postgresql 逻辑复制使用wal2json:out of memory Cannot enlarge string buffer containing 1073741785 bytes by
out of memory Cannot enlarge string buffer containing 1073741785 bytes by 126 more bytes逻辑复制时使用wal2json时会报如上错误,经定位,是由于逻辑复制在使用wal2json时,会将一次事物提交的所有数据转化为一条json,比如大批量删除数据,或一次提交的数据量很大,wal2json的日志格式如下:...原创 2019-07-31 21:00:14 · 2631 阅读 · 0 评论 -
PostgreSQL:流复制环境清除 pg_xlog 日志
http://francs3.blog.163.com/blog/static/40576727201352135115689/今天一流复制( Streaming Replication) 数据库一目录空间告警,经查是 pg_xlog 目录WAL 日志文件过多,已超过阀值。 pg_xlog 是数据库重做日志,非常重要,不能直接清理,否则给数据库带来巨大灾难,...转载 2019-07-26 11:23:24 · 1329 阅读 · 0 评论 -
Postgresql 9.6:PipelineDB安装
组建版本:OS:centos 7Postgresql:9.6PipelineDB:0.9.91、下载PipelineDB 0.9.9 rpm包wget https://github.com/pipelinedb/pipelinedb/releases/download/0.9.9/pipelinedb-0.9.9-centos7-x86_64.rpm2、安装mkdir...原创 2019-04-02 14:07:59 · 491 阅读 · 1 评论 -
Postgresql热切换情况下通过流复制完成数据到Hbase的实时同步
插件版本:Postgresql:9.6Debezium:debezium-0.8.3Sqoop:1.4.7目标:1、通过流复制的形式实现数据从Postgresql到Hbase的实时同步2、Postgresql两个节点在热切换时保证数据的完整性流程如下图:要解决的问题:如上图Postgresql1与Postgresql2之间为热切换关系,一旦Postgresq...原创 2019-03-25 19:37:36 · 1125 阅读 · 1 评论 -
Debezium:postgresql ddl操作审计同步
1、Debezium目前魔仍只能同步到dml操作,如果做细粒度的ddl操作需要自己定制化操作2、Debezium-postgresql参考:https://blog.csdn.net/u012551524/article/details/82798066计划:以触发器的形式对postgresql ddl做审计同步,将ddl操作审计记录到表,对表进行同步,完成ddl同步create ...原创 2018-12-31 20:29:20 · 1312 阅读 · 0 评论 -
Debezium:数据类型numeric、decimal由PostgreSql输出到kafka后类型不匹配问题
环境:Debezium版本:0.8.3PostgreSql版本:9.5Kafka版本:CDK3.1.0(KAFKA:1.0.1)问题:Debezium从postgresql解析数据到kafka后,发现numeric类型数据输出格式异常,如下:{"scale":0,"value":"F3A="}原值为6000解决:需要配置参数,更新kafka连接器配置"decim...原创 2018-10-30 18:57:44 · 2883 阅读 · 1 评论 -
Postgresql 查看退出 Replication Slot
查看Replication Slot:SELECT * FROM pg_replication_slots;删除一个Replication Slot:select pg_drop_replication_slot('debezium');原创 2018-09-21 15:19:04 · 2900 阅读 · 0 评论 -
StreamSets RDBMS2Hbase开发流程
SDC开发流程及名词解释 1、首先创建一个SDC的pipeline: 2、拖进来我们要用的组件(JDBC QUERY、HBASE) 3、我们可以在右边栏选择我们想用的组件 4、组件参数配置:(JDBC QUERY)第一步:配置错误记录的报错方式,选send to error第二步:配置JDBC页 jdbc连接正常配,下边用户认证...原创 2018-04-04 09:39:23 · 1201 阅读 · 5 评论 -
postgresql中String,bytea互相转换
字符串转bytea:select cast('\000' as bytea) as name from nt_member limit 1;bytea转字符串:select encode('\x00','escape') from nt_member limit 1;原创 2018-03-15 16:10:24 · 10297 阅读 · 0 评论 -
postgresql建库授权
CREATE USER tracy WITH PASSWORD 'tracy';CREATE DATABASE tracy OWNER tracy;GRANT ALL PRIVILEGES ON DATABASE tracy TO tracy;开启远程访问1、编辑配置文件文件:postgresql.conf原创 2017-12-01 09:21:17 · 1115 阅读 · 0 评论 -
centos7安装卸载python3,pip3
yum安装python3 yum install epel-release -y yum install https://centos7.iuscommunity.org/ius-release.rpm -y yum install python36 u -y ln -s /bin/python3.6 /bin/python3 #创建pytho...转载 2020-03-27 11:18:24 · 3511 阅读 · 0 评论 -
python3.5 pip安装
Python官网:https://www.python.org/downloads/source/pip下载包:https://github.com/pypa/pip一、python3.5安装转载:http://www.cnblogs.com/liujian001/p/5160869.html前言: python3应该是python的趋势所在...转载 2020-03-27 11:16:56 · 5299 阅读 · 1 评论 -
PowerDesigner 16.5 设置Postgresql自增主键
PowerDesigner :16.5数据库类型:Postgresql1、设置为主键2、设置自增右键主键ID,设置属性设置主键属性:3、查看建表语句如下配置成功原创 2020-01-02 18:45:40 · 865 阅读 · 0 评论 -
Pg_squeeze:Replica identity “full“ not supported
PG_SQUEEZE Logic Replication Error:解决:https://blog.csdn.net/u012551524/article/details/89845167ALTER TABLE test2 REPLICA IDENTITY DEFAULT;原创 2019-08-15 21:06:43 · 509 阅读 · 0 评论 -
Centos: postgres-decoderbufs安装
1 、安装postgis,版本2.1+yum install postgis23_10.x86_642、安装protobuf-c,版本1.2+安装protobufwget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gztar xvf protobuf-2.6.1....原创 2019-07-31 21:01:28 · 3063 阅读 · 1 评论 -
Postgresql 逻辑复制REPLICA IDENTITY:调整逻辑复制输出的记录行信息量
当原数据表发生更新时,默认的逻辑复制流只包含历史记录的key,如果需要输出更新记录的历史记录的所有字段,需要在表级别修改参数:REPLICA IDENTITY例:ALTER TABLE test2 REPLICA IDENTITY FULL;REPLICA IDENTITY有四个值可选择:DEFAULT - 更新和删除将包含primary key列的现前值NOTHING -...原创 2019-05-05 14:46:18 · 6859 阅读 · 0 评论 -
Pg-replicate-pipelineDB: Postgresql 数据流实时计算
Postgresql版本:10PipelineDB安装参考:https://blog.csdn.net/u012551524/article/details/86705632Pg-replicate-pipelineDB下载安装参考:https://github.com/TracyGao01/pg-replicate-pipelineDB目的:实时计算写入Postgresql的数据...原创 2019-04-29 18:09:09 · 1079 阅读 · 1 评论 -
Pg_squeeze 安装使用
插件版本:OS:Ubuntu 16.04Postgresql:9.6目的:为了回收和再利用通过表更新或者删除行所占用的磁盘空间,我们要对表进行定时的清理,利用VACUUM FULL这种形式会出现较长时间锁表情况,导致该表无法进行读写,只有等整个过程完成后才可以进行正常使用,因此考虑采用Pg_squeeze这一扩展插件,解决如上问题Pg_squeeze工作原理:安装:...原创 2019-03-25 18:32:42 · 1559 阅读 · 0 评论