`
文章列表
对象-关系型数据库管理系统PostgreSQL是从加州大学伯克利分校计算机系开发的 INGRES(INteractive Graphics REtrieval System)软件包发展而来的,可以说它是对数据库行业最有影响、最先进的开源数据库。主流商用数据库除DB2和Oracle外,Informix、Sybase sql server、MS sql server、Ingres均和pg有着或多或少的渊源,特别是Informix和Sybase。PostgreSQL和主流商用数据库的谱系及历史,简略的可以参见下面的酷图(引自http://mira.sai.msu.su/~megera/pgsql/)。 ...
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 (id)(PARTITION t1_1000 VALUES LESS THAN(1001), PARTITION t1001_2000 VALUES LESS THAN(2001), PARTITION ...
因某项目测了PPAS和PostgreSQL的分区表在where条件里按分区键、函数、子查询等11中不同情况时的性能体现,两者基本一致,只有在in关键字和to_number函数的情况下不同,in关键字在PPAS中只扫描对应的子表,Postgres里做全表扫描;to_number函数在PostgreSQL中是没有的,因此报错,因为PPAS有兼容oracle引擎,所以没问题,走相应子表扫描。相同的情况有:按分区列值查询,只查询对应分区表按分区列值做范围查询,只查询对应分区表按分区列值和其它列查询,只查询对应分区表按分区列值查询,值有显式类型转换,只查询对应分区表按分区列值查询,值和列类型不同,值有 ...
有用户想知道pg中copy命令使用二进制文件时二进制文件的格式,这个格式pg的使用文档里其实已经有了,这儿结合例子说明的更具体一些,现解析如下: 先看一下copy命令的语法,然后做个例子,根据例子解析一下二进制文件的格式。 一 COPY命令用于在外部文件(客户端)和表之间传送数据,语法如下: COPY tablename [ ( column [, ...] ) ]     FROM { 'filename' | STDIN }     [ [ WITH ]           [ BINARY ]           [ OIDS ]           [ DELIMI ...
最近有个项目,客户用了edb的ppas,没有只安装psql的安装包,客户表示有些不便,就有了下面的DIY,绿色的。postgresql上应该一样,没做测试。思路就是把psql依赖的包和psql搞到一起切让psql执行时能找到并加载就OK了。具体步骤见下面   1 1.1只安装psql客户端的问题在windows上只要从edb服务器上把下面的文件copy到客户端上(服务器和客户端机应该同为32或64位)libeay32.dll libintl-8.dlllibpq.dll    psql.exe     ssleay32.dll   1.2 然后如下就可以了:E:\psql> ...
1 创建JDBC提供程序   Ppas的实现类名: com.edb.jdbc2.optional.ConnectionPool Pg的实现类名: org.postgresql.jdbc2.optional.ConnectionPool   2 JDBC提供程序类路径   Ppas类路径: C:\Program Files\IBM\WebSphere\AppServer\lib\ext\edb-jdbc14.jar pg类路径: C:\Program Files\IBM\WebSphere\AppServer\lib\ext\ postgresql-9.2-1002.jdbc ...
Pg权限分为两部分,一部分是“系统权限”或者数据库用户的属性,可以授予role或user(两者区别在于login权限);一部分为数据库对象上的操作权限。对超级用户不做权限检查,其它走acl。对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。在pg里,对acl模型做了简化,组和角色都是role,用户和角色的区别是角色没有login权限。   可以用下面的命令创建和删除角色, CREATE ROLE name; DROP ROLE name;
          题外话:年底了,就以这篇博文结束2012吧         总结回顾一下 pg 服务进程中的内存上下文吧。          Pg 的内存管理就像经济体制,计划经济和市场经济并存,主要是共享内存和内存上下文。共享内存就是计划经济,启动时根据各相关参数计算好大小就固定了,使用时也严格按照计划使用。内存上下文就是市场经济,这一部分是按需使用。这两种内存的管理前面有几篇文章做了专门讨论,可以参考 pg的内存管理机制一:AllocSet的内存分配 http://blog.csdn.net/beiigang/article/deta ...
  1 从其它数据库迁移到 PPAS 时可迁移的数据库对象间下表     2 安装 ppas 时会有安装 migreation toolkit 的选项,可以选择安装,也可以到 www.enterprisedb.com 下载安装   3 编辑 /opt/PostgresPlus/9.2AS/etc/toolkit.properties linux-np3p:/opt/PostgresPlus/9.2AS # cat -n etc/toolkit.properties     ...
  PPAS 有两个迁移工具,一个图形界面的,一个命令行的,下面以图形界面为例。   1 首先需要在目标数据库系统 PPAS 上建立和源库对应的用户和对等的权限,再建立目标数据库。 create user " USERNAMEXXX " with superuser password 'xxxxxx'; create database DatabaseName owner="TYTUTOR" encoding='utf8';   2 根据 jre 版本 ( ...
  0 下载 EnterpriseDB 产品要登录 http://www.enterprisedb.com/ 并注册,下载产品,然后再搞一个测试产品的 key 。 可以图形安装,可以文本安装,默认图形安装,安装步骤如下,安装参数可以后面加 --help 查看,文本安装在图形安装命令后面加 --mode text 1 运行安装包 2 现在安装语言   3 4 5   输入 http://www.enterprisedb.com/ 上的注册信息 6
         话说 查询“ select cname, comp from test1, test2 where test1.id=test2.id; ” 发送到服务器端, 走查询分支 exec_simple_query ,先调用 start_xact_command 初始化了事务管理相关对象和资源,接着调用 pg_parse_query ,通过 Lex 和 Yacc 对传入 SQL 语句进行词法语法解析,生成解析树。下来调用 GetTransactionSnapshot 方法做内存快照,然后调用 pg_analyze_and_r ...
  话说 查询“ select cname, comp from test1, test2 where test1.id=test2.id; ” 发送到服务器端, 走查询分支 exec_simple_query ,先调用 start_xact_command 初始化了事务管理相关对象和资源,接着调用 pg_parse_query ,通过 Lex 和 Yacc 对传入 SQL 语句进行词法语法解析,生成解析树。下来调用 GetTransactionSnapshot 方法做内存快照,然后调用 pg_analyze_and_rewrite 方法, ...
  话说 查询“ select cname, comp from test1, test2 where test1.id=test2.id; ” 发送到服务器端, 走查询分支 exec_simple_query ,先调用 start_xact_command 初始化了事务管理相关对象和资源,接着调用 pg_parse_query ,通过 Lex 和 Yacc 对传入 SQL 语句进行词法语法解析,生成解析树。下来调用 GetTransactionSnapshot 方法做内存快照,然后调用 pg_analyze_and_rewrite 方法, ...
Note : #PostgreSQL and PHP supports Batched Queries. #Awesome, huh? Version : SELECT VERSION() Directories : SELECT
Global site tag (gtag.js) - Google Analytics