
数据库
文章平均质量分 89
prettyshuang
这个作者很懒,什么都没留下…
展开
-
PostgreSQL 回归测试
回归测试是PostgreSQL的测试方法之一。回归测试,需要事先定义好测试脚本(通常是SQL脚本,放在sql目录中),同时定义好调用执行测试脚本的预期正确输出文件(通常放在expected目录中)。测试使用make check或make installcheck进行,它会通过pg_regress程序调用sql目录中的SQL,并收集输出结果(通常放到results目录中),最后pg_转载 2016-03-30 15:29:35 · 1287 阅读 · 0 评论 -
PostgreSQL C代码覆盖率测试(gcov, lcov)
通常我们评判一个test case好坏的标准之一是代码的覆盖率,一个好的test case应该覆盖到所有的代码。那么问题来了,我们怎么知道这个test case有没有覆盖到所有的代码呢?以C代码为例,我们看看如何检测代码覆盖率。其他语言自然有其他语言的代码覆盖测试工具,例如plpgsql:RUBY写的一个postgresql plpgsql函数代码覆盖测试框架,测试脚本转载 2016-03-30 15:34:34 · 1169 阅读 · 0 评论 -
PostgresXC:从源码编译、安装、配置数据库集群以及用pg_basebackup配置Datanode的热备份
1、下载源码首先下载源码,下载命令为:git clone http://git.code.sf.net/p/postgres-xc/postgres-xc postgres-xc-postgres-xc2、编译安装下载完成后,开始编绎。进入到源码目录,执行命令: ./configure --prefix=/home/wslu/pgsql --enable-d原创 2016-03-15 19:59:54 · 1169 阅读 · 0 评论 -
PostgreSQL:使用pg_basebackup工具搭建流复制环境以及主备切换方法
1 传统的搭建流复制备库的方法在数据库中操作:select pg_start_backup();复制数据文件;select pg_stop_backup();而 pg_basebackup 则省略以上步骤,一步搞定,对于有多个数据目录的库来说,pg_basebackup工具比上面步骤简单多了,并且可以在线操作。 2 主库上操作2.1原创 2016-03-15 17:37:25 · 4253 阅读 · 0 评论 -
PostgreSQL:“ FATAL: requested WAL segment00800002A0 has already been removed”
在使用配置了热备的PostgreSQL数据库时,在执行大量事务时,尤其是一个需要插入几千万条数据的insert事务时(典型的做法是持续 insert into t select * from t;),后台log中报错如下:csv格式日志:2013-07-01 13:25:29.430 CST,,,27738,,51d112c8.6c5a,1,,2013-07-01 13:2原创 2016-06-28 17:59:52 · 6703 阅读 · 1 评论 -
GreenPlum的并行查询优化策略
1、GreenPlum这种share nothing的架构:良好的发挥了廉价PC的作用。自此I/O不在是DW的瓶颈,相反网络的压力会大很多。但是greenplum的查询优化策略能够避免尽量少的网络交换。对于初次接触greenplum的人来说,肯定耳目一新。2、greenplum的查询优化器 greenplum的查询优化器负责将SQL解析成每个节点(segments)转载 2016-11-21 09:43:07 · 1224 阅读 · 0 评论 -
CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)
本文是最近几天工作中实践的总结!主要描述了如何在CentOS和Ubuntu通过源码的方式编译、安装、配置Greenplum数据库集群。原创 2016-01-12 09:55:08 · 4841 阅读 · 0 评论 -
详解数据库集群的分布式事务、两阶段提交协议、三阶提交协议
原文链接:http://blog.jobbole.com/95632/随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介转载 2016-02-02 15:28:57 · 1823 阅读 · 0 评论 -
PostgreSQL数据库配置文件之postgresql.conf全部参数详解
1 概述所有的参数的名称都是不区分大小写的。每个参数的取值是布尔型、整型、浮点型和字符串型这四种类型中的一个,分别用boolean、integer、floating point和string表示。布尔型的值可以写成ON、OFF、 TRUE、 FALSE、 YES、 NO、 1和 0,而且不区分大小写。有些参数用来配置内存大小和时间值。内存大小的单位可以是KB、MB和GB。时间的单位可以原创 2016-01-11 10:50:35 · 15533 阅读 · 0 评论 -
PostgreSQL 9.2.4所有命令的语法帮助及SQL语句简要说明
clusterdbclusterdb 对一个数据库中先前已经建过簇的表进行建簇. 使用方法: clusterdb [选项]... [数据库名] 选项: -a,--all 对所有数据库建簇 -d,--dbname=DBNAME 对数据库 DBNAME 建簇 -e,--echo原创 2015-11-03 20:55:59 · 3459 阅读 · 0 评论 -
PostgreSQL的依赖约束(系统表pg_depend和pg_constraint)详解
pg_depend是postgres的一张系统表,用来记录数据库对象之间的依赖关系,除了常见的主外键,还有其他一些内部依赖关系,可以通过这个系统表呈现出来。一、表结构:postgres=# \d+ pg_depend Table "pg_catalog.pg_depend" Column | Type | Modifier原创 2015-11-04 15:28:08 · 8556 阅读 · 0 评论 -
postgresql libpq C语言网络库接口操作数据库例子
关于libpq各个函数接口的说明,参考:http://www.postgres.cn/docs/9.3/libpq.html例子1:/* * testlibpq.c * * Test the C version of libpq, the PostgreSQL frontend library. */#include #include #include stat原创 2015-11-12 09:23:46 · 1164 阅读 · 0 评论 -
PostgreSQL的MVCC并发处理
Postgre数据库的很大的卖点之一就是它处理并发的方式。我们的期望很简单:读永远不阻塞写,反之亦然。Postgres通过一个叫做 多版本并发控制(MVCC) 的机制做到了这一点。这个技术并不是Postgres所特有的:还有好几种数据库都实现了不同形式的MVCC,包括 Oracle、Berkeley DB、CouchDB 等等 。当你使用PostgreSQL来设计高并发的应用时,理解它的MVCC是原创 2015-11-02 11:56:30 · 566 阅读 · 0 评论 -
PostgreSQL主备流复制机制详解
首先,附上原文链接:http://mysql.taobao.org/monthly/2015/10/04/PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志转载 2016-01-21 19:42:04 · 9293 阅读 · 0 评论 -
GreenPlum数据库的Primary/Mirror同步机制
原文链接:http://mysql.taobao.org/monthly/2016/01/02/ PostgreSQL 主备同步机制是通过流复制实现,其原理见之前的月报PG主备流复制机制。Greenplum 数据库是基于PostgreSQL开发的,它的主备也是通过流复制实现,但是Segment节点中的Primary和Mirror之间的数据同步是基于文件级别的同步实现的。为什么Prima转载 2016-01-21 20:02:26 · 3151 阅读 · 0 评论 -
PostgreSQL数据库压力测试工具pgbench简单应用
PG数据库提供了一款轻量级的压力测试工具叫pgbench,其实就是一个编译好后的扩展性的可执行文件。介绍如下。 环境: CentOS 5.7(final) PG:9.1.2 Vmware 8.0 数据库参数: max_connection=100 ,其他略,默认 1.安装 进入源码安装包,编译,安装[postgres@localhost ~]$原创 2015-12-24 11:04:17 · 1015 阅读 · 0 评论 -
Ubuntu和CentOS下安装配置samba服务详细过程(超级简单的smb.conf)
一.为什么要用Samba? Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。我们现在是要在Linux下配置Samba,让Windows的用户可以访问你 配置好之后的PC。二.需要的软件? 如果在ubuntu上安装,所以我只需在配置好ubuntu的更新源之后,在终端中使用一下两句命令,就可以安装Samba的软件包 $sudo原创 2015-12-25 14:51:54 · 843 阅读 · 0 评论 -
PostgreSQL与操作系统(OS)内核相关的几个参数
一、概述PostgreSQL在postgresql.conf里面的配置参数有几个是和OS的内核参数紧密相关的,通常默认值是偏小的,但设置过大也会造成Postgres的启动失败。 二、测试1.测试环境DB: postgres 9.1.3(之后版本这几个参数并未变动)OS: CentOS 6.2 / Redhat(Ubuntu、Debian等linux系统也是一样)2.内核参数原创 2016-01-11 10:06:45 · 1641 阅读 · 0 评论 -
PostgreSQL的类型扩展相关的几个系统表(包含pg的操作符类和操作符族等)
PostgreSQL中的数据类型,以及与之相关的操作符和索引都是可以自由扩展的,因此可支持不同领域应用的定制。而且PG的扩展非常自由,自定义的数据类型,操作符以及索引类型和原生的具有相同的能力。其秘密在于,自定义的和原生的都基于相同的设计架构,它们作为元数据平等地存储在几个系统表里。下面看看这几个系统表简单了解一下PG类型扩展的设计理念(以下很多内容摘自PG手册)。(作为对比,简单看了下O转载 2015-11-03 18:20:47 · 2184 阅读 · 0 评论