随笔分类 - PostgreSQL
摘要:如何监控PostgreSQL存储过程/函数代码运行?本文介绍用python+微信/邮件的方式进行报警、监控。 首先要有一张表、用于存放PostgreSQL存储过程/函数代码运行异常的信息。 处理原则:若出现异常;把“发生时间+所在的程序+**原因”**通过微信/邮件发给对应人员。当然发送一次即可;起
阅读全文
摘要:本文简单介绍下:如何在psql命令传各种类型的变量;然后通过shell脚本来调用;其实本意是需要通过字符串拼接的方式。 一、数字类型 \set id random(1,1000) select * from table_name where id = :id; 二、 字符串类型 字符串类型需要用''
阅读全文
摘要:2020-06-09 19:31:01 一、疑问 前段时间;QQ群里有人对“这个表(0,4)这行数据我做了update操作,查看索引的page数据,看到索引一直指向(0,4),用ctid='(0,4)'查询业务表是查不到数据的;然后我做了表的vacuum,reindex甚至drop/create i
阅读全文
摘要:问题 经常在PG群里看到有人在问“为什么我对表赋予了权限;但是还是不能访问表” 解析 若你看懂德哥这篇文章PostgreSQL逻辑结构和权限体系介绍;上面对你就不是困扰你的问题 解决这个问题很简单;在解决之前;我们要先了解PostgreSQL的逻辑结构、以及与用户之间的关系。盗用德哥的图;来诠释下逻
阅读全文
摘要:今天在听陈华军老师的课时;感触颇多。其中讲到“不同执行计划的选择(子查询)”这一栏。我们在平时工作也经常要用到子查询。有哪些思路来优化这种子查询呢? 例如我们今天实验的表结构 表T1 有10000条记录;并在id字段创建btree索引 表T2 有1000条记录 postgres=# create t
阅读全文
摘要:背景 最近在负责公司数据Oracle转PG;老平台数据库:Oracle11g;新平台数据库:PostgreSQL12。由于平台统计规则有变动;所以正在推广的游戏数据无法全部迁移过来;只能在老平台上运行。而支付数据接口升级;统一进入新平台数据PG。需要将部分支付数据由PostgreSQL同步到Orac
阅读全文
摘要:PostgreSQL逻辑复制之slony篇 一、pglogical介绍 pglogical 是 PostgreSQL 的拓展模块, 为 PostgreSQL 数据库提供了逻辑流复制发布和订阅的功能。 pglogical 重用了 BDR 项目中的一部分相关技术。pglogical 是一个完全作为Pos
阅读全文
摘要:adsas 数据库是用于广告买量数据分析;在17年由 Oracle 迁移到 PostgreSQL。现把之前的迁移笔记整理下。本次迁移表91个;存储过程21个;数据库大小2G。 1. 准备PostgreSQL数据库 安装PostgreSQL数据库 参考 PostgreSQL简单安装手册 ; 在安装Po
阅读全文
摘要:1.pgbouncer 的介绍 pgbouncer是一个针对PostgreSQL数据库的轻量级连接池,任何目标应用都可以把 pgbouncer 当作一个 PostgreSQL/Greenplum 服务器来连接,然后pgbouncer 会处理与服务器连接,或者是重用已存在的连接。pgbouncer 的
阅读全文
摘要:1. 介绍 PostgreSQL提供了一个copy命令的便利数据加载工具,copy命令源于PostgreSQL数据库,copy命令支持文件与表之间的数据加载和表对文件的数据卸载。pg_bulkload是一种用于PostgreSQL的高速数据加载工具,相比copy命令。最大的优势就是速度。优势在让我们
阅读全文
摘要:1. 表空间的概念 PostgreSQL中的表空间允许在文件系统中定义用来存放表示数据库对象的文件的位置。在PostgreSQL中表空间实际上就是给表指定一个存储目录。 2. 表空间的作用 官方解释 通过使用表空间,管理员可以控制一个PostgreSQL安装的磁盘布局。这么做至少有两个用处。 如果初
阅读全文
摘要:在Oracle中;删除表或者误删表记录;有个闪回特性,不需要停机操作,可以完美找回记录。当然也有一些其他的恢复工具;例如odu工具,gdul工具。都可以找回数据。而PostgreSQL目前没有闪回特性。如何在不停机情况下恢复误删数据。还好是有完整的热备份。 本文描述的方法是:利用热备份在另一台服务器
阅读全文
摘要:1. 索引的特性 1.1 加快条件的检索的特性 当表数据量越来越大时查询速度会下降,在表的条件字段上使用索引,快速定位到可能满足条件的记录,不需要遍历所有记录。 #在这个案例中:执行同一条SQL。t2有索引的执行数据是0.052 ms;t1没有索引的是:5.741 ms; 1.2 有序的特性 索引本
阅读全文
摘要:介绍 pg_rman是一款专门为postgresql设计的在线备份恢复的工具。其支持在线和基于时间点备份方式,还可以通过创建backup catalog来维护DB cluster备份信息。 pg_rman特点: 使用简单.一个命令即可完成备份和恢复. 支持在线全备,增量备份,归档备份. 支持备份压缩
阅读全文
摘要:最近在网上看到这样一句话Postgres“已提交的而且 xmin 比当前事务的XID小的记录对当前事务才是可见的”。先不评断这句话的正确性;看下这句话的结构,因果关系; 按照此话的意思;要postgres中的数据可见必须满足两个必要条件: 而网上对这句话的解释:“这意味着,你可以开始一个新事务然后插
阅读全文
摘要:【需求】例如先有数据为 id | name + 1001 | lottu 1001 | xuan 1001 | rax 1002 | ak 1002 | vincent 现在需要转换为 id | names + 1001 | lottu|xuan|rax 1002 | ak|vincent 反之;o
阅读全文
摘要:ctid: 表示数据记录的物理行当信息,指的是 一条记录位于哪个数据块的哪个位移上面。 跟oracle中伪列 rowid 的意义一样的;只是形式不一样。 例如这有个一表test;查看每行记录的ctid情况 mydb=> select ctid,* from test; ctid | id | nam
阅读全文
摘要:博客地址--点击
阅读全文
摘要:1. 去重;关键字distinct去重功能 在其他数据库(oracle,mysql)是存在;当然postgresql也有这个功能 2. 跟on一起用; 使用DISTINCT ON实现用窗口函数实现的取第一名的功能 这个功能oracle,mysql是没有的;当然它们有其他的分析函数可以替换;顶替;例如
阅读全文
摘要:通过pg_relation_filepath可以直接表(索引)对象对应的物理文件在哪里? 上面截图是“德哥”做的ppt;上面有详细解释! 当然也可以通过 系统表 pg_class 可以直接查出对应的物理文件。 德哥的《postgresql学习资料》下载地址: https://yunpan.cn/Oc
阅读全文

浙公网安备 33010602011771号