随笔分类 -  Postgres

数据库Postgres相关知识笔记
摘要:基于test_id_idx来聚簇public.test表数据 CLUSTER public.test USING test_id_idx; CLUSTER public.test; -- 自动执行上次的聚簇 官方手册:http://postgres.cn/docs/9.6/sql-cluster.h 阅读全文
posted @ 2022-01-12 17:59 JaminX86 阅读(815) 评论(0) 推荐(0)
摘要:指定日期范围,使用sql遍历得到之间的每一个日期 Postgres Sql如下 do language plpgsql $$ declare cur_data record; begin -- Postgresql遍历2020-12-01到2020-12-30的全部日期 raise notice ' 阅读全文
posted @ 2021-03-01 15:22 JaminX86 阅读(1115) 评论(0) 推荐(0)
摘要:postgresql表级死锁和行级死锁产生场景参考 同时出现相互冲突(图中红色背景区间)的锁操作通一个数据表时,会阻塞产生死锁 可以看到ExclusiveLock和很多锁都会产生死锁,故性能差的物化视图尽量不要用在高峰期,不然物化视图持锁期间很容易产生死锁 阅读全文
posted @ 2020-10-27 14:58 JaminX86 阅读(437) 评论(0) 推荐(0)
摘要:值判断 CASE name WHEN '' THEN '-' ELSE name END name为空则返回-,否则返回name 替换null COALESCE(name, '0') name为null时用0代替 格式化日期为时间戳 EXTRACT(epoch FROM CAST(logged_at 阅读全文
posted @ 2020-09-17 10:02 JaminX86 阅读(156) 评论(0) 推荐(0)
摘要:Postgres数组类型int4[],经常存储24小时数据的时候会用 int4[24] 当需要聚合统计,对每个小时数据求和时就有点麻烦 可以使用下述函数实现求和 CREATE OR REPLACE FUNCTION "public"."final_24hours_group_sum"(IN "v_h 阅读全文
posted @ 2020-07-23 11:06 JaminX86 阅读(1121) 评论(0) 推荐(0)
摘要:/etc/init.d/postgresql stop # 清理前35G du -sh /var/lib/postgresql/9.6/main/pg_xlog/ 35G /var/lib/postgresql/9.6/main/pg_xlog/ # 查看checkpoint的xid和oid [po 阅读全文
posted @ 2020-06-18 10:19 JaminX86 阅读(650) 评论(0) 推荐(0)
摘要:PostgreSql 使用INSERT INTO table_name(id,value) VALUES (1,1) ON CONFLICT(id) DO .... 语法(ON CONFLICT可以接多个字段,但必须存在唯一索引) 在INSERT INTO操作时当唯一键冲突可以做一些解决冲突的处理, 阅读全文
posted @ 2020-06-04 09:58 JaminX86 阅读(3624) 评论(0) 推荐(0)
摘要:[TOC] Remove pg_lock from postgres without any PID 查看DB锁时发现锁没有pid,只有事务ID 这种情况通过kill pid的方法无法删除锁 根据事务ID删除锁 这种锁的产生原因可能是事务准备好后PID还没产生、DB就重启了,一般virtualtra 阅读全文
posted @ 2020-05-25 09:56 JaminX86 阅读(1177) 评论(0) 推荐(0)
摘要:报错信息如下 解决 在数据库服务器上使用oid2name,将报错oid对应的name找出来。这里假设db库是xxdbname [postgres@local ~]$ /usr/local/pgsql12/bin/oid2name -d 'xxdbname' -f 2663 From database 阅读全文
posted @ 2020-05-19 16:21 JaminX86 阅读(2453) 评论(0) 推荐(0)
摘要:场景 postgresql数据库在docker环境安装插件,修改配置(增加pglogical扩展加载)后无法启动容器了 启动时报错 Error response from daemon: Container 130e4f7fc99d06d98a6d1542b16580ff25475b9cff892a 阅读全文
posted @ 2020-05-06 14:49 JaminX86 阅读(2548) 评论(0) 推荐(1)
摘要:假设一个需求要根据type+id去重,则SQL分别如下 GROUP BY的SQL SELECT type,id FROM table GROUP BY type,id 如果要显示其它字段,可以使用MAX(xxx) DISTINCT的SQL SELECT DISTINCT type,id FROM t 阅读全文
posted @ 2019-11-18 18:39 JaminX86 阅读(832) 评论(0) 推荐(0)
摘要:Postgresql统计慢查询 在postgresl开启pg_stat_statements模块后,可通过下方SELECT查找出执行平均时间最长的sql 如果你对sql性能有更多的统计需求,可以看看pg_stat_statements视图的其它详细参数 见Postgresql官方手册 阅读全文
posted @ 2019-06-26 10:57 JaminX86 阅读(672) 评论(0) 推荐(0)