自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 PostgreSQL--SQL命令参考手册

 http://www.wohedb.com/db_html_doc/index_sql_comamnd_manual.htm     PostgreSQL--SQL命令参考手册http://www.wohedb.com/db_html_doc/sql_command_manual/sql_abort.htmhttp://www.wohe

2009-05-18 12:51:00 673

原创 PostgreSQL数据库基本概念

 http://www.wohedb.com/db_html_doc/db_tutorial/tutorial_2_concept.htm    http://www.wohedb.com                  中文数据库管理系统第二章  数据库基本概念2.1进程结构PostgreSQL与Oracle类似,是多进程结构的数据库,各种不同类型的进程相互

2009-05-18 11:53:00 3945

原创 PostgreSQL--安装数据库

 http://www.wohedb.com/db_html_doc/db_tutorial/tutorial_1_install.htm http://www.wohedb.com     中文数据库管理系统 第一章     安装数据库 1.1安装软件数据库软件安装的过程很简单,将软件包直接解开,即可使用,假设数据库软件包是postgres.tar.gz,执行

2009-05-18 11:48:00 1069

原创 PostgreSQL的并发控制

http://www.wohedb.com/db_html_doc/sql/sql_9_concurrency.htmhttp://www.wohedb.com  中文数据库管理系统第九章 并发控制     本章介绍PostgreSQL的并发控制机制。当两个或多个用户同时访问同一个数据行时,需要使用并发控制机制来维护数据的完整性和一致性。 9.1 概

2009-05-17 12:09:00 2058

原创 PostgreSQL 备份与恢复

http://www.wohedb.com/db_html_doc/administrator_guide/adm_9_backup_and_restore.htmwww.wohedb.com    中文数据库 第九章   备份与恢复    PostgreSQL提供了三种备份和恢复的方式:SQL dump、文件系统复制和联机热备份。 每一种备份方式都有自己的优点和缺点,

2009-05-17 12:05:00 2325

原创 PostgreSQL数据库安全

 http://www.wohedb.com/db_html_doc/administrator_guide/adm_2_security.htmhttp://www.wohedb.com  中文数据库管理系统第二章 数据库安全  PostgreSQL实现了基于角色的存取控制机制。角色是权限的集合。可以将权限赋给用户,也可以将权限赋给角色。可以将角色赋给一个用户,该

2009-05-17 12:02:00 1582

原创 PostgreSQL--PL/pgSQL基本语句

http://www.wohedb.com/db_html_do ... ql_4_statements.htmwww.wohedb.com  中文数据库管理系统第四章 基本语句   本章介绍PL/pgSQL的基本语句。4.1 赋值语句   PL/pgSQL的赋值语句的格式如下:   variable := expression;   可以对一个变量赋值,也可以对数据行/记录类型的变量的某个域

2009-05-17 09:13:00 4369 1

原创 PostgreSQL索引

 www.wohedb.com  中文数据库管理系统http://www.wohedb.com/db_html_doc/sql/sql_8_index.htm第八章 索引     索引是提高数据库查询性能的常用方法。有了索引数据库在执行查询时就能快速地找到表中特定的数据行。但是索引会增加更新操作的执行成本,因为索引中的数据要和表中的数据保持一致,更新表中的数据时,数据库

2009-05-17 08:47:00 4298

原创 Postgres8.3.3增强版(添加SQL执行信息统计功能)

一直都在从事数据库性能测试方面的工作,遇到过各种各样的性能问题。深感若没有SQL执行信息,数据库性能分析便无从谈起。 利用业余时间修改了Postgres8.3.3的源代码,在其中加入了统计SQL执行信息的功能。它可以显示每条 SQL 语句的执行次数、执行时间、消耗的CPU时间、读cache次数、命中cache 次数。它可以帮你找到执行时间最长,消耗资源最多的SQL。对于事务处理,如果一条SQL

2008-09-25 12:56:00 852

原创 Postgres 与Oracle对比(服务进程崩溃)

在Oracle数据库中,一个服务进程崩溃不会影响到其他服务进程的执行。但在Postgres中,一个服务进程崩溃后, Postmaster进程会终止所有的数据库进程,恢复数据库,然后重新打开数据库。在数据库的日志文件中会出现类似以下的信息:LOG: terminating any other active server processesLOG: all server processes termi

2008-09-25 12:54:00 1060

原创 Postgres 与Oracle对比(进程结构与并发控制)

Postgres 与Oracle对比(进程结构与并发控制)一.进程结构Postgres中主要有以下几种进程:postmaster, postgres, vacuum, bgwriter, pgarch, walwriter, pgstat(1)postmaster 负责在启动数据库的时候创建共享内存并初始化各种内部数据结构,如锁表,数据库缓冲区等,该进程在数据库中只有一个。在数据库启动以后负责监听

2008-09-25 12:52:00 1212

PostgresQL8.3中文文档

PostgresQL8.3 中文文档,添加了数据库复制功能的介绍。

2009-05-17

Postgres8.3.3增强版(添加SQL执行信息统计功能)

一直都在从事数据库性能测试方面的工作,遇到过各种各样的性能问题。深感若没有SQL执行信息,数据库性能分析便无从谈起。 利用业余时间修改了Postgres8.3.3的源代码,在其中加入了统计SQL执行信息的功能。它可以显示每条 SQL 语句的执行次数、执行时间、消耗的CPU时间、读cache次数、命中cache 次数。 它可以帮你找到执行时间最长,消耗资源最多的SQL。对于事务处理,如果一条SQL语句在执行时读cache的次数达到了2000以上,极有可能是优化器产生的执行计划太差, 如果你在使用potgres时遇到性能问题,不妨使用一下。 这是一个完整的postgres软件包, 直接解开便可使用。 现在只有Linux 32位版的。 基于的postgres的版本是8.3.3, 使用旧版本的需要升级。 只需要用psql连上数据库,输入命令"dump sql_stats;" 或 "dump sql_stats reset;", 所有SQL语句的执行信息便会被写到一个数据文件中,该数据文件位于子目录sql_dump下面。 假定你的数据库位于目录/home/postgres/database 下,那么你可以在/home/postgres/database/sql_dump下找到该数据文件。 该数据文件的名字以sql_dump打头,后面是文件建立的时间, 如sql_dump_2008_09_24_12_42_25 表示该文件是2008年9月24日12点42分45秒创建的。如果是第一次执行dump sql_stats,它将会将所有的从数据库启动到执行该命令期间运行的 SQL语句的信息导出到外部文件中,否则,它将会将所有的从上次执行dump sql_stats reset命令到本次执行该命令期间运行的SQL语句的信息导出到外部文件中。如果在Linux 下查看该文件,LANG环境变量应设为zh_CN.gb1803(我用的是openSuse 11)。 下面是我的机器上的一个数据文件实例, 其中含有两条SQL语句的执行信息: yan@yan:/home/postgres_bin/database/sql_dump> more sql_dump_2008_09_24_12_42_25 ------------------------------------------------------------------------------------------------- 第1条SQL drop table pxtest1 ; 执行次数:1 读cache次数:103 命中cache次数:103 执行时间: 1661.000000 消耗的CPU时间:0.000000 平均读cache次数:103 平均命中cache次数:103 平均执行时间: 1661.000000 平均消耗的CPU时间:0.000000 ------------------------------------------------------------------------------------------------- 第2条SQL select * from foo where id in ( select id2 from ( select id1 , id2 from bar union select id1 , id2 from bar ) as s ) ; 执行次数:1 读cache次数:0 命中cache次数:0 执行时间: 342.000000 消耗的CPU时间:0.000000 平均读cache次数:0 平均命中cache次数:0 平均执行时间: 342.000000 平均消耗的CPU时间:0.000000 ------------------------------------------------------------------------------------------------- 以第一条SQL为例,第一行显示的是具体的SQL语句,第二行显示的是该语句的执行次数, 第三行显示的是这条语句执行时总的读cache次数、总的命中cache次数、总的执行时间和总的CPU时间。 第四行显示的是平均每次执行的读cache次数、命中cache次数、执行时间和消耗的CPU时间,实际上就是用第三行的值除以SQL语句的执行次数得来的。注意执行时间和CPU时间的单位是0.000001秒,即微秒。 dump sql_stats 与 dump sql_stats reset的区别在于,加上reset以后,所有SQL执行统计信息在被导出到外部文件中后,数据库将会清除掉这些信息,重新开始统计。没有加reset,则所有 SQL执行统计信息在被导出到外部文件中后,还会继续保存在数据库中。 另外,该工具在统计SQL执行信息时,会对SQL语句进行一定的变换, 如果SQL语句中含有数据或字符型等常量,这些常量将会被变换成$1,$2, ..., $n。 例如: select * from test where size > 100 将会被变换成 select * from test where size > $1, 同样 select * from test where size > 200 也会被变换成 select * from test where size > $1。所以这两条语句的的执行信息会被合并到一起, 作为一条语句来处理。再举一个例子, select * from test where size > 100 and size < 200 会被变换成 select * from test where size > $1 and size < $2, 所以它与上面两条语句是 不同的,将会作为一条新的语句来收集统计信息。 遇到问题可以与我联系postgres_fan@yahoo.com.cn

2008-09-25

空空如也

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

TA关注的人

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