- 博客(17)
- 资源 (12)
- 收藏
- 关注
转载 PgSQL · 特性分析 · PG主备流复制机制
PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志文件传送到备库,这样的方式导致主备延迟特别大。同时PostgreSQL9.0之后提供了Hot Standby,备库在应
2016-01-28 16:41:06 1068
转载 GPDB · 特性分析· GreenPlum Primary/Mirror 同步机制
PostgreSQL 主备同步机制是通过流复制实现,其原理见之前的月报PG主备流复制机制。Greenplum 是基于PostgreSQL开发的,它的主备也是通过流复制实现,但是Segment节点中的Primary和Mirror之间的数据同步是基于文件级别的同步实现的。为什么Primary和Mirror不能再使用流复制实现呢?主要有两个原因:Append Only表不写WAL日志,所以A
2016-01-28 16:34:51 4325
原创 postgresql 聚合的暗坑
--对于聚合操作,pg约束是不严格的,比如如下sql中,group by 缺少 name,但也能执行postgres=# select id,name ,count(*) from t group by id; id | name | count ----+------+------- 1 | bcd | 1 2 | abc | 1 --现模拟如下
2016-01-27 14:51:58 6948 1
原创 mysql sql_mode 汇总整理
-- ANSI 使sql符合标准sqlThis mode changes syntax and behavior to conform more closely to standard SQL-- STRICT_TRANS_TABLES 如果事务语句有错,则使事务失败If a value could not be inserted as given into a transactiona
2016-01-26 16:29:06 696
原创 技术的争论--人决定技术
技术的争论假如现在需要对user表的username字段和last_update_time字段建立组合索引,有如下两种方案方案A:index(username,last_update_time)方案B:index(last_update_time,username)到底哪种好呢?select something from users where user
2016-01-26 16:26:21 564
转载 怎么跳出MySQL的10个大坑
MySQL · 性能优化· Group Commit优化背景关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。众所周知,在MySQL5.6之前的版本,由于引入了Binlog/InnoDB的XA,Binlog的写入和InnoDB commit完全串行化执行,大概的执行序列如下: InnoDB prepare (持有prepare_c
2016-01-25 16:39:06 721
原创 postgresql_fdw 跨数据库查询
--PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作,--Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版。 远端数据准备postgres=# show search_path; search_path ------------
2016-01-21 17:21:03 3641
原创 postgresql 排它约束
--pg支持 EXCLUSION Constraint,排它约束是约束中定义的操作计算结果为false,则不允许插入Exclusion constraints ensure that if any two rows are compared on the specified columns or expressions using the specified operators, at leas
2016-01-20 11:36:15 3971
原创 postgresql数据类型
--pg支持范围类型• int4range — Range of integer• int8range — Range of bigint• numrange — Range of numeric• tsrange — Range of timestamp without time zone• tstzrange — Range of timestamp with time zone•
2016-01-19 15:10:15 1210
原创 postgresql 源码客户端认证
--在使用pg中登陆数据库是第一步,其代码结构如下:--原始代码在如下文件中src/backend/libpq/auth.c--其入口函数为ClientAuthentication,其接受一个Port结构体voidClientAuthentication(Port *port){ --通过此函数解析客户的ip类型,确定其使用的是什么样的方式进行认证,比如能过local还是
2016-01-12 16:24:14 1029
原创 postgresql upsert 使用范例
--pg 9.5 版本支持 "UPSERT" 特性, 这个特性支持 INSERT 语句定义 ON CONFLICT DO UPDATE/IGNORE 属性,当插入 SQL 违反约束的情况下定义动作,而不抛出错误--创建测试数据表create table t (id int constraint idx_t_id primary key,name varchar(20) constraint
2016-01-11 18:37:40 17703
原创 mysql 权限与安全
--创建schemacreate schema rudy;--创建一个他人拥有的schemacreate schema rudy_schema authorization rudy;--在创建表时,如果没有指定模式则在默认为public模式create table rudy.t(id serial);--设置模式的搜索路径show search_path;set search_p
2016-01-11 17:27:59 1429
转载 PostgreSQL 9.5 BRIN 索引
以下内容转载自:PostgreSQL 9.5 new feature - BRIN (block range index) indexPostgreSQL 9.5引入的一个全新的索引访问方法BRIN(block range index),这个索引存储了表的连续数据块区间以及对应的数据取值范围。比如一张表有1000个数据块,我们建议一个BRIN在ID(假设这个表有ID字段)上的索引。
2016-01-11 16:13:45 3258
原创 postgresql 分区与优化
--对于分区表constraint_exclusion 这个参数需要配置为partition或onpostgres=# show constraint_exclusion ; constraint_exclusion ---------------------- partition --创建父子表, 用于存储分区数据create table t(id int primary
2016-01-08 09:40:22 1632
原创 mysql分区管理
--在mysql5.6之后查看分区采用show plugins;--不论创建何种类型的分区,如果表中存在主键或唯一索引时,分区列必须是唯一索引的一个组成部分mysql> create table t1(id int not null,id2 int not null,unique key(id)) partition by hash(id2) partitions 4; ERROR
2016-01-06 16:58:17 839
原创 MYSQL general tablespace
--从mysql 5.7.6 开始其支持 general tablespace,其可以创建在一个相对路径或绝对路径上--A general tablespace is a shared tablespace, similar to the system tablespace. It can hold multiple tables,--and supports all table row fo
2016-01-04 10:17:57 1300
原创 mysql profile及其对应表使用
--mysql的profile可用于查看一个sql的具体消耗show profile all for query 1\G;--profiling has a default value of 0 (OFF)mysql> SELECT @@profiling;+-------------+| @@profiling |+-------------+| 0 |+-
2016-01-04 10:17:02 1149
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人