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

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 | 阅读(5787) |评论(36) | 阅读全文>>

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

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

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

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

转载自<菩提树下>

http://www.djier.com

般若波罗蜜多心经

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

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

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

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

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

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

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

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

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

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

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

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

upgrade module on pypi

2015-1-26 16:34:39 阅读7 评论0 262015/01 Jan26

之前写了一篇如何将模块上传到pypi.python.org的文章

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

如果代码有更新, 如何更新到pypi呢?

例如 :

首选更新代码

[root@localhost pydigoal]# vi digoal_nester.py

"""this is comment

comment end"""

def print_lol(the_list, ident=False, level=0):

"""this is function comment

comment end"""

for each_item in the_list:

if isinstance(each_item, list):

print_lol(each_item, ident, level+1)

else:

if ident:

for tab_stop in range(level):

print("\t", end='')

print(each_item)

作者  | 2015-1-26 16:34:39 | 阅读(7) |评论(0) | 阅读全文>>

add your python module to pypi.python.org

2015-1-26 9:54:44 阅读11 评论0 262015/01 Jan26

本文将描述一下如何将我们自己写的模块加入到pypi.python.org.

创建一个空目录, 用来放将要上传的代码

[root@localhost ~]# mkdir pydigoal

[root@localhost ~]# cd pydigoal/

创建一个py文件, 存放你要上传的代码. 例如我这里要上传一个输出列表的函数.

[root@localhost pydigoal]# vi nester.py

"""this is comment

comment end"""

def print_lol(the_list):

"""this is function comment

comment end"""

for each_item in the_list:

if isinstance(each_item, list):

print_lol(each_item)

else:

print(each_item)

编写setup.py, 格式如下. 从distutils.core中导入setup函数.

这种导入的函数不需要写全路径, 如果是import distutils.core, 则需要写全路径distutils.core.setup

[root@localhost pydigoal]# vi setup.py

from distutils.core import setup

作者  | 2015-1-26 9:54:44 | 阅读(11) |评论(0) | 阅读全文>>

PostgreSQL exec_bind_message exec_execute_message slow duration CASE

2015-1-25 11:20:20 阅读19 评论0 252015/01 Jan25

集中在一个时间点爆发了大量的超时 :

postgresql-2015-01-25_080541.csv:2015-01-25 08:28:54.480 CST,"xxx","xxx",3801,"xxx.xxx.xxx.xxx:53452",54c40104.ed9,3,

"BIND",2015-01-25 04:31:00 CST,156/155533,0,LOG,00000,"duration: 2677.350 ms  bind <unnamed>:.........",,,,,,,"exec_bind_message, postgres.c:1771",""

postgresql-2015-01-25_080541.csv:2015-01-25 08:28:54.479 CST,"xxx","xxx",31499,"xxx.xxx.xxx.xxx:2311",54c438c5.7b0b,3

,"INSERT",2015-01-25 08:28:53 CST,197/371,3269635044,LOG,00000,"duration: 1240.600 ms  execute <unnamed>:.............,,,,,,,"exec_execute_message, postgres.c:1991",""

以往在操作系统内存释放的时候会发生同样的情况.

11:00:01 PM  pgpgin/s pgpgout/s  

作者  | 2015-1-25 11:20:20 | 阅读(19) |评论(0) | 阅读全文>>

PostgreSQL fast bit set 1 count for int4

2015-1-14 17:44:28 阅读35 评论0 142015/01 Jan14

一个关于int的比特位为1的计数函数, 效率还挺高的.

Thanks for all the replies.

I'm giving this a spin, at present. It's based on Rikard's suggestion of using plpgsql script function. Like Jason and other have said, it could be done in a C function (and this was my first inclination), but the hassle of worrying about linking libraries, 32/64-bit installation etc is probably overkill. So this implementation of the 'MIT Hakmem' algorithm seemed like a good compromise between efficiency and efficacy:

CREATE FUNCTION mybitcount(n int4) RETURNS int4 AS $$

DECLARE tmp int4;

BEGIN

tmp = n - ((n >> 1) & 3681400539) - ((n >> 2) & 1227133513);

RETURN ((tmp + (tmp >> 3)) & 3340530119) % 63;

作者  | 2015-1-14 17:44:28 | 阅读(35) |评论(0) | 阅读全文>>

Oracle docker image for oracle + zfs snapshot send for backup

2015-1-14 10:12:04 阅读27 评论0 142015/01 Jan14

oracle software on docker image

oracle datafile, ctl file, redo log, arch on volumn

volumn on zfs

oracle backup by zfs snapshot

oracle zfs snapshot backup to other host by zfs snapshot send.

another oracle bacup method, by oracle standby, by oracle rman.

作者  | 2015-1-14 10:12:04 | 阅读(27) |评论(0) | 阅读全文>>

zfs performance tuning basic

2015-1-13 16:46:10 阅读37 评论0 132015/01 Jan13

ZFS优化的一些基础常识.

zfs模块每个参数的讲解, 包括IO调度, ARC的优化

man /usr/share/man/man5/zfs-module-parameters.5.gz

例如zfs将IO分为5个队列, 针对每个队列可以通过模块参数来控制IO调度, 例如为了提高同步写的能力, 同步写的active可以设大, 为了提高异步写的能力, 可以设置较大的脏ARC区域, 以及设置较宽的加速区域来降低同步写的冲突IO争抢.

5个队列分别为同步读,写, 异步读,写, 以及ZFS自身的检查和修复操作IO.

ZFS I/O SCHEDULER

ZFS issues I/O operations to leaf vdevs to satisfy and complete I/Os.  The I/O scheduler determines when and in

what order those operations are issued.  The I/O scheduler divides operations into five I/O classes prioritized

in the following order: sync read, sync write, async read, async write, and scrub/resilver.  Each queue defines

the minimum

作者  | 2015-1-13 16:46:10 | 阅读(37) |评论(0) | 阅读全文>>

ZFS case : top CPU 100%sy, when no free memory trigger it.

2015-1-13 16:14:02 阅读34 评论0 132015/01 Jan13

最近在一个系统频频遇到负载突然飙升到几百, 然后又下去的情况.

根据负载升高的时间点对应的数据库日志分析, 对应的时间点, 有大量的类似如下的日志 :

"UPDATE waiting",2015-01-09 01:38:47 CST,979/7,2927976054,LOG,00000,"process 26366 still waiting for ExclusiveLock on extension of relation 686062002 of database 35078604 after 1117.676 ms",,,,,,"

"INSERT waiting",2015-01-09 01:38:36 CST,541/8,2927976307,LOG,00000,"process 25936 still waiting for ExclusiveLock on extension of relation 686062002 of database 35078604 after 1219.762 ms",,,,,,"

"INSERT waiting",2015-01-09 01:38:48 CST,1018/64892,2929458056,LOG,00000,"process 26439 still waiting for ExclusiveLock on extension of relation 686061993 of database 35078604 after 1000.105 ms",

作者  | 2015-1-13 16:14:02 | 阅读(34) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

浙江省 杭州市 狮子座

 发消息  写留言

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

日志分类

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

FlagCounter

 
 
模块内容加载中...
 
 
 
 
 

新浪微博

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

页脚

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

创建博客 登录  
 加关注