PostgreSQL pg_stat_replication sent_location, write_location, flush_location,...
PostgreSQL 的流复制统计信息中记录了4个WAL日志的位置信息,这些信息是standby的receiver进程反馈给primary的wal sender进程的。统计视图如下:pipeline=# \d+ pg_stat_replication View "pg_catalog.pg_stat_replication" Column...
View Articlegcc 更新
下载新版本https://gcc.gnu.org/mirrors.html解压#tar -xvzf gcc-4.9.3.tar.gz#cd gcc-4.9.3下载依赖包./contrib/download_prerequisites安装依赖包cd contribdrwxr-xr-x 16 digoal users 4096 Jan 12 17:11 gmp-4.3.2drwxr-xr-x 7...
View Articlellvm, clang
gcchttp://blog.163.com/digoal@126/blog/static/163877040201601313814429/export PATH=/u02/dege.zzz/gcc4.9.3/bin:$PATHexport...
View Article图数据库 CayLey + PostgreSQL
CayLey是GO语言写的一个图数据库引擎,支持RESTful API,内置查询编辑器和可视化,支持MQL和JAVASCRIPT查询接口,后端存储支持文件格式,PostgreSQL,mongodb,LevelDB,Bolt。模块化设计,扩展后端存储非常容易。本文将以PostgreSQL为例,演示一下CayLey的使用。安装go:yum install -y...
View Articleclang编译 PostgreSQL
实际测试clang 3.7.1比gcc 4.9.3编译的PostgreSQL性能略好。测试数据参考下文末尾http://blog.163.com/digoal@126/blog/static/16387704020160941345888/gcc安装http://blog.163.com/digoal@126/blog/static/163877040201601313814429/llvm,...
View Articleperf Performance analysis tools for Linux
perf是基于内核子系统的一个性能分析框架,包括硬件层面(cpu/pmu)和软件级的性能分析。man perfPERF(1) perf Manual PERF(1)NAME perf - Performance analysis tools for LinuxSYNOPSIS...
View ArticlePostgreSQL 百亿地理位置数据 近邻查询性能 benchmark测试
本文主要要展示的是PostgreSQL在位置信息近邻(KNN)查询方面的性能。测试类型point,索引类型GiST。(PostGIS同样支持KNN查询,性能和本文的测试差不多)测试数据量大于100亿。测试环境和优化请参考:http://blog.163.com/digoal@126/blog/static/16387704020160941345888/创建测试表postgres=# create...
View ArticlePostgreSQL TPC-C极限优化玩法总结
[md格式]https://github.com/digoal/pgsql_admin_script/blob/master/pgsql_perf_tuning.mdPostgreSQL TPC-C极限优化玩法digoal2016-01-19简介本文以工业界测试模型TPmC为测试模型,介绍PostgreSQL数据库从系统层面的优化到数据库层面的优化方法。TPmC从 256195.32 提升到...
View Articleipad变白板,很好的在线视频讲课工具。
在电脑中安装以下任意airserver软件。https://annotate.net/http://www.lonelyscreen.com/index.html在IPAD中安装画图软件。然后使用airplay把ipad设备的屏幕投放到安装的airserver。ipad是不是秒变白板了?以后录制公开课视频不需要备那么多PPT了,可以现场画画,比WINDOWS的画图工具好用太多。
View ArticleCentOS 7.2 gpinitsystem error -Failed to complete obtain psql count Master...
this versioncommit 7065077b4fef5acf41e67b5240771db021d52156 Author: Shang Shujie <sshang@pivotal.io> Date: Wed Dec 16 14:53:34 2015 +0800 fix bug: parquet can't write null out, with test case...
View ArticlePostgreSQL pg_basebackup 并行压缩备份
在使用pg_basebackup备份数据库时,可以选择压缩或不压缩。当我们使用非压缩格式时,如果你的块设备性能很不错,这种单进程的拷贝方式可能无法将块设备的性能发挥出来,例如现在企业级的SSD可以达到2GB/s的读写性能。而使用单进程拷贝小文件可能只能达到300MB/s,这对于备份一个比较大的数据库来说,速度是远远不够的。如果能把SSD的性能发挥出来,速度可以提升6倍。所以pg_basebackup...
View ArticleGreenplum PostgreSQL --enable-profiling 产生gprof性能诊断代码
Greenplum或PostgreSQL的编译配置文件中有一个选项是 --enable-profiling,这个选项会打开GCC的-pg参数。产生可以被gprof用于分析进程的代码。如下:less configure# enable profiling if --enable-profilingif test "$enable_profiling" = yes && test...
View ArticlePostgreSQL修改表结构后,EXECUTE PS报错cached plan must not change result type
在使用绑定变量时,如果使用*进行绑定,在修改表结构后,会导致cached plan must not change result type的错误。在使用数据库时,不要随意使用*,又一个很好的理由。测试如下:postgres=# create table t(p1 int, p2 int);CREATE TABLEpostgres=# prepare a as insert into t values...
View Article查看Greenplum和PostgreSQL 发行版本的编译参数
通过pg_config可以看到PG的一些库目录,编译器,预编译FLAG,等等:BINDIR = /home/digoal/pgsql9.5/binDOCDIR = /home/digoal/pgsql9.5/share/docHTMLDIR = /home/digoal/pgsql9.5/share/docINCLUDEDIR =...
View ArticlePostgreSQL 非主键非唯一约束列,如何使用advisory lock保证唯一性
在没有唯一约束或者主键约束时,数据库是不保证唯一性的。那么有什么手段来保证呢?方法 1. 串行操作,先查询,如果没有查到记录,则插入。这种方法效率非常低:测试如下:postgres=# create table tbl(c1 text);CREATE TABLEpostgres=# create index idx_c1 on tbl(c1);CREATE INDEXpostgres=#...
View ArticlePostgreSQL 子事务 id & command id 溢出问题分析
PostgreSQL 需要为每个savepoint或者函数的exception section分配子事务号,递增。即使这个exception没有被触发,也需要一个子事务号。PushTransaction@src/backend/access/transam/xact.c /* * Assign a subtransaction ID, watching out for...
View ArticlePostgreSQL Oracle兼容性之 - 函数 自治事务 的实现
使用Oracle的用户,在函数中如果使用了自治事务的话,如果要转到PostgreSQL会遇到很棘手的问题。因为PostgreSQL的函数是作为一个事务来处理的,要么全部提交,要么全部回滚,除了exception,每个exception是一个子事务。使用并行或嵌套block和exception可以达到自治事务的目的。建议使用例子2的用法。例子1 : 单个block的用法:...
View ArticlePostgreSQL Oracle 兼容性之 - WM_SYS.WM_CONCAT
Oracle行转列函数WMSYS.WM_CONCAT的使用实例demoselect * from itlife365_course a where name= '张三';name 课程 score张三 数学 99张三 语文 89张三 英语 93上面的场景可用WMSYS.WM_CONCAT(a.name)把二行中的[课程]字段的值用","连接起来如:select name,...
View Article