- 浏览: 231010 次
- 性别:
- 来自: 北京
最新评论
-
chenxliang:
2016年10月26、27日,上海浦东,Postgres中国用 ...
PostgreSQL的用户、角色和权限管理 -
gejiod:
最近出了SQL:2011標準,希望樓主也更新下
SQL2008标准 -
lincon77:
太长了,又是E文,要是有些例子可能好理解些
SQL2003标准 -
少主丶无翼:
很谢,找了很久
SQL2003标准 -
zeeeitch:
...
PostgreSQL启动过程中的那些事七:初始化共享内存和信号二十:shmem中初始化堆同步扫描、pg子进程相关结构
文章列表
对象-关系型数据库管理系统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