大数据
-
PostgreSQL:如何限制一个表的多个字段不能同时为空?
今天有开发组的同事咨询数据库是否有方法可以限制一个表中的多个字段不能同时为空,起始想到的是创建 trigger 的方法,但 trigger 比较费性能,不建议使用,后来想到可以通过创建约束轻松实现,如下: 创建测试表 1…
-
PostgreSQL:FATAL: requested WAL segment 0000000800002A0000000000 has already been removed
昨天,一重要生产环境的备库主机由于硬件故障需要停机做硬件检测,由于是流复制环境,备库可以停,停机检测大概花了 2 小时左右,之后再次启动备库时,报了如下错误: 数据库日志 123 2013-07-01 13:25:29.430 CST,…
-
PostgreSQL:使用 pg_basebackup 搭建流复制环境
早在 PostgreSQL 9.1 版就已新出 pg_basebackup 工具,用来搭建流复制备库,之前一直没有实践,今天补上。 传统的搭建流复制备库步骤为以下: select pg_start_backup(); 复制数据文件; select pg_stop_backup(); 而…
-
PostgreSQL:客户端会话中断后,会话中的语句会中断吗?
今天 BBS 有朋友问到这么一个问题:假如在客户端执行某一查询语句需要 20 秒时间,而在执行过程中由于某种原因客户端掉线了,此时查询语句在数据库服务端是被终止还是继续运行? 带着这个问题,先做个简单的测试,…
-
PostgreSQL:流复制环境清除 Pg_xlog 日志
今天一流复制( Streaming Replication) 数据库一目录空间告警,经查是 pg_xlog 目录 WAL 日志文件过多,已超过阀值。 pg_xlog 是数据库重做日志,非常重要,不能直接清理,否则给数据库带来巨大灾难,以下是流复制…
-
PostgreSQL: 关于中文排序问题
今天有同事问到中文排序问题,中文排序问题没有怎么深究,主要参考 bbs 和德哥的帖子,做些测试记录下。 环境信息 1.1 数据库信息 12345 francs=> select datname,pg_encoding_to_char(encoding),datcollate,datc…
-
PostgreSQL: 关于 psql 的 Prompting 设置
今天在维护一个开发库时发现个奇怪的现象,psql 登陆到数据库后显示如下: psql 连接示例 12345 [postgres@xxx_xx_x_xxx ~]$ psqlpsql (8.4.3)Type "help" for help. SQL>postgres@ postgres 15:47:47=# 备注:…
-
PGCN OpenCamp 201304: 深圳
第一次在 PostgreSQL 官网的事件列表上看到关于中国 PostgreSQL 活动的情况( 不知道以前确实没有写,还是我没注意 ),挺高兴的,原文如下:来自:http://www.postgresql.org/about/event/1588/ PGCN OpenCamp 2013#…
-
PostgreSQL:关于 " Select MAX(id) From Table_name " 的优化与分析
今天在一重要生产库上发现一个 SQL 执行较慢,严重影响数据库性能,以下是优化过程: 一 优化过程 1.1 出现性能问题的 SQL 1 SELECT max(duser2) FROM mpt_table; 1.2 老的 PLAN 1234567 ndroid_market=> explai…
-
PGCon:2013 Ottawa PostgreSQL 大会
以下是 2013 年 5 月 在 Ottawa 举行的 PostgreSQL 大会的部分 PPT,有兴趣的朋友可以下载看看,更多内容访问: http://www.pgcon.org/2013/schedule/ A Tour of PostgreSQL Data Typeshttp://www.pgcon.org/2013/s…