显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL research

公益是一辈子的事, I'm 德哥@Digoal, Just Do it!

 
 
 
 
 
 

[置顶] PostgreSQL 9.5 新特性汇总

2015-4-19 4:16:12 阅读910 评论7 192015/04 Apr19

PostgreSQL 9.5还未发布,以下是已经commit的特性,也就是说PostgreSQL 9.5 release时肯定会包含的特性。

如需了解最新信息,请参考:

https://commitfest.postgresql.org/

http://git.postgresql.org/gitweb/?p=postgresql.git;a=summary

http://www.postgresql.org/docs/devel/static/release-9-5.html

下面是一些 9.5 的新特性讲解和测试:

PostgreSQL 9.5 new feature - Speed up CRC calculation using slicing-by-8 algorithm

http://blog.163.com/digoal@126/blog/static/16387704020156101020613/

PostgreSQL 9.5 new feature - Allow pushdown of WHERE quals into subqueries with window functions

http://blog.163.com/digoal@126/blog/static/163877040201561095327964/

作者  | 2015-4-19 4:16:12 | 阅读(910) |评论(7) | 阅读全文>>

为了让跟多的朋友了解PostgreSQL, 我将这些年对PG的使用和研究做成了一些体系的培训视频和一些专题视频.(免费观看和下载)

希望通过这些视频帮到一些朋友, 同时对视频中的错误点烦请读者指出以更正, 谢谢.

目前在更新的视频是<PostgreSQL 数据库管理 5天>和<PostgreSQL 性能优化 3天>.

在线观看地址 :

http://www.tudou.com/home/digoal/

培训视频源文件以及文档下载地址 : 

http://pan.baidu.com/share/home?uk=1982970774#category/type=0

转载请注明出处.

针对一些网友的反馈, 重新设计的培训内容如下, 由浅入深, 适合不同的人群. 包含

<PostgreSQL发展历程,社区介绍,资源介绍 2小时>

<PostgreSQL SQL基础 2天>

<PostgreSQL 数据库管理 3天>

<PostgreSQL 数据库备份与恢复, 数据复制, 负载均衡与高可用 3天>

作者  | 2014-2-22 10:19:30 | 阅读(8897) |评论(47) | 阅读全文>>

[置顶] 给PostgreSQL爱好者的参考资料

2011-8-21 8:32:39 阅读53043 评论32 212011/08 Aug21

推荐书籍:

概念书籍:

《PostgreSQL Introduction and Concepts》

开发书籍:

《PostgreSQL开发必备参考手册》

管理类书籍:

《PostgreSQL 9 Administration Cookbook》

《PostgreSQL 9.0 High Performance》

《PostgreSQL Server Programming》

《How PostgreSQL Processes a Query》

了解内核 :

http://www.postgresql.org/developer/backend/

http://wiki.postgresql.org/wiki/Backend_flowchart

《数据库查询优化器的艺术:原理解析与SQL性能优化》 - 海翔老师

《 PostgreSQL 内核分析》 - 彭老师

官方手册:

作者  | 2011-8-21 8:32:39 | 阅读(53043) |评论(32) | 阅读全文>>

[置顶] 佛说摩诃般若波罗蜜多心经

2013-7-26 18:04:09 阅读3549 评论4 262013/07 July26

转载自<菩提树下>

http://www.djier.com

般若波罗蜜多心经

观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。

舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。

舍利子,是诸法空相,不生不灭,不垢不净,不增不减。

是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。

无无明,亦无无明尽,乃至无老死,亦无老死尽。

无苦集灭道,无智亦无得。

以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖,远离颠倒梦想,究竟涅磐。

三世诸佛,依般若波罗蜜多故,得阿耨多罗三藐三菩提。

故知般若波罗蜜多,是大神咒,是大明咒,是无上咒,是无等等咒,能除一切苦,真实不虚。

故说般若波罗蜜多咒,即说咒曰:

揭谛揭谛 波罗揭谛 波罗僧揭谛 菩提萨婆诃。

作者  | 2013-7-26 18:04:09 | 阅读(3549) |评论(4) | 阅读全文>>

MySQL & PostgreSQL choice

2015-7-23 18:06:57 阅读235 评论0 232015/07 July23

本周末阿里巴巴PG技术峰会将有一个MySQL & PostgreSQL的讨论环节,旨在揭示各自的优缺点,为用户在做数据库选型时提供参考。报名的同学不要错过,未报名参加的同学届时可以关注一下会议结束后发布的文章。

本文主要参考wikivs上的MySQL vs PostgreSQL(这个文章目前来说是互联网上相对公正的比较文章,而且内容也跟随社区会不断更新),针对MySQL和PostgreSQL各个方面进行比较,PostgreSQL部分根据个人见解进行补充,本文附件提供了一份PostgreSQL较为详细的介绍内容包括:

"发展历程,圈子;    特性;    如何了解源码;    如何跟踪内核;    进程结构,文件结构;    如何做压力测试;    版本升级;    备份恢复;    高可用;    读写分离;    分布式、水平扩展;    数据挖掘;    扩展功能;    TODO和软肋;    性能优化方法;    数据库安全;    benchmark;    学习资料;"

如果你正好在做数据库选型的话,本文可能对你有所帮助。

进入正题,本文将分几个方面对两种数据库产品进行一一叙述,MySQL部分完全参考wikivs上的介绍,PostgreSQL部分有所补充。

作者  | 2015-7-23 18:06:57 | 阅读(235) |评论(0) | 阅读全文>>

PostgreSQL use UDF combine NoSQL DB's Computing Power

2015-7-22 16:19:05 阅读44 评论0 222015/07 July22

PostgreSQL数据库如何利用NoSQL数据库的强大计算能力或某些特性呢?

这个问题实际上是因为一种数据库不可能做到适合任何场景,一个企业的不同业务类型可能使用的数据产品也千差万别。昨天和一位朋友聊到一个应用场景,他们有部分数据是存储在aerospike的,在aerospike中做BIT运算是很快的,但是当需要多个条件的组合时(多级索引),可能就不是那么适合了。

这个时候PostgreSQL就派上用场了,将aerospike中的KEY存储到PostgreSQL中,还有多级索引涉及的字段内容也存储到PostgreSQL中,VALUE(bitmap)还是存储在aerospike中。

这么做之后,原来的查询就变成PostgreSQL中的查询了,但是如何才能结合aerospike中的bit运算结果呢?这个时候需要使用PostgreSQL的UDF功能,参考本文参考部分,例如aerospike支持python,那么我们就在PostgreSQL中使用PL/python语言来编写这个UDF。

使用UDF可以很好的调动外部数据源的计算能力。目前PostgreSQL支持多种语言的函数,例如C,python,perl,tcl,java,javascript,R等等。

当然除了UDF,实际上PostgreSQL还有FDW,只是不是所有的数据源目前都有开源的FDW,所以UDF使用起来门槛更低,还有一点,并不是所有的查询FDW都支持where条件的push down,所以这个时候还是要靠UDF。

目前PostgreSQL支持的FDW请参考:

作者  | 2015-7-22 16:19:05 | 阅读(44) |评论(0) | 阅读全文>>

use PostgreSQL trigger manage stock & offer infomation

2015-7-17 22:15:08 阅读42 评论0 172015/07 July17

使用触发器来管理订单和库存信息,可以简化数据交互过程。这个例子来自postgresql server programming。

例如

库存表存储一家水果超市的水果的库存总量数据,以及已供应的量数据,库存总量必须大于等于已供应的量。

订单数据表存储每一笔水果的订单信息。

涉及的操作包括新增订单,修改订单,撤销订单。

新增订单,则需要增加库存表的已供应量字段信息,同时需要向订单表新增一条记录。

修改订单,需要修改库存表的已供应量字段信息,同时需要修改订单记录。

撤销订单,需要修改库存表的已供应量字段信息,同时需要删除对应的订单记录。

例如:

postgres=# create table stock (fruit name primary key, cnt int, offer int, check (cnt >= offer and cnt>=0 and offer>=0));

CREATE TABLE

postgres=# create table ordered (id serial primary key, fruit name references stock(fruit), cnt int, otime timestamp);

CREATE TABLE

创建库存信息:

postgres=# insert into stock values ('orange',1000,0);

作者  | 2015-7-17 22:15:08 | 阅读(42) |评论(0) | 阅读全文>>

PostgreSQL 函数可以设置被调用时的角色,以及参数。

详细的语法如下:

CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] ) [ RETURNS rettype | RETURNS TABLE ( column_name column_type [, ...] ) ] { LANGUAGE lang_name | TRANSFORM { FOR TYPE type_name } [, ... ] | WINDOW | IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | COST execution_cost | ROWS result_rows | SET configuration_parameter { TO value | = value | FROM CURRENT } | AS 'definition' | AS 'obj_file', 'link_symbol'

作者  | 2015-7-17 16:31:43 | 阅读(33) |评论(0) | 阅读全文>>

PostgreSQL (User defined Operator) UDO & Operator Optimization Information

2015-7-17 13:32:53 阅读38 评论0 172015/07 July17

PostgreSQL 支持自定义操作符,本质上是调用函数来实现的。

语法如下:

CREATE OPERATOR name ( PROCEDURE = function_name [, LEFTARG = left_type ] [, RIGHTARG = right_type ] [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ] [, RESTRICT = res_proc ] [, JOIN = join_proc ] [, HASHES ] [, MERGES ] )

例如创建一个求两个值的平均值的操作符:

首选要创建函数

postgres=# create function f_avg(numeric,numeric) returns numeric as $$

postgres$#   select ($1+$2)/2;

postgres$# $$ language sql strict;

CREATE FUNCTION

验证函数

postgres=# select f_avg(1,null);

f_avg

-------

(1 row)

postgres=# select f_avg(1,2);

f_avg

--------------------

作者  | 2015-7-17 13:32:53 | 阅读(38) |评论(0) | 阅读全文>>

pg_locks.virtualxid & transactionid

2015-7-13 21:44:27 阅读52 评论0 132015/07 July13

在pg_locks中,你可能会注意到两个字段virtualxid和transactionid,这两个字段到底有什么分别呢?

Table 48-61. pg_locks Columns

NameTypeReferencesDescriptionlocktypetext Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisorydatabaseoidpg_database.oidOID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction IDrelationoidpg_class.oidOID

作者  | 2015-7-13 21:44:27 | 阅读(52) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

浙江省 杭州市 狮子座

 发消息  写留言

 
Free PostgreSQL Support.
 
QQ276732431
E-Mail digoal@126.com
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 

FlagCounter

 
 
模块内容加载中...
 
 
 
 
 

新浪微博

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2015

下载LOFTER客户端

汇聚2000万达人的兴趣社区
下载即送20张免费照片冲印

注册 登录  
 加关注