自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

翻译 PostgreSQL及主流商用数据库谱系

对象-关系型数据库管理系统PostgreSQL是从加州大学伯克利分校计算机系开发的 INGRES(INteractive Graphics REtrieval System)软件包发展而来的,可以说它是对数据库行业最有影响、最先进的开源数据库。主流商用数据库除DB2和Oracle外,Informix、Sybase sql server、MS sql server、Ingres均和pg有着或多或

2011-12-07 22:10:42 3609

原创 PostgreSQL中的数据结构一:可扩展哈希表一

二叉树搜索具有对数时间的表现有个假设:输入数据具有相当的随机性。现在我们看哈希表,这种数据结构,其在插入、删除、查询操作上也具有常数评价时间的表现,而且这种表现以统计为基础,不依赖数据的随机性。        我们先看看pg里的哈希函数,再看pg里动态哈希表“dynmaic hashtable”(我认为用“可扩展哈希表”更能体现“dynmaichashtable”的功能,更贴近中国人用

2011-12-30 20:59:42 6900

原创 PostgreSQL启动过程中的那些事七:初始化共享内存和信号一:初始化shmemIndex和信号

pg现在要初始化另一块内存——共享内存shared memory(以后shared memory有时会简写成shmem),在这块内存里,pg存放数据、锁、各种backend进程等。1先上个图,看一下函数调用过程梗概,中间略过部分细节初始化共享内存方法调用流程图 2计算shared memory大小        话说main()->…->PostmasterMa

2011-12-29 22:13:57 4947

原创 PostgreSQL启动过程中的那些事六:初始化SSL链接相关库

pg到这儿检查参数EnableSSL,如果使能建立SSL连接,就初始化相关库。pg里安全相关的部分基本上是基于OpenSSL开发。搞网络安全的人没有不知道OpenSSL的,看到OpenSSL心中就有数了。国内的VPN、网银、安全支付等产品,基本上都是基于OpenSSL开发的。如果有兴趣可以先看看关于OpenSSL的资料,有本E文的书,名字忘了, 162页左右吧,专门介绍OpenSSL的。看之前先认

2011-12-28 21:49:38 1421

原创 PostgreSQL的内存管理机制四:AllocSet/MemoryContext的内存再分配

话说MemoryContextMethods结构里的函数实现了pg里AllocSet/MemoryContext的内存管理机制,定义见下面。typedef structMemoryContextMethods{     void    *(*alloc) (MemoryContext context, Sizesize);     /* call this free_p in ca

2011-12-22 20:47:40 2714

原创 PostgreSQL的内存管理机制三:AllocSet/MemoryContext实例删除和内存回收

话说MemoryContextMethods结构里的函数实现了pg里AllocSet/MemoryContext的内存管理机制,定义见下面。typedef structMemoryContextMethods{     void    *(*alloc) (MemoryContext context, Sizesize);     /* call this free_p in ca

2011-12-22 06:17:11 3665

原创 PostgreSQL启动过程中的那些事五:初始化世界上现有行政区时区

话说初始化完全局时区后,初始化全部的时区。 从默认时区文件%PostgreSQL Home%\share\timezone\Default中读、解析世界上按行政区划现有的时区以及这些时区和UTC的以秒记的时差到临时MemoryContext "TZParserMemory"里的有序tzEntry **类型的timezone数组base里。然后把base数组拷贝到MemoryContext "Top

2011-12-20 21:20:55 1781

原创 PostgreSQL启动过程中的那些事四:初始化全局时区global_timezone

话说初始化和设置完GUC参数后,改变了当前工作文件夹,给数据集文件夹加了文件锁postmaster.pid,接着就是初始化时区设置,这些都跳过去了,后来发现初始化时区用到了pg里的动态哈希表,决定还是把这个写出来。动态哈希表在pg里使用的地方很多,pg使用它管理共享内存shared memory、锁、市区timezone等。Linux使用哈希表来管理内存、连接等。后面再讨论pg里的动态哈希表d

2011-12-19 21:17:18 3033 2

原创 北京2011-11-05 PostgreSQL用户交流会

11月5日,现场实到37人,比想象中的人多,和北京的经济、信息化水平相比还不成比例,北京的数据库用户是不是都money多的没地方花了???从一个侧面也体现了举办此用户交流会的必要性。下面是萧少聪,秦红胜,孙鹏讲解图片,谈了时势、应用、pg的主要发起人、开发环境等,手机拍的,效果不好。逯永收组织的不错。使我们从中受益,希望未来更好!

2011-12-14 20:55:27 1343

原创 SQL标准系列下载

SQL标准之92标准、99标准、2003标准、2008标准下载,上传到下面的连接了。http://beigang.iteye.com/category/188820

2011-12-14 20:52:27 2022

原创 Windows系统进程打开文件句柄数的限制

在linux系统中,进程打开的文件句柄数量的限制,可用ulimit命令来查看和修改,或者修改/etc/security/limits.conf也可以修改。但在windows中,目前没有找到方便的方法查看这个值。下面这段代码可以用来查看该值,设置的办法还没有找到。Windows server 2003下面程序的值是509,加上标准I/O和标准错误文件句柄,系统这个值应该是512。其他的win

2011-12-11 18:21:21 14452 3

原创 PostgreSQL备份恢复二:WAL归档--windows

0 创建 WAL 备份目录,比如: d:\pg_xlog_archive1 修改 postgresql.conf 中的 archive_command 设置,比如:     archive_command = 'copy "%p" d:\\pg_xlog_archive\\%f'      注:%p 要用双引号括起来处理安装目录中有空格的情况。 archive_mode

2011-12-11 18:16:52 2762 1

原创 PostgreSQL备份恢复一:转储

总体上命令形式如下:pg_dump -h数据库服务器IP -hpg端口 -U用户名 -W密码 -F *备份文件的格式 -f 备份文件名 要备的数据库pg_restore  -h数据库服务器IP -hpg端口 -U用户名 -W密码 -d 数据库名 备份文件名其中数据库服务器IP为本机可以省略,端口为默认端口可以省略 常用的对应逻辑备份恢复命令示例如下,这些命令我都试过,可以成功运

2011-12-11 18:15:43 3021

原创 PostgreSQL的内存管理机制二:AllocSet/MemoryContext的内存回收

话说MemoryContextMethods结构里的函数实现了pg里AllocSet/MemoryContext的内存管理机制,定义见下面。typedef structMemoryContextMethods{     void    *(*alloc) (MemoryContext context, Sizesize);     /* call this free_p in ca

2011-12-09 20:28:52 2634 1

原创 PostgreSQL启动过程中的那些事三:加载GUC参数

1先上个图,看一下函数调用过程梗概,中间细节有略       GUC参数初始化分两步,第一步先读取buildin/compiled-in的GUC参数默认值,这里包括全部的GUC参数,建立GUC参数相关结构变量,第二步读取postgresql.conf配置文件中的参数设置之。从上图中能看出来,这个读取并设置postgresql.conf中参数的过程还是挺复杂的。2初始化GUC

2011-12-09 20:23:25 3738 1

原创 postgresql调优一:postgresql参数调优

1。pg中性能相关常调参数   参数名称参数意义优化思路shared_buffers数据库服务器将使用的共享内存缓冲区大小,该缓冲区为所有连接共用。从磁盘读入的数据(主要包括表和索引)都缓存在这里。提高该值可以减少数据库的磁盘IO。work_mem声明内部排序和哈希操作可使用的工作内存大小。该内存是在开始使用临时磁盘文件之前使用的

2011-12-07 22:40:36 12185 2

原创 PostgreSQL接口编程三:JDBC接口

1介绍pgJDBC驱动可以使Java程序以标准的数据库无关的java代码连接pg。除了一些pg特定的是纯java实现,因此只需要下载jar包就可以开干了。扩展PostgreSQL的外,该驱动程序提供了相当完整的JDBC3规范的实施。目标是完全符兼容,但现在还没有兼容在todo list中列出可以从下面的网站上http://jdbc.postgresql.org/下载驱动包pos

2011-12-07 22:38:30 4341

原创 PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

1介绍Npgsql是pg的.Net驱动,它可以使任何基于.Net framework开发的程序访问数据库。它100%由C#实现。支持和pg7.x和8.x。我写这篇文章时用的是pg9.x,可以正常访问。这个接口支持.Net data provider,和ADO.NET之OLEDB/ODBC有区别。要是从别的数据库迁移过来,而以前使用的是ADO.NET之OLEDB/ODBC接口,有些访问数

2011-12-07 22:37:20 9733 1

原创 PostgreSQL接口编程一:OLEDB--PGNP驱动

1介绍PGNP Native Provider是以OLEDB接口访问PostgreSQL数据库的驱动程序。以下简称PGNP,PostgreSQL数据库以下简称pg。 PGNP是pg数据库的OLEDB接口驱动程序,他介于微软OLEDB和ADO.NET之OLEDB与PostgreSQL libpq库接口之间,实现了大多数OLEDB接口,并使用pg的libpq访问pg数据库。PGNP可以为.

2011-12-07 22:35:57 12689

原创 数据库编程之编码转换实例:乱码分析

1问题描述最近有人问我问题,说在Java中以UTF-8编码读UTF-8编码的文件test.htm,存入oracle数据库后再读出,一切正常。在Java中UTF-8编码读UTF-8编码的文件test.htm,存入kingbase数据库后再读出,文件中出现乱码,不知为何。2具体现象具体现象如下:Java中读UTF-8编码的文件test.htm,存入数据库后再读出,文件中出现乱码

2011-12-07 22:33:08 2195

原创 数据库字符集和编码转换

数据库管理系统支持某种编码,主要涉及三个方面:       数据库服务器支持。       数据访问接口支持。       客户端工具支持。 1        数据库服务器字符编码:数据库服务器支持某种编码,是指数据库服务器能够从客户端接收、存储以及向客户端提供该种编码的字符(包括标识符、字符型字段值),并能将该种编码的字符转换到其它编码(如UTF-8编码转到GBK编码)。

2011-12-07 22:29:41 12726

原创 pg的内存管理机制一:AllocSet的内存分配

1 AllocSet的内存分配涉及到的方法和数据结构话说MemoryContextMethods结构里的函数实现了pg里AllocSet和MemoryContext的内存管理机制,定义见下面。  typedef struct MemoryContextMethods{     void    *(*alloc) (MemoryContext context, Size

2011-12-07 22:27:10 3497 1

原创 pg启动过程中的那些事二:初始化PostmasterContext

1先上个示意图,看一下函数调用过程梗概,中间略过部分细节 前面标3的是初始化PostmasterContext初始化PostmasterContext的方法调用流程图 2初始化PostmasterContext的过程话说main()->…->PostmasterMain()->…->MemoryContextInit()->AllocSetContextCreate

2011-12-07 22:21:23 1794

原创 PostgreSQL启动过程中的那些事一:初始化TopMemoryContext和ErrorContext

1先上个示意图,看一下函数调用过程梗概,中间略过部分细节 前面标1的是初始化TopMemoryContext前面标2的是初始化ErrorContext初始化TopMemoryContext和ErrorContext的方法调用过程图 2初始化TopMemoryContext的过程话说main()->…->PostmasterMain()->…->MemoryC

2011-12-07 22:19:07 3754

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除