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

PostgreSQL research

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

 
 
 
 
 
 
为了让跟多的朋友了解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 | 阅读(3971) |评论(24) | 阅读全文>>

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

2011-8-21 8:32:39 阅读49024 评论16 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 | 阅读(49024) |评论(16) | 阅读全文>>

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

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

转载自<菩提树下>

http://www.djier.com

般若波罗蜜多心经

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

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

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

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

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

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

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

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

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

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

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

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

在测试docker下postgresql性能时, 发现的一个DNAT转换后的网络性能问题.

首先附上KVM,DOCKER,本机的几组测试数据(测试数据仅供参考, 有兴趣的朋友可以自己测试一下) :

注意在测试连接超出物理核心数后, docker的性能开始严重下降. (可能有优化手段解决这个问题)

TPS 16连接IP, 16连接UNIX SOCK, 48连接UNIX SOCK, 96连接UNIX SOCK

docker DNAT 29662

docker 174089.814292 257437.255033 265112.234836 180037.521722

kvm 58692.023756 62217.477740 166212.113952 162729.867472

本机 185341.577666 271232.160555 335530.912484 303621.978815

宿主机内核 :

[root@db-172-16-3-221 ~]# uname -r

2.6.32-431.el6.x86_64

作者  | 2014-10-23 14:10:35 | 阅读(49) |评论(0) | 阅读全文>>

create docker image 1 - use other images

2014-10-23 13:36:58 阅读11 评论0 232014/10 Oct23

本文主要讲一下创建image的方法之一, 从已有的image创建image.

测试环境 :

CentOS 6.5 x64

安装参考

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

第一次启动docker服务前, 最好在独立分区或存储中创建一个目录存放docker的images和containers等信息.

# mkdir /data01/docker

# ln -s /data01/docker /var/lib/

启动docker服务

# service docker start

服务启动后可以看到启动了相应的虚拟网桥, 并创建了相应的nat表信息.

[root@150 ~]# ifconfig

docker0   Link encap:Ethernet  HWaddr 66:B7:CF:A7:21:F4

inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0

inet6 addr: fe80::64b7:cfff:fea7:21f4/64 Scope:Link

作者  | 2014-10-23 13:36:58 | 阅读(11) |评论(0) | 阅读全文>>

PGXC 1.2 don't support SERIALIZABLE TRANSACTION ISOLATION LEVEL now

2014-10-23 9:04:03 阅读20 评论1 232014/10 Oct23

PGXC 1.2 beta 文档中提到pgxc目前不支持SERIALIZABLE and REPEATABLE READ transaction isolation modes.

但是从代码来看, 应该是支持repeatable read的. 不知道是不是pg-xc的文档搞错了.

以下代码从pg-xc 1.2.1的src中截取 :

src/backend/commands/variable.c

/*

* SET TRANSACTION ISOLATION LEVEL

*

* We allow idempotent changes at any time, but otherwise this can only be

* changed in a toplevel transaction that has not yet taken a snapshot.

*

* As in check_transaction_read_only, allow it if not inside a transaction.

*/

bool

check_XactIsoLevel(char **newval, void **extra, GucSource source)

{

int                     newXactIsoLevel;

作者  | 2014-10-23 9:04:03 | 阅读(20) |评论(1) | 阅读全文>>

docker-hub OFFICIAL & AUTOMATED images

2014-10-22 16:39:29 阅读18 评论0 222014/10 Oct22

在使用docker search从docker hub 查询images时, 返回的数据包含name, 描述, stars, official, automated的信息.

如 :

[root@db-172-16-3-221 ~]# docker search postgres

NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED

postgres                                     The PostgreSQL object-relational database ...   273       [OK]

paintedfox/postgresql                        A docker image for running Postgresql.          45                   [OK]

helmi03/docker-postgis                

作者  | 2014-10-22 16:39:29 | 阅读(18) |评论(0) | 阅读全文>>

MOUNT with UUID

2014-10-20 10:29:00 阅读20 评论0 202014/10 Oct20

# blkid

/dev/sda1: UUID="77c06f65-1723-4eba-8355-80575d6eb3be" TYPE="ext4"

/dev/sdd1: LABEL="zp1" UUID="1511997698609595871" UUID_SUB="16603257859564972697" TYPE="zfs_member"

/dev/sdc1: LABEL="zp1" UUID="1511997698609595871" UUID_SUB="11385893700558954624" TYPE="zfs_member"

/dev/sde1: LABEL="zp1" UUID="1511997698609595871" UUID_SUB="1566338042115671962" TYPE="zfs_member"

/dev/sda2: UUID="d72e89fe-989f-4d83-9c95-3ed9f5908d8c" TYPE="swap"

/dev/sda3: UUID="c5b677e7-85d2-4cfa-8a96-8da67a0d8446" TYPE="xfs"

/dev/sdf1: LABEL="zp1" UUID="1511997698609595871" UUID_SUB="13487786097513313825" TYPE="zfs_member"

/dev/sdb1: LABEL="zp1" UUID="1511997698609595871"

作者  | 2014-10-20 10:29:00 | 阅读(20) |评论(0) | 阅读全文>>

[转]轉接老鏡是邪道,淺嚐即止,切勿沉迷

2014-10-20 9:02:43 阅读24 评论0 202014/10 Oct20

[原文]

http://www.sonydslr.com.tw/alpha/viewtopic.php?f=10&t=27933

http://www.douban.com/note/124483657/

說到轉接,最好轉的當然是「任你插到爽」的Canon。加上5DII的全幅吸引力,很多人都會選擇Canon來轉。但是就M42鏡頭來說,Canon有2 個致命的缺點。

第一個,就是反光板的問題。5DII的反光板,是向前弧形的翻起來,會有一個扇形的運動路徑。而反光板翻起來的時候,大概距離接環只有不到5mm的距離。也就是說,一些鏡尾突出接環較多的鏡頭,反光板會狠狠地拍下去。Canon的反光板有多脆弱,不需要小弟多做說明。重點是鏡尾的後玉如果被撞到,很可能會造成難以修復的刮傷。

第二個,則是Canon的色彩問題。Canon的色彩有很明顯的偏向性,配合M42 老鏡那種每一顆都不同調性的特色,會需要在後期進行很多的色彩調整,拍起來會很煩。

而對M42轉接最友善的系統,則屬Pentax了,不需晶片接環就有A模式跟合焦提示,可以手動輸入防手震焦段,還可以玩陷阱對焦。但是Pentax沒有全

作者  | 2014-10-20 9:02:43 | 阅读(24) |评论(0) | 阅读全文>>

max_locks_per_transaction & pg_locks entrys limit

2014-10-17 23:09:16 阅读38 评论0 172014/10 Oct17

有网友问PostgreSQL存储的对象越多, 是不是性能会越差.

我们这么来分析, 存储的对象越多, 元数据就会越大, 例如 :

我用这种方法来创建一堆表,

为了在一个事务中创建多个表, 这里需要调整一下max_locks_per_transaction 以及(或) max connection, 满足创建多表需要的锁插槽数.

digoal=# do language plpgsql $$

declare

tbl name;

begin

create table if not exists tbl (id int primary key, info text, crt_time timestamp);

for i in 400000..500000 loop

execute 'create table if not exists tbl_'||i||'(like tbl including all)';

end loop;

end;

$$;

在调用以上inline block的过程中, 我们可以看到pg_locks中不断的新增插槽, 以及新建relation的锁信息.

digoal=# select count(*) from pg_locks;

count

-------

18381

(1 row)

作者  | 2014-10-17 23:09:16 | 阅读(38) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

浙江省 杭州市 狮子座

 发消息  写留言

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

日志分类

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

FlagCounter

 
 
模块内容加载中...
 
 
 
 
 

新浪微博

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

页脚

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

创建博客 登录  
 加关注