暂无个人介绍
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
--mongorestore升级过程中如果遇到如下错误,需要删除admin数据库 [root@beta tmp]# mongorestore -h 127.
--对于小版本的升级,内部存储格式是兼容的,大版本不一定兼容 --小版本可以直接替换二进制文件,大版本需要导出与导入升级 Minor releases never change the in...
-- 当我们需要排序字段时,比如order by name,如果name字段定义时没有not null时,就有可能涉及到null值的排序 -- 如果不注意,可能会造成隐藏的bug,pg默认n...
最近有开发人员问,有没有办法实现在pg9.5版本之前实现upsert功能,现整理如下 --创建测试表,注意此处先不要主键或唯一约束 create table t2 (id int,name varchar(100)); -- pg 在9.
--创建函数,注意此函数只能定位由于dml操作所引起的锁等待,对于ddl引起的锁等待,此sql无法完全定位 CREATE OR REPLACE FUNCTION report_lock...
--注意pg的正则使用不正会有隐患 postgres=# select * from t; id | name ----+------ 1 | bill 1 | bill ...
--mysql 5.7 已经把memcache 与 innodb 结合在了一起 The InnoDB memcached plugin provides an integrated memc...
--pg支持数组,且支持分片访问,比如[1:2],任意只有一个数字(没有冒号)的维数是从 1 开始到声明的数字为止的 --如果任意维数被写为一个片段,也就是,包含一个冒号,那么所有维数都被当做是片段 If any dimension is written as a slice, i.
--配置复制集 /opt/mongodb/2.4/bin/mongod --replSet=rs1 --journal --port 27018 --dbpath=/data/mongodb/27018 --logpath=/data/mongodb/log/27018/mongo.
--由于pg中表和索引的信息收集都是基于时间点的,对于以往的信息无法与现在的信息进行对比,故写下此工具进行统计信息收集 --创建数据信息的schema create schema db_stat; --创建收集信息的基础表 create table db_stat.
--在主从复制环境中,如果从库不小心打开了读写模式(相当单节点的一个数据),比如 touch /usr/local/postgresql/9.
按照Mongodb默认的配置,WiredTiger的写操作会先写入Cache,并持久化到WAL(Write ahead log),每60s或log文件达到2GB时会做一次Checkpoint,将当前的数据持久化,产生一个新的快照。
--把时间戳转成epoch值 postgres=# select extract(epoch from now()); date_part ------------------ 1447898857.
--在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间 mysql> SELECT now(),SYSDATE...
--mysql允许在session或者global级别动态设置binlog_format的值,做在更新很多行时,可以设置 binlog_format = 'STATEMENT' 以加快数据应...
PostgreSQL 主备同步机制是通过流复制实现,其原理见之前的月报PG主备流复制机制。 Greenplum 是基于PostgreSQL开发的,它的主备也是通过流复制实现,但是Segment节点中的Primary和Mirror之间的数据同步是基于文件级别的同步实现的。
--对于聚合操作,pg约束是不严格的,比如如下sql中,group by 缺少 name,但也能执行 postgres=# select id,name ,count(*) from t g...
-- ANSI 使sql符合标准sql This mode changes syntax and behavior to conform more closely to standard S...
技术的争论 假如现在需要对user表的username字段和last_update_time字段建立组合索引,有如下两种方案 方案A:index(username,last_up...
MySQL · 性能优化· Group Commit优化 背景 关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。
--PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作, --Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版。
--pg支持 EXCLUSION Constraint,排它约束是约束中定义的操作计算结果为false,则不允许插入 Exclusion constraints ensure that if...
--pg支持范围类型 • int4range — Range of integer • int8range — Range of bigint • numrange — Range of n...
--在使用pg中登陆数据库是第一步,其代码结构如下: --原始代码在如下文件中 src/backend/libpq/auth.
--pg 9.5 版本支持 "UPSERT" 特性, 这个特性支持 INSERT 语句定义 ON CONFLICT DO UPDATE/IGNORE 属性,当插入 SQL 违反约束的情况下定...
--创建schema create schema rudy; --创建一个他人拥有的schema create schema rudy_schema authorization rudy; --在创建表时,如果没有指定模式则在默认为public模式 create table rudy.
以下内容转载自:PostgreSQL 9.5 new feature - BRIN (block range index) index PostgreSQL 9.5引入的一个全新的索引访问方法BRIN(block range index),这个索引存储了表的连续数据块区间以及对应的数据取值范围。
--对于分区表constraint_exclusion 这个参数需要配置为partition或on postgres=# show constraint_exclusion ; const...
--在mysql5.6之后查看分区采用 show plugins; --不论创建何种类型的分区,如果表中存在主键或唯一索引时,分区列必须是唯一索引的一个组成部分 mysql> create...
--从mysql 5.7.6 开始其支持 general tablespace,其可以创建在一个相对路径或绝对路径上 --A general tablespace is a shared tablespace, similar to the system tablespace.
--mysql的profile可用于查看一个sql的具体消耗 show profile all for query 1\G; --profiling has a default value...
博客搬家了,搬家了 Rudy 的博客
--首先要安装依赖包libev [root@rudy tmp]# rpm -ivh percona-xtrabackup-2.
--原始表结构如下: postgres=# \d+ postgres_s1_log Table "public.
--下载软件 https://github.com/ossc-db/pg_rman --安装 unzip pg_rman-master.
--从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开 show_compatibility_56 mysql> select * from information_schema.
NUMA架构的CPU -- 你真的用好了么? 本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向。
--以前一直对tup_returned,tup_fetched的意思有疑惑,不知道两者之间的区别到底是什么,官网解释如下: tup_returned:Number of rows retu...
NAT方式: 虚拟机可以上外网,可以访问宿主计算机所在网络的其他计算机(反之不行)。 查看虚拟机的网络参数 1)打开虚拟机,选择菜单“编辑”》“编辑虚拟网络”,如下图: 先恢复默认参数,然后设置NAT。
--如果系统出现访问缓慢,首先可以通过zabbix查看系统中的数据库连接数,cpu使用率,内存使用率,swap使用率,以及系统io吞吐是不是有明显的抖动 --如果数据库连接数突增,可能是系统...
--查看数据库临时表空间位置 --temp_tablespaces是表空间名称的列表,当列表中有一个以上名称时, PostgreSQL 每次临时对象被创建时选择一个列表中的随机数; --除了在一个事务中之外,先后创建临时对象放置在列表连续的表空间中。
--对于主从复制来说,有时候想停止从库应用主库的xlog做一些事情,此时可以用不pg提供的复制函数 --在从库查看其是否在应用xlog,返回f说明其没有暂停应用xlog日志 postgr...
--查我们插入一条数据到数据库时,pg会返回给我们如下信息, postgres=# insert into test_2(id) select n from generate_series(...
/* 在数据库变得比较大时, 例如上TB, 如果部署了PostgreSQL primary-standby 流复制或者log shipping HA.
--PG并没有像Oracle那样的undo来存放旧版本;而是将旧版本直接存放于relation文件中。
--今天在使用postgres_fdw做远端数据库转储时,发现本地所使用的字符集与远端是不同的,造成插入数据错误 postgres=# insert into t select * from...
--今天查看pg_statsinfo报告时发现有如下警告,说明字段物理行序和逻辑行序相关不大 correlation of the clustered table fell below threshold in snapshot '2015-11-30 08:30:00' --- 't.
但凡初次接触MongoDB的人,无不惊讶于它对内存的贪得无厌,至于个中缘由,我先讲讲Linux是如何管理内存的,再说说MongoDB是如何使用内存的,答案自然就清楚了。
Mongodb在1.8版本之后开始支持journal,就是我们常说的redo log,用于故障恢复和持久化。