自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chuckchen1222的博客

不会做饭的DBA不是一只好裁缝

  • 博客(25)
  • 收藏
  • 关注

原创 Postgresql - Data types 数据类型

PG有着最丰富的数据类型。我们看一下都有那种。摘自官网。https://www.postgresql.org/docs/10/static/datatype.html 1. Numeric Name Storage Size Description Range smallint ...

2018-07-27 18:53:08 2890

原创 Postgresql - Index 介绍

Indexes are a common way to enhance database performance. An index allows the database server to find and retrieve specific rows much faster than it could do without an index. But indexes also add ove...

2018-07-26 23:13:54 1218

原创 Postgresql - Foreign data wrappers - ElasticSearch

Postgresql的Foreign data wrapper不仅可以读取数据库,还可以读取文件系统,大数据存储等。这一篇我们看一下PG该如何建立ES的外部表。插件代码https://github.com/matthewfranglen/postgres-elasticsearch-fdw 安装# git clone https://github.com/Kozea/Mul...

2018-07-25 17:13:16 530

原创 Ansible - Installation on Linux(CentOS 7)

Ansible by default通过ssh 管理机器。不需要安装db,不需要daemon,只需要在一台机器上安装,并且可以登录到远程机器,就可以管理。 ansible官网:https://docs.ansible.com/ 安装Ansible非常简单。通过yum 或 pip直接就可以安装到最新的ansible包。 1. 通过yum安装yum -y insta...

2018-07-24 19:27:26 278

原创 Postgresql - 表中系统列 system columns

每个表有由系统隐式定义的多个系统列。这些名称不能用作用户定义列的名称。 oid: 行的对象标识符(对象ID)。tableoid: 表的OID。此列对于从继承层次结构中选择的查询特别有用,因为没有它,很难判断出哪一个单独的表来自哪里。tableoid可以与 pg_class的oid列连接以获得表名。xmin: 此行版本的插入事务的标识(事务ID)。行版本是行的单独状态;行的每一次更新...

2018-07-23 17:02:44 877

原创 Postgresql - Middleware - Pgbouncer Installation

pgbouncer is a PostgreSQL connection pooler. The aim of pgbouncer is to lower the performance impact of opening new connections to PostgreSQL.为了连接的复用。减少重复打开数据库连接对数据库性能造成的影响。 支持几种类型的pool:Sessio...

2018-07-20 08:56:20 134

原创 Postgresql - Middleware - PgpoolAdmin Installation

PgpoolAdmin是管理pgpool的界面工具。可以对pgpool进行监控,启停服务,更改设置。 准备:需要先安装http,php# yum -y install httpd php# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc# yum -y install php p...

2018-07-19 17:07:12 1043 1

原创 Postgresql - Middleware - Pgpool-II installation and modes

Pgpool 官网http://www.pgpool.net/ What is Pgpool-II是一个PG server和PG db 客户端之间的中间件。可以建立连接池,保存连接,复用这些重复的连接。 管理多个PG server。使用replication 函数建立实施备份在两个或多个地方,为了服务不熟影响。 负载均衡。Pgpool-II利用复制特性的优势,在多个服务器之...

2018-07-18 17:06:20 322

原创 Postgresql - 将表/数据缓存到内存中(预热) - pg_prewarm

预热功能。使用pg_prewarm函数,方便的将数据缓存至内存中。这个功能不是自带的,是存在在扩展包中,所以要使用前需要先添加扩展。pg_prewarm(regclass, mode text default 'buffer', fork text default 'main', first_block int8 default null, last_blo...

2018-07-16 14:27:45 6406 2

原创 ElasticSearch - 安装

elasticsearch 是目前比较流行的开源的分布式存储。Elasticsearch + Logstash + Kibana组成ELK,目前比较流行的日志分析系统。安装ElasticSearch相对简单,只需要下载安装包,解压,配置,启动即可。官网地址:https://www.elastic.co1. 下载wget https://artifacts.elastic.co/downloads/...

2018-07-14 16:01:34 230

原创 Postgresql - Foreign data wrappers - Redis

通过Postgresql读取Redis数据。需要安装插件,redis_fdw插件代码地址:https://github.com/pg-redis-fdw/redis_fdw环境:CentOS 7 + Postgresql 10.1CentOS 7 + Redis 4.0.10准备:1. git clone https://github.com/redis/hiredis.gitcd hiredis...

2018-07-12 12:56:08 443

原创 Postgresql - Foreign data wrappers - mysql_fdw

将外部数据库当作外部表访问,可以访问PG,Oracle,MySQL,MS SQL Server,SQLite等。我们将在以下环境中进行实验:CentOS 7 + PG 10.1CentOS 7 + MySQL 5.7.22使用MySQL_FDW我们需要安装插件,插件地址:https://github.com/EnterpriseDB/mysql_fdw安装mysql_fdw:1. 下载git cl...

2018-07-11 15:33:48 594 2

原创 Postgresql - Foreign data wrappers - postgres_fdw

将外部数据库当作外部表访问,可以访问PG,Oracle,MySQL,MS SQL Server,SQLite等。我们将在以下环境中进行实验:CentOS 7 + PG 10.4访问其他PG server实例1. Extensionmytest=# create extension postgres_fdw;CREATE EXTENSION2. Servermytest=# create serve...

2018-07-11 11:33:53 771

原创 Postgresql - Foreign data wrappers - file wrappers

file_fdw,可以访问服务器的文件系统的数据,或者执行程序在服务器上,并且读取输出。数据文件或程序输出必须以可从副本读取的格式。对数据文件的访问是只读的。环境:CentOS 7PG 10.4准备:1. 外部表文件[root@dbwtest03bc data]# cat ft_dir/ft_test01.csv1,aaa,aaa2. 文件及文件夹权限chown -R postgres:postg...

2018-07-10 19:42:41 252

原创 Redis - Setup Redis Cluster

创建集群1. 修改配置文件绑定地址: bind 192.168.3.51监听端口:port 7000后台运行:daemonize yes开启Cluster:cluster-enabled yes集群配置文件:cluster-config-file nodes-7000.conf。这个配置文件不是要我们去配的,而是Redis运行时保存配置的文件,所以我们也不可以修改这个文件。集群超时时间:clust...

2018-07-10 15:08:55 319

原创 Postgresql - Index Access Method Interface Definition 索引访问方法接口定义(四)

Index Locking Considerations索引访问方法必须通过多个进程来处理索引的并发更新。核心PostgreSQL系统在索引扫描期间获取索引上的访问共享锁,并在更新索引(包括纯真空)时获取RowExclusiveLock。由于这些锁类型不冲突,所以访问方法负责处理可能需要的任何细粒度锁定。在索引创建、销毁或重新索引期间,将只对索引进行整体锁定。构建支持并发更新的索引类型通常...

2018-07-09 14:28:43 195

原创 Postgresql - Index Access Method Interface Definition 索引访问方法接口定义(五)

Index Uniqueness ChecksPostgreSQL使用唯一索引来强制SQL唯一性约束,这些索引是禁止使用相同键的多个条目的索引。支持此特征的访问方法设置了amcanunique。(目前,只有B-树支持它。)由于MVCC,总是需要允许重复的条目在索引中物理存在:条目可能指的是单个逻辑行的连续版本。实际上,我们想要强制执行的是,没有MVCC快照可以包含两个具有相等索引键的行。这...

2018-07-09 14:27:54 211

原创 Postgresql - Index Access Method Interface Definition 索引访问方法接口定义(三)

Index Scanning在索引扫描中,索引访问方法负责对已被告知与扫描键匹配的所有元组的TIDs进行反求。访问方法不涉及从索引父表中实际获取这些元组,也不涉及确定它们是否通过扫描的时间限定性测试或其他条件。扫描键是窗体index_key运算符常数的WHERE子句的内部表示,其中索引键是索引的列之一,运算符是与该索引列关联的运算符族的成员之一。索引扫描具有零或多个扫描密钥,这些密钥是隐式...

2018-07-09 14:27:12 169

原创 Postgresql - Index Access Method Interface Definition 索引访问方法接口定义(二)

来看一下官方文档是如何定义索引访问方法的 Index Access Method Functions IndexAmRoutine 索引访问方法必须提供的索引构造和维护功能 建立一个新的索引。索引relation已经被物理创建,但是是空的。它必须用访问方法所需的任何固定数据来填充,再加上表中已经存在的所有元组的条目。通常,ambuild函数将调用IndexBuildHeapScan()...

2018-07-09 14:25:54 362

原创 Postgresql - Index Access Method Interface Definition 索引访问方法接口定义(一)

我们来看一下官方文档介绍索引是如何工作的 PostgreSQL中的所有索引都是技术上称为辅助索引的索引,也就是说,索引与它所描述的表文件在物理上是分开的。每个索引存储为自己的物理relation,因此由pg_class目录中的条目来描述。索引的内容完全在其索引访问方法的控制之下。在实践中,所有索引访问方法将索引划分为标准大小页,以便它们可以使用常规存储管理器和缓冲区管理器访问索引内容。 ...

2018-07-09 14:15:40 506

原创 Redis - Installation

Redis 安装相当容易。redis官网地址:https://redis.io/# 环境CentOS 71. 下载wget http://download.redis.io/releases/redis-4.0.10.tar.gz2. tar -zxvf redis-4.0.10.tar.gz3. cd redis-4.0.10makecd src/redis-servermkdir /usr/l...

2018-07-05 22:31:39 134

原创 Postgresql - WAL Records

根据官方文档,我们看一下WAL。虽然所有内置的WAL日志模块都有自己的WAL记录类型,但也有一个通用的WAL记录类型,它以通用的方式描述对页面的更改。这对于提供自定义访问方法的扩展是有用的,因为它们不能注册自己的WAL redo例程。 WAL records 被定义在 access/generic_xlog.h,实施在 access/transam/generic_xlog.c.执行WAL日志数据...

2018-07-05 10:58:36 362

原创 Postgresql - TOAST ( The Oversized-Attribute Storage Technique )

TOASTPostgreSQL使用固定的页面大小(通常为8 KB),并且不允许元组跨越多个页面。因此,不可能直接存储非常大的字段值。为了克服这个限制,大字段值被压缩和/或分解成多个物理行。这对用户来说是透明的,对后端代码的影响很小。这项技术被亲切地称为TOAST。基础结构还用于改善内存中的大数据值的处理。只有某些数据类型支持TOAST——没有必要将开销强加在不能产生大字段值的数据类型上。为了支持T...

2018-07-04 20:34:18 556

原创 Postgresql - 数据库文件物理存储

data文件夹下的文件(夹)ItemDescriptionPG_VERSIONPG版本号base数据文件current_logfiles由日志采集器写入的日志文件global cluster-wide tables。pg_commit_ts事务提交时间戳pg_dynshmem动态共享内存子系统pg_logical逻辑解码状态数据pg_multixact多事务状态数据(用于共享行锁)pg_notif...

2018-07-04 20:32:58 5587

原创 Nagios - Installation

实验环境:CentOS 71. Downloadwget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.1.tar.gzwget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz2. Prepequisites# 安装依赖包yum i...

2018-07-04 12:16:15 255

空空如也

空空如也

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

TA关注的人

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