
postgresql
式微 式微 胡不归
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
postgresql 触发器disable/enable
ALTER TABLE tablename DISABLE TRIGGER ALL;ALTER TABLE tablename ENABLE TRIGGER ALL;原创 2019-02-19 10:10:12 · 1612 阅读 · 0 评论 -
PG11 index include 覆盖索引
create index idx_tbl_a_sort_key on tbl_a using btree(sort_key) include (user_code_list);其中字段sort_key是text类型 user_code_list 是text[]类型gin 索引不支持 include原创 2019-02-28 10:40:38 · 355 阅读 · 0 评论 -
PG return next & return query
PG return next & return queryRETURN NEXT expression;RETURN QUERY query;RETURN QUERY EXECUTE command-string [ USING expression [, ... ] ];如果一个PL/pgSQL函数声明为返回SETOF sometype,那么遵循的过程则略有不同。在这种情况...转载 2019-06-20 11:15:28 · 2150 阅读 · 0 评论 -
PG执行计划转表格显示网站
https://explain.depesz.com/PG执行计划转表格显示网站原创 2019-09-01 21:20:13 · 151 阅读 · 0 评论 -
PG 利用FDW的水平分片
利用FDW的水平分片一、 说明架构采用一主多从,主节点和从节点之间采用FDW外部表的方式关联。利用PG的继承和分区表特性做到数据的水平分片。二、 实施验证找五个服务器安装数据库,1一个master库存放全局数据和数据分片的定义,数据路由算法。4个下层节点数据库,用于存放分片数据。207.121.127.106 admin_123 64位 CentOS6.2 TMS9500硬件 ma...原创 2019-06-29 13:58:03 · 1057 阅读 · 1 评论 -
数据库负载查看
数据库负载查看top -c -u postgresselect * from pg_stat_activity;select now(),pg_stat_statements_reset(); -- 记录一下时间-- 按总时间排序。select calls, total_time/calls AS one_call_time, total_time ,rows, 100.0 * sh...原创 2019-06-29 10:35:07 · 3427 阅读 · 0 评论 -
PG 窗口函数(待完善)
PG 窗口函数(待完善)窗口函数语法窗口函数别名类似与聚合函数也是对结果集的运算生成一行结果,不同的事窗口函数是对分组内的数据进行运算再返回多行结果。窗口函数语法内置窗口函数 row_num() rank() lag() 等。聚合函数和自定义聚集函数后接over属性也可以作为窗口函数。function_name ([expression [, expression ... ]]) [FI...原创 2019-06-23 17:47:54 · 431 阅读 · 0 评论 -
PG 聚合函数(待完善)
PG 聚合函数(待完善)string_aggarray_aggstring_aggstring_agg(expression, delimiter)功能 将结果集连接成字符串,并使用指定的分隔符delimiterexpression表示要处理的字符类数据参数类型可以是(text,text)或(bytea,bytea)函数返回类型和入参类型一致array_agg和string_agg...原创 2019-06-23 16:42:51 · 513 阅读 · 0 评论 -
PG 数据抽样 tablesample
9.5版本前 order by random() 功能可以实现但是性能较差。9.5版本以后 支持tablesample 数据抽样select ... from table_name tablesamplesampling_method (argument[, ...]) [ repeatable (seed)]sampling_method 指抽样方法,主要有 system 和 ...原创 2019-06-23 16:28:58 · 1328 阅读 · 0 评论 -
PG 踩过的坑 ltree
PG自带的ltree能够比较好的处理树形结构数据,不过存在节点标志的字符限制,只支持a-z A-Z 0-9 _ 这些,其他的字符都会报错。原创 2019-06-11 15:16:01 · 570 阅读 · 0 评论 -
真值优先级以及null的特殊性
AND 的情况:false > null > trueOR 的情况: true > null > falseselect null and false; -- falseselect false and null; -- falseselect null and true; -- nullselect true and null; -- nullsele...原创 2019-02-21 19:57:06 · 234 阅读 · 0 评论 -
PG系统状态查看
------------------------------------------------------------------------------------------------------------- pg_stat---------------------------------------------------------------------------------...原创 2019-01-18 10:30:37 · 2943 阅读 · 0 评论 -
PG in & not in系列方案比较
PG in¬ inin VS join VS any VS exists模型Apostgres=# create table tbl_a (a integer primary key, b char(128));CREATE TABLETime: 67.026 mspostgres=# create table tbl_b (a integer pri...原创 2019-01-02 10:55:40 · 1936 阅读 · 0 评论 -
pg_awr相关信息
https://github.com/digoal/blog/blob/master/201611/20161123_01_sql_001.sql https://github.com/digoal/blog/blob/master/201611/20161123_01_pdf_001.md https://github.com/digoal/blog/blob/master/20...转载 2018-12-25 10:18:36 · 595 阅读 · 0 评论 -
postgresql信息统计分析
------------------------------------------------------------------------------------------------------------- pg_stat---------------------------------------------------------------------------------...原创 2018-12-21 16:56:24 · 1589 阅读 · 0 评论 -
PG源码检索网站
https://doxygen.postgresql.org转载 2018-12-21 09:59:23 · 418 阅读 · 0 评论 -
PG表空间
定义表空间CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';这个位置必须是一个现有的空目录,并且属于PostgreSQL系统用户。所有随后在该表空间创建的对象都将被存放在这个目录下的文件里。注意: 通常在一个逻辑文件系统上建立多个表空间没有什么意义,因为无法控制一个逻辑文件系统里不同文件的位置。不过,Po...原创 2018-12-20 16:44:56 · 919 阅读 · 0 评论 -
sysbench测试postgresql
安装版本 sysbench 1.1.0./configure --with-pgsql --with-pgsql-includes=/PGtest/postgres/pgsql/include --with-pgsql-libs=/PGtest/postgres/pgsql/lib --without-mysqlmake && make install默认安装下,自带的...原创 2018-12-20 11:28:08 · 2229 阅读 · 0 评论 -
offset 分页查询 优化
offset优化 offset使用的时候跳过的行数越多结果集返回的就越慢。这是由于数据库的机制决定的,需要读取每一条可能满足要求的数据确认数据有效性(是否对当前xid可见)。offset的行数越多就导致需要判断更多的数据行能找到满足条件的数据。offset是将执行结果的一部分过滤掉,不发送给客户端,实际上这些过滤掉的结果是实际发生了计算的。 额外计算select f(),*...原创 2018-11-30 17:24:30 · 873 阅读 · 0 评论 -
OLTP&OLAP
OLTP OLAP 概念 OLTP即联机事务处理,就是我们经常说的关系数据库,增删查改就是我们经常应用的东西,这是数据库的基础;TPCC(Transaction Processing Performance Council)属于此类。 强调数据库内存效率,强调内存各种指标的命令率,...原创 2018-11-14 13:53:55 · 220 阅读 · 0 评论 -
inline code
do language plpgsql $$ declare -- .... begin -- .... end; $$;原创 2019-01-14 12:02:55 · 412 阅读 · 0 评论 -
PG索引类型
PG索引类型索引类型CREATE INDEX 在一个指定表或者物化视图的指定列上创建一个索引,索引主要用来提高数据库的效率(尽管不合理的使用将导致较慢的效率)btree选择性越好(唯一值个数接近记录数)的列,越适合b-tree。当被索引列存储相关性越接近1或-1时,数据存储越有序,范围查询扫描的HEAP PAGE越少。 支持多列索引,默认最多32列,编译可改。(通过调整pg...原创 2019-01-14 14:58:11 · 3098 阅读 · 0 评论 -
记录一个踩过的坑 表连接查询相关
create table tbl_a(id integer,id2 integer);create table tbl_b(id integer,id2 integer);truncate tbl_a;truncate tbl_b;insert into tbl_a values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);insert into tbl_b...原创 2019-01-23 11:47:11 · 263 阅读 · 1 评论 -
PG 表大小
--数据库中单个表的大小(不包含索引)select pg_size_pretty(pg_relation_size('表名'));--查出所有表(包含索引)并排序SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_sc...转载 2019-01-23 11:44:15 · 2889 阅读 · 0 评论 -
记录一个踩过的坑 数据库函数入参会被declare变量覆盖
同是内部定义的变量会检查冲突入参变量会被declare变量覆盖,没注意的时候可能发生 类型不同也会覆盖定义原创 2019-01-23 10:16:55 · 307 阅读 · 0 评论 -
记录一个踩过的坑 看不见的特殊字符
记录一个踩过的坑 看不见的特殊字符之前发到优快云上的代码没有以代码格式粘贴,拷贝出来使用的时候在PgAdmin4.3.1版本下没有任何提示信息。在PgAdmin3版本下可以看到错误提示。经过一顿绝望的排查发现是代码里面的空白不是空格也不是制表符。使用notepad++ 显示所有特殊字符后可以发现差异,第一个是制表符,第二个是空格,第三个是不知名的特殊字符。 有没有...原创 2019-01-22 16:46:38 · 6576 阅读 · 0 评论 -
看PG10文档的笔记
中文文档 http://www.postgres.cn/docs/10 人们广泛认为在一个连接查询中限定所有列名是一种好的风格,这样即使未来向其中一个表里添加重名列也不会导致查询失败。SELECT weather.city, weather.temp_lo, weather.temp_hi,weather.prcp, weather.date, cities.locationFR...原创 2019-01-22 12:06:51 · 146 阅读 · 0 评论 -
PG表膨胀及对策
PG表膨胀及对策检查表膨胀方法一 查询pg_stat_all_tables系统表SELECT schemaname||'.'||relname, n_dead_tup, n_live_tup, round(n_dead_tup * 100 / (n_live_tup + n_dead_tup),2) AS dead_tup_ratioFROM...原创 2019-01-09 12:04:07 · 2302 阅读 · 0 评论 -
测试 数据库函数嵌套调用xid是同一个
select * from func_aa();NOTICE: func_aa() : 4414931NOTICE: func_bb() : 4414931NOTICE: func_cc() : 4414931NOTICE: func_cc() : 4414931NOTICE: func_bb() : 4414931NOTICE: func_aa() : 4414931...原创 2019-01-09 11:44:56 · 139 阅读 · 0 评论 -
pgadmin4信息收集语句
-- pgadmin4信息收集语句 SELECT (SELECT sum(tup_inserted) FROM pg_stat_database) AS "Inserts", (SELECT sum(tup_updated) FROM pg_stat_database) AS "Updates", (SELECT sum(tup_deleted) FROM pg_st...原创 2019-01-09 11:21:27 · 609 阅读 · 0 评论 -
pg_hint_plan
安装https://github.com/ossc-db/pg_hint_plan/releases # export PATH= /home/postgres/pgsql/bin:$PATH# gmake clean # gmake # gmake install vi $PGDATA/postgresql.conf shared_preload_li...转载 2019-01-14 15:11:01 · 440 阅读 · 0 评论 -
PG日志审计
PG日志审计日志审计的几种方式PostgreSQL自带的日志审计,实现语句级别,数据库级别,用户级别的审计。弊端是审计颗粒度太大。http://blog.163.com/digoal@126/blog/static/16387704020132208241607/通过事件触发器审计数据库或限制数据库的DDL操作。弊端是目前只能审计DDL操作。http://blog.163.c...转载 2019-01-14 15:01:38 · 1213 阅读 · 0 评论 -
在ubuntu下安装postgresql 10.4
./configure --prefix=/home/postgres/pgsql --enable-debug打开方式不对应该是缺少libreadline,重新找一下libreadline的dev包安装报错缺少zlib library使用apt安装apt-get install zlib1g-dev./configure --prefix=/home/pos...原创 2018-07-26 23:52:24 · 510 阅读 · 0 评论