- 博客(93)
- 收藏
- 关注
PostgreSQL和PPAS的分区表及多种条件下的性能体现二
PPAS中的分区表可以按oracle兼容的语法创建,具体使用请参见《Postgres_Plus_Advanced_Server_Oracle_Compatibility_Guide_v91.pdf》。下面是分区表上操作的相关情况1创建表:create table test (id integer primary key, name varchar(32))PARTITION BY RANGE (...
2013-06-08 14:57:38
231
PostgreSQL和PPAS的分区表及多种条件下的性能体现一
因某项目测了PPAS和PostgreSQL的分区表在where条件里按分区键、函数、子查询等11中不同情况时的性能体现,两者基本一致,只有在in关键字和to_number函数的情况下不同,in关键字在PPAS中只扫描对应的子表,Postgres里做全表扫描;to_number函数在PostgreSQL中是没有的,因此报错,因为PPAS有兼容oracle引擎,所以没问题,走相应子表扫描。相同的情...
2013-06-08 14:51:30
274
PostgreSQL中copy命令以二进制形式传输数据的二进制格式
有用户想知道pg中copy命令使用二进制文件时二进制文件的格式,这个格式pg的使用文档里其实已经有了,这儿结合例子说明的更具体一些,现解析如下:先看一下copy命令的语法,然后做个例子,根据例子解析一下二进制文件的格式。一COPY命令用于在外部文件(客户端)和表之间传送数据,语法如下:COPY tablename [ ( column [, ...] ) ] FROM ...
2013-06-08 14:29:33
407
原创 只安装PostgreSQL客户端工具psql
最近有个项目,客户用了edb的ppas,没有只安装psql的安装包,客户表示有些不便,就有了下面的DIY,绿色的。postgresql上应该一样,没做测试。思路就是把psql依赖的包和psql搞到一起切让psql执行时能找到并加载就OK了。具体步骤见下面 11.1只安装psql客户端的问题在windows上只要从edb服务器上把下面的文件copy到客户端上(服务器和客户端机应该同为3...
2013-05-30 17:25:09
981
Websphere中为PostgreSQL和PPAS配JDBC数据源
1创建JDBC提供程序 Ppas的实现类名: com.edb.jdbc2.optional.ConnectionPoolPg的实现类名: org.postgresql.jdbc2.optional.ConnectionPool 2JDBC提供程序类路径 Ppas类路径: C:\Program Files\IBM\WebSphere\AppServer\lib\...
2013-04-17 17:33:57
291
原创 PostgreSQL的用户、角色和权限管理
Pg权限分为两部分,一部分是“系统权限”或者数据库用户的属性,可以授予role或user(两者区别在于login权限);一部分为数据库对象上的操作权限。对超级用户不做权限检查,其它走acl。对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。在pg里,对acl模型做了简化,组和角色都是role,用户和角色的区别是角色没有login权限。 可以用下面的命令创建和删除角色,...
2013-02-23 08:46:55
1276
PostgreSQL服务过程中的那些事三:pg服务进程中的内存上下文
题外话:年底了,就以这篇博文结束2012吧 总结回顾一下pg服务进程中的内存上下文吧。 Pg的内存管理就像经济体制,计划经济和市场经济并存,主要是共享内存和内存上下文。共享内存就是计划经济,启动时根据各相关参数计算好大小就固定了,使用时也严格按照计划使用。内存上下文就是市场经济,这一部分...
2012-12-31 15:07:41
232
PPAS命令行迁移工具
1从其它数据库迁移到PPAS时可迁移的数据库对象间下表 2安装ppas时会有安装migreation toolkit的选项,可以选择安装,也可以到www.enterprisedb.com下载安装 3编辑/opt/PostgresPlus/9.2AS/etc/...
2012-12-29 17:27:00
302
把数据库从oracle迁移到PPAS
PPAS有两个迁移工具,一个图形界面的,一个命令行的,下面以图形界面为例。 1首先需要在目标数据库系统PPAS上建立和源库对应的用户和对等的权限,再建立目标数据库。create user " USERNAMEXXX " withsuperuser password 'xxxxxx'; create database ...
2012-12-24 17:46:01
261
64位RHEL6.2上安装PPAS9.2
0下载EnterpriseDB产品要登录http://www.enterprisedb.com/并注册,下载产品,然后再搞一个测试产品的key。可以图形安装,可以文本安装,默认图形安装,安装步骤如下,安装参数可以后面加 --help查看,文本安装在图形安装命令后面加 --mode text1运行安装包...
2012-12-19 17:56:09
140
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询六:执行器执行
话说查询“select cname, comp from test1, test2 wheretest1.id=test2.id;” 发送到服务器端,走查询分支exec_simple_query,先调用start_xact_command初始化了事务管理相关对象和资源,接着调用pg_parse_query,通过...
2012-11-07 20:13:26
294
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询五:规划成plantree
话说查询“selectcname, comp from test1, test2 where test1.id=test2.id;” 发送到服务器端,走查询分支exec_simple_query,先调用start_xact_command初始化了事务管理相关对象和资源,接着调用pg_parse_query,通过Lex和Yac...
2012-10-31 20:37:48
212
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询四:分析重写成querytree...
话说查询“selectcname, comp from test1, test2 where test1.id=test2.id;” 发送到服务器端,走查询分支exec_simple_query,先调用start_xact_command初始化了事务管理相关对象和资源,接着调用pg_parse_query,通过Lex和Yac...
2012-10-24 19:27:17
216
原创 postgresql 小技巧
Note:#PostgreSQL and PHP supports Batched Queries.#Awesome, huh?Version:SELECT VERSION()Directories:SELECT current_setting(‘data_directory’)SELECT current_setting(‘hb...
2012-10-16 19:36:53
134
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询三:获取内存快照
话说查询“selectcname, comp from test1, test2 where test1.id=test2.id;” 发送到服务器端,走查询分支exec_simple_query,先调用start_xact_command初始化了事务管理相关对象和资源,接着调用pg_parse_query,通过Lex和Yac...
2012-10-16 19:31:27
284
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询二:SQL解析为parsetree ...
话说查询“selectcname, comp from test1, test2 where test1.id=test2.id;” 发送到服务器端,走查询分支exec_simple_query,先调用start_xact_command初始化了事务管理相关对象和资源,接着调用pg_parse_query,通过Lex和Yacc...
2012-10-09 19:50:55
244
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询一:开启事务
在《PostgreSQL服务过程中的那些事二:pg服务进程处理简单查询概览》里话说以下面的例子对简单查询分支进行讨论,并给出了简单查询方法调用序列,下面就从这儿开始,先回顾一下上节点内容。进入简单查询分支处理方法exec_simple_query后的处理基本上涵盖了《数据库系统实现》这本书里的内容。处理量相当大,先根据流程图概览一下处理过程...
2012-09-25 19:55:40
217
PostgreSQL服务过程中的那些事一:启动postgres服务进程一.八:加载DB基础设施,完成服务进程初始化...
话说调用InitPostgres方法给portgres服务进程做相关初始化,这个方法里初始化了relcache和catcache,初始化了执行查询计划的portal的管理器,填充本进程PGPROC结构相关部分成员等,上一节讨论了portal管理环境的初始化,这一节继续讨论剩余的相关初始化。 1...
2012-09-18 21:02:18
246
PostgreSQL服务过程中的那些事一:启动postgres服务进程一.七:初始化portal管理环境 ...
话说调用InitPostgres方法给portgres服务进程做相关初始化,这个方法里初始化了relcache和catcache,初始化了执行查询计划的portal的管理器,填充本进程PGPROC结构相关部分成员等,上一节讨论了relcache管理环境的初始化,这一节继续讨论执行sql的portal管理器...
2012-09-11 19:58:05
214
PostgreSQL服务过程中的那些事一:启动postgres服务进程一.六:初始化系统表缓存catcache...
话说调用InitPostgres方法给portgres服务进程做相关初始化,这个方法里初始化了relcache和catcache,初始化了执行查询计划的portal的管理器,填充本进程PGPROC结构相关部分成员等,上一节讨论了relcache管理环境的初始化,这一节继续讨论catcache的初始化。...
2012-09-04 20:51:44
208
原创 PostgreSQL启动过程中的那些事十五.一:pg_hba.conf的用法
前几天配pgcluster,改错了pg_hba.conf文件,查了好一阵子。这个文件网上也有写的,现在把下面两篇博文合起来放在这儿备查。 http://swingfly.iteye.com/blog/508465 http://francs3.blog.163.com/blog/static/4057672...
2012-09-02 17:36:23
322
PostgreSQL服务过程中的那些事一:启动postgres服务进程一.五:初始化relcache管理环境...
话说调用InitPostgres方法给portgres服务进程做相关初始化,这个方法里初始化了relcache和catcache,初始化了执行查询计划的portal的管理器,填充本进程PGPROC结构相关部分成员等,这一节讨论这个方法。 1先看InitPostgres...
2012-08-28 20:47:21
118
PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询梗概
话说客户端发起请求,pg服务器为该请求启动一个postgres访问进程为该客户端通过访问,建立了连接。这个postgres访问进程进入无限循环,等待客户端请求并为其通过服务,直到进程终止,连接断口。这节就看客户端向postgres服务进程发出请求的处理过程。 1Postgres服务进程处理...
2012-08-21 21:04:32
118
PostgreSQL服务过程中的那些事一:启动postgres服务进程二:建立连接完成
3这节主要讨论pg服务进程postgres进程到了PostgresMain,所有后台进程,交互或其它进程从这儿开始。进入PostgresMain后,解析客户端命令行参数dbname;做文件、存储、缓存的初始化;设置合适的信号处理句柄;调用InitPostgres方法给portgres服务进程做相关初始化,...
2012-08-13 18:50:30
122
PostgreSQL服务过程中的那些事一:启动postgres服务进程一
到pg服务进程了,打算搞一个完整但简单的查询例子,从解析树到分析树到执行计划树,简论一下pg对于查询的整个处理过程(复杂点的各种树的图就太大了)。 话说pg启动后,postmaster进程进入无限循环,等待客户端请求并为之提供请求的服务(参见《pg启动过程中的那些事十七:serverloop》)。在无限循环里,postmas...
2012-08-08 14:42:30
337
PostgreSQL启动过程中的那些事十九:walwriter进程二
3这节主要讨论walwriter进程到了WalWriterMain,设置合适的信号处理句柄,创建一个资源属主以保持对本进程资源的跟踪,创建一个本进程的所有工作都在其内做的内存上下文"Wal Writer",创建这个内存上下文是为了本进程在错误恢复期间能重置context并且因此避免可能的内存泄漏。设置错误跳跃点。接着...
2012-08-03 16:53:23
116
PostgreSQL启动过程中的那些事十九:walwriter进程一
话说main()->PostmasterMain()->StartupDataBase(),fork了启动进程调用,调用StartupXLOG方法,启动XLOG、验证数据库一致性、根据情况做数据库恢复和创建检查点,然后启动进程退出。Postmaster进程响应启动进程退出信号,启动了后台写进程、WAL日志写进程...
2012-08-01 17:26:40
194
PostgreSQL启动过程中的那些事十八:bgwriter进程二
3 这节主要讨论bgwriter进程到了BackgroundWriterMain,设置合适的信号处理句柄,创建一个资源属主以保持对本进程资源的跟踪,创建一个本进程的所有工作都在其内做的内存上下文"Background Writer",创建这个内存上下文是为了本进程在错误恢复期间能重置context并且因此避免可能的内...
2012-07-27 07:25:13
118
PostgreSQL启动过程中的那些事十八:bgwriter进程一
话说main()->PostmasterMain()->StartupDataBase(),fork了启动进程调用,调用StartupXLOG方法,启动XLOG、验证数据库一致性、根据情况做数据库恢复和创建检查点,然后启动进程退出。Postmaster进程响应启动进程退出信号,启动了后台写进程、WAL日志写进程、...
2012-07-23 20:18:40
234
PostgreSQL的“孔雀开屏”式程序架构
看着下面这个图, 就想到了“孔雀开屏”。从main开始经过细致、周密的准备,pg启动了postmaster进程、系统日志进程、昙花一现的启动进程、后台写进程、写WAL日志进程、……,最后在服务器段抛出一句”database system is ready to acceptconnections”,开始准备对外提供服务。如果这时有客...
2012-07-17 18:20:06
151
PostgreSQL启动过程中的那些事十六:启动进程三:CheckPointGuts刷出共享内存里所有数据 ...
话说启动进程调用StartupXLOG启动xlog,根据情况,如果需要就排除系统故障引起的数据库不一致状态,做相应的REDO或UNDO,然后创建一个检查点,把所有共享内存磁盘缓冲和提交数据缓冲写并文件同步到磁盘、把检查点插入xlog文件、更新控制文件,使数据库达到一种状态。这节接着讨论启动进程在创建检查点时调用的...
2012-07-12 16:24:19
199
PostgreSQL启动过程中的那些事十七:ServerLoop
话说main()->PostmasterMain()->StartupDataBase(),fork了启动进程,根据情况处理系统故障并启动了xlog,然后启动进程退出。Postmaster进程响应启动进程退出信号,fork了后台写进程、WAL日志写进程、AUTOVACUUM进程、归档进程、统计进程这些辅助进程...
2012-07-08 19:30:24
175
工作中linux上装数据库经常用到的命令
1若能远程操作,在服务器上设置ssh服务 a、修改sshd_config文件,命令为:vi /etc/ssh/sshd_config b、将#PasswordAuthentication no的注释去掉,并且将NO修改为YES c、将#PermitRootLogin yes的注释去掉 d、重新启动SSH服务,命令为:/etc/init.d/sshd re...
2012-07-05 10:46:33
80
PostgreSQL相关进程分类
PostgreSQL相关进程分类: ------------转载请著明出处,来自博客:blog.youkuaiyun.com/beiigangbeigang.iteye.com
2012-07-01 21:28:22
88
PostgreSQL启动过程中的那些事十六:启动进程二
这节主要讨论启动进程到了StartupXLOG。根据情况,如果需要就排除系统故障引起的数据库不一致状态,做相应的REDO或UNDO,然后创建一个检查点,把所有共享内存磁盘缓冲和提交数据缓冲写并文件同步到磁盘、把检查点插入xlog文件、更新控制文件,使数据库达到一种状态,设置共享内存中XLogCtl、ShmemVariableC...
2012-06-24 16:32:54
157
PostgreSQL的存储系统二:REDOLOG文件存储结构
Pg XLOG文件(常说的REDOLOG)名字的命名方法是在XLogFileName宏里定义的,分别由时间线ID、日志ID、段ID的八位16进制数依次构成。例如00000001000000010000008F。#define XLogFileName(fname,tli, log, seg) \...
2012-06-20 19:56:54
194
PostgreSQL的存储系统一:控制文件存储结构
Pg 控制文件pg_control里存储的数据是一个ControlFileData结构。控制文件尽量保持小于512个字节以使其适合一个典型的磁盘驱动的物理簇的大小。这会减少由于电源故障而写控制文件直接失败的可能性。但控制文件的物理大小是8K,这个远大于512个字节。这样做是为了控制文件格式变化时保持物理大小不变,如果正在读一个不兼容的文件,以使...
2012-06-20 19:45:36
168
PostgreSQL启动过程中的那些事十六:启动进程一
话说pg中有个昙花一现的进程“启动进程”(“startup progress”),做了启动XLOG、验证数据库一致性、根据需要做数据库恢复和创建检查点等事情(参见《pg启动过程中的那些事十五StartDataBase梗概》),现在来讨论这个进程。1 StartupDataBase调用流程略图...
2012-06-18 21:45:38
386
PostgreSQL启动过程中的那些事十六:StartDataBase梗概
这一节到了pg的高潮,StartupDataBase启动数据库。 经过细致甚至有些枯燥(这中间我中断了几次就是有这感觉,干这行吗,还是搞清楚了心里踏实。)的准备,激动人心的时刻到了,pg要开始“high”了,pg人的原话就是“We're ready to rock and roll...”。...
2012-06-10 20:50:41
154
PostgreSQL启动过程中的那些事十二.五:启动系统日志进程syslogger
这一节pg启动系统日志进程。1先上个图,看一下函数调用过程梗概,中间略过部分细节SysLogger启动方法调用流程图 2初始化syslogger进程话说main()->…->Post...
2012-06-10 20:42:34
405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人