随笔分类 - postgresql

postgresql 字符集
摘要: postgresql数据库支持多种字符集,在配置字符集时要分清楚服务器与客户端的字符集,字符集不一致尽管有时能够发生转换,但带来的问题也很头疼。语言环境的配置也很重要。服务器字符集<来自文档>:代码常用的简体中文字符集是UTF8和EUC_CN两种。可自动转换字符集<来自文档>:代码以下针对客户端与服务器字符集配置问题作几个小测试。测试一:服务器、客户端、语言环境一致的情况代...阅读全文

posted @ 2010-10-14 17:11 大肚熊 阅读(6982) | 评论 (1) 编辑

greenplum数据库引擎探究
摘要: Greenplum做为新一代的数据库引擎,有着良好的发展与应用前景。强大的工作效率,低成本的硬件平台对数据仓库与商业智能建设有很大的吸引力。要清楚的了解其特点最好从架构着手。架构分析Greenplum的高性能得益于其良好的体系结构。Greenplum的架构采用了MPP(大规模并行处理)。在 MPP 系统中,每个 SMP 节点也可以运行自己的操作系统、数据库等。换言之,每个节点内的 CPU 不能访问...阅读全文

posted @ 2010-10-13 16:57 大肚熊 阅读(37181) | 评论 (6) 编辑

postgresql之vacuum
摘要: 数据库总是不断地在执行删除,更新等操作。良好的空间管理非常重要,能够对性能带来大幅提高。在postgresql中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数据并释放空间。VACUUM语法结构:[代码]postgresql中执行delete操作后,表中的记录只是被标示为删除状态,并没有释放空间,在以后的update或insert操作中该部分的空间是不能够被重用...阅读全文

posted @ 2010-10-11 15:44 大肚熊 阅读(22046) | 评论 (0) 编辑

postgresql之WAL(Write Ahead Log)
摘要: oracle中存在重做日志文件(redo log),其作用是保证数据的一致性和事务的完整性,防止在系统崩溃时最近的事务无法恢复。在postgresql中引入了WAL(write ahead log),作用相同。有不同之处的是postgresql数据库可以通过调整WAL参数控制日志写入磁盘的先后顺序。先将日志写入磁盘能够完全保证数据的完整性,在崩溃时可以恢复最近的事务;后写入磁盘,很难保证在崩溃时事...阅读全文

posted @ 2010-09-30 15:15 大肚熊 阅读(8707) | 评论 (3) 编辑

postgresql之checkpoints
摘要: checkpoint又名检查点,在oracle中checkpoint的发生意味着之前的脏数据全部写回磁盘,数据库实现了一致性与数据完整性。oracle在实现介质恢复时将以最近的checkpoint为参照点执行事务前滚。在postgresql中checkpoint起着相同的作用:写脏数据;完成数据库的完整性检查。checkpoints相关参数:checkpoint_segments:WAL log的...阅读全文

posted @ 2010-09-28 16:38 大肚熊 阅读(2903) | 评论 (0) 编辑

postgresql 后台进程backgroud writer
摘要: 在对数据进行处理之前都需要将数据从磁盘读到内存中,更新完毕后再将修改的数据写回磁盘,在postgresql数据中由backgroud writer与server process负责将“脏“数据写回磁盘。数据库执行flush数据大致过程:先由backgroud writer进程进行写,剩余的数据再由server process进程完成。影响backgroud writer进程...阅读全文

posted @ 2010-09-27 16:43 大肚熊 阅读(1610) | 评论 (0) 编辑

postgresql 内存分配
摘要: postgresql的内存分配主要由shared_buffers、temp_buffers、work_mem、maintenance_work_mem参数控制。shared_buffers又可以叫做共享缓冲区,postgresql对数据操作时都要先将数据从磁盘读取到内存中,然后进行更新,最后再将数据写回磁盘。shared_buffers的功能就是用于存放从磁盘读取的数据。根据文档参数的设置范围一般...阅读全文

posted @ 2010-09-21 17:08 大肚熊 阅读(8575) | 评论 (0) 编辑

postgresql 日志分析工具 pgFounie
摘要: pgFounie是一款专门为postgresql设计的日志分析工具。通过对postgresql的log进行分析,生成详细的报告。三大功能:* 分析postgresql日志,确认查询语句的执行时间,辅助优化。* 分析VACUUM命令日志,有助于分析数据库的写活动,辅助制定更好的VACUUM策略。* 结合Tsung压力测试工具,分析压力测试日志,辅助系统性能测试。pgFounie特点:代码pgFoun...阅读全文

posted @ 2010-09-03 11:51 大肚熊 阅读(3205) | 评论 (0) 编辑

postgresql 备份恢复(三) pg_rman
摘要: pg_rman是一款专门为postgresql设计的在线备份恢复的工具。其支持在线和基于时间点备份方式,还可以通过创建backup catalog来维护DB cluster备份信息。看起来好像是模仿oracle的RMAN工具。pg_rman特点:使用简单.一个命令即可完成备份和恢复.支持在线全备,增量备份,归档备份.支持备份压缩.通过gzip工具实现页内压缩.自动备份维护.自动删除过期的WAL备份...阅读全文

posted @ 2010-09-01 16:49 大肚熊 阅读(2710) | 评论 (0) 编辑

postgresql 备份恢复(二)
摘要: postgresql同样支持在线备份,该备份方式与oracle中用户热备的方式相同,手动拷贝数据文库文件与归档日志。可以根据测试过程将备份直接写成script,通过定制,完成数据库的自动备份。postgresql的恢复支持基于时间戳与事务ID,可以通过时间戳或事务ID的方式,完成数据库的不完全恢复或者因错误操作的故障恢复。该测试目的:postgresql的在线备份;通过在线备份完成恢复。1,开启归...阅读全文

posted @ 2010-08-31 11:25 大肚熊 阅读(4847) | 评论 (1) 编辑

postgresql 备份恢复(一)
摘要: 备份恢复对于每个数据来说都是非常重要的。一般的数据库都支持冷备份的方式,冷备份可以保证数据库在此刻的完整性。但是其缺点也非常的明显,为保持数据一致性。冷备份期间数据库中相关数据是不能够使用的,就大大影响的系统的可用性。不管怎样冷备份在很多的情况下还是很有用的。数据库的冷备份一般支持两种方式:1,操作系统级别的命令备份(cp,copy)2,数据库工具备份(pg_dump)针对postgresql数据...阅读全文

posted @ 2010-08-30 10:55 大肚熊 阅读(7547) | 评论 (1) 编辑

postgresql 多版本并发控制(MCC)
摘要: postgresql作为一款完全支持事务处理与商业应用的开源数据库,了解事务的管理方式对使用postgresql有重要作用。Postgres用多版本并发控制方式管理事务(Multiversion concurrency control),这点上与Oracle非常相似,后者也采用多版本并发控制机制。MCC的特点:(通俗点儿)读不产生独占锁,可以共享,不影响其他事务的读写;写产生独占锁,数据可以共享,...阅读全文

posted @ 2010-08-25 11:20 大肚熊 阅读(3129) | 评论 (1) 编辑

postgresql TOAST存储方式
摘要: postgresql为“大字段“的物理存储提供了TOAST功能,通过合适的配置策略能够减少IO次数和扫描块数,进而提升查询速度。TOAST:The Oversized-Attribute Storage Technique特点:PostgreSQL采用固定页面大小(通常是8Kb,不象oracle在运行期间有多种选择),元组不能跨越多个页面,无法实现“大字段值&l...阅读全文

posted @ 2010-08-23 18:06 大肚熊 阅读(2398) | 评论 (0) 编辑

pgcluster 介绍
摘要: pgcluster是一款为postgresql数据库设计的多主机级同步复制系统。两大特点:代码该架构主要由三种服务器组成:load balancer, Cluster DB, 和 replication server两大功能:--负载共享功能代码--高可用性功能代码从功能介绍看,pgcluster功能很是强大,是基于session请求的,不是介于CPU等资源类型的。复制对象可以是特定表,而且能够把...阅读全文

posted @ 2010-08-20 16:30 大肚熊 阅读(2396) | 评论 (0) 编辑

postgresql 预写式日志(Write Ahead Long)
摘要: 在网站中看到一篇转载次数非常高的文章,好多的日本网站也有。文章的英文是postgresql的文章。该文章以postgresql 7.3版本为基础。相对于现在的新版本,其中没有同步和异步的部分,同步与异步的设置在特定情况下以牺牲数据完整性风险为前题,能大幅提高数据库的处理性能。尽管是篇中文的翻译,但是对于了解postgresql的日志管理有很大的帮助。原文名称:PostgreSQL数据库学习手册之预...阅读全文

posted @ 2010-08-20 10:45 大肚熊 阅读(3042) | 评论 (0) 编辑

postgresql 索引类型
摘要: postgresql提供了B-tree,R-tree,GiST和hash索引类型。不同的索引类型适合特定的查询类型。绝大多数数据库都支持B-tree索引类型,postgresql默认的create index语句也是创建B-tree索引。R-tree:R树是一种用于处理多维数据的数据结构,用来访问二维或者更高维区域对象组成的空间数据.R树是一棵平衡树。树上有两类结点:叶子结点和非叶子结点。每一个结...阅读全文

posted @ 2010-08-18 11:02 大肚熊 阅读(3889) | 评论 (1) 编辑

postgresql索引介绍
摘要: 创建索引通常能够提高数据库的性能,使查询速度大幅提高。同时索引的存在也为数据库中的数据维护带来的负面影响,增加的数据库与系统的资源消耗。适当的建立索引总能利大于弊。postgresql数据库中可以创建多字段、唯一、函数、部分索引多种类型的索引。可能基于主要面向OLTP系统的应用没有引入位图索引(个人猜测)。测试表:[代码]查询语句:[代码]在没有索引的情况下,数据库需要一行行的对表test1进行扫...阅读全文

posted @ 2010-08-17 16:19 大肚熊 阅读(7122) | 评论 (0) 编辑

postgresql for linux安装
摘要: PostgreSQL作为一款优秀的开源数据库软件,是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的一种自由软件的数据库管理系统,能够在多种平台下安装运行,包括linux,unix和windows。对于软件采购经费不足的企业来说,postgresql是个非常不错的选择。既保持了关系数据库的强大稳定又能减轻费用压力。postgresql的安装非常简单,以下是我的安装过程,跟大家分享一...阅读全文

posted @ 2010-08-17 10:09 大肚熊 阅读(13804) | 评论 (2) 编辑

postgresql的系统列(system cloumns)
摘要: 每种数据库中都保留了自己所有的关键字,在表的定义过程中同样数据库保存了自己的系统列。看完关于postgresql的系统列部分的文档,还勾起了我想了解postgresql事务如何进行管理的冲动。先对postgresql的系统列进行一下了解,重要的是从中得到一些设计思想上的东西。对于系统的保留关键字,都是禁止或者不建议用户进行定义时使用的词语。postgresql中的系统列是不允许作为用户定义的列名字...阅读全文

posted @ 2010-08-12 12:37 大肚熊 阅读(1195) | 评论 (0) 编辑

postgresql 9.0 beta4测试版发布
摘要: 2010年8月2日postgresql.org网站发布了postgresql的9.0 beta4版本,尽管算不上新闻了,但是还是要支持一下的。从发布的信息中看,postgresql的下一个版本将会是9.0的稳定版,这个对于喜欢postgresql的朋友们应该是个好消息。以下是从postgresql.org网站直接copy的原文:PostgreSQL 9.0 Beta4 ReleasedPosted...阅读全文

posted @ 2010-08-11 15:27 大肚熊 阅读(382) | 评论 (0) 编辑

postgresql存储
摘要: 作为一款优秀的开源数据库软件,postgresql非常值得深入学习一下。先总结一下postgresql数据库的存储体系结构。传统的关系型数据库的存储结构多采用表空间的管理方式,其中涉及到extent,segment,page,file等存储概念。表空间的管理方式通常有SMS,DMS两种策略,postgresql在改进之后也支持了DMS方式。在oracle,db2中很早就支持了DMS了,在使用ora...阅读全文

posted @ 2010-08-10 17:30 大肚熊 阅读(4017) | 评论 (2) 编辑

公告

导航

统计

  • 随笔 - 34
  • 文章 - 1
  • 评论 - 23
  • 引用 - 0