PPAS可以安装分区表
磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面: PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页
[作者 高健@博客园 luckyjackgao@gmail.com]
在PostgreSQL中,分区表是无法建立的,或者说是假的分区表。
步骤通常如下:
建立base表,建立继承base表的各个子表,为base表建立rule,建立trigger。
这样,把base表当作分区表的入口,由于insert/update时不断触发trigger,其效率还是很低下的。
可以参见
https://wiki.postgresql.org/wiki/Table_partitioning
http://www.postgresql.org/docs/current/interactive/ddl-partitioning.html
查询的时候,optimizer 到达子表是没有问题的。
Currently we allow the user to create arbitrary nested tables with arbitrary constraints and then the planner tries to detect at run-time which child tables are candidates for the query. See PostgreSQL Partitioning for details.
也可以参考:
http://blog.csdn.net/beiigang/article/details/9056263
http://pgpen.blogspot.com/2013_05_01_archive.html
在PPAS9.0里,建立分区表仍然是一个比较痛苦的工作。
但是PPAS9.1和PPAS9.2里面,带有直接建立分区表的功能,使用起来更方便了:
例如:
edb=# drop table employees cascade;
DROP TABLE
edb=#
edb=# create table employees
edb-# ( empno integer,
edb(# ename varchar(10),
edb(# job varchar(9),
edb(# PRIMARY KEY (empno)
edb(# )
edb-# partition by list (job)
edb-# ( partition emp_mgmt values ('manager'),
edb(# partition emp_sales values ('salesman'),
edb(# partition emp_ops values ('clerk')
edb(# );
CREATE TABLE
edb=# \dt schema | name | type | owner
--------------+---------------------------+----------+--------------
enterprisedb | employees | テーブル | enterprisedb
enterprisedb | employees_emp_mgmt | テーブル | enterprisedb
enterprisedb | employees_emp_ops | テーブル | enterprisedb
enterprisedb | employees_emp_sales | テーブル | enterprisedb
...
(21 rows) edb=#
再看index的状态,那是非常有趣的。
edb=# \di schema | name | type | owner | table
--------------+--------------------------+----- -----+--------------+--------------------------
enterprisedb | employees_emp_mgmt_pkey | index | enterprisedb | employees_emp_mgmt
enterprisedb | employees_emp_ops_pkey | index | enterprisedb | employees_emp_ops
enterprisedb | employees_emp_sales_pkey | index | enterprisedb | employees_emp_sales
enterprisedb | employees_pkey | index | enterprisedb | employees
...
(18 rowa) edb=#
而如果在postgresql里建立分区表,涉及到index就很麻烦了:postgresql不支持跨越表的索引。
http://www.linuxforu.com/2012/01/partitioning-in-postgresql/
[作者 高健@博客园 luckyjackgao@gmail.com]
回到上一级页面: PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页
磨砺技术珠矶,践行数据之道,追求卓越价值
PPAS可以安装分区表的更多相关文章
- PPAS下安装 pg_stat_statements过程记录
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL统计信息索引页 回到顶级页面:PostgreSQL索引页 PostgreSQL中,如何安装pg_stat_sta ...
- PostgreSQL基础知识与基本操作索引页
磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 luckyjackgao@gmail.com 本页记录所有本人所写的PostgreSQL的基础知识和基本操作相关文摘和 ...
- IBM X3850 Windows 无法安装到这个磁盘。选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘
以前安装的是window2003 32位, 改装为2012 64位的时候.出现 Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows 只能安装到 GPT ...
- 分区表在安装系统(MBR)丢失或损坏
操作系统能识别出硬盘中的各个不同的分区,是靠硬盘分区表(MBR)来识别的. 硬盘分区表中记录了各个分区的位置和大小以及类型等信息,假设这个分区表破坏了,那么这块硬盘里面的分区就会丢失.系统是无法在浏览 ...
- 001_关于选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘。问题解决
问题: 今天我的diy电脑重装系统时,遇到了一个棘手的问题.在选择安装分区的时候,提示有这样的错误. Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows ...
- windows 安装操作系统时切换分区表格式
在出现分区管理界面时,按下shift+F10呼出命令行,输入diskpart 后尝试如下命令将磁盘分区表手动转换到MBR. list disk ---- 显示当前磁盘列表 select disk x ...
- Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表解决方法
在安装 win10的时候,会出现这种提示:Windows 无法安装到这个磁盘.选中的磁 盘具有 MBR 分区表.在 EFI 系统上, Windows 只能安装到 GPT 磁盘.出现这种 情况主要是因为 ...
- PostgreSQL分区表实现——pg_pathman安装、配置
近日由于系统运行时间太长,数据库库表中的数据也是越来越多,为了缩短库表的操作时间,所以对数据库中的部分库表进行分区的操作. 通过研究,决定采用pg_pathman插件对库表进行分区操作.pg_path ...
- 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式
1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具 本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...
随机推荐
- [C#] Microsoft .Net框架SerialPort类的用法与示例
从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序.本文将介绍如何在PC端用C# ...
- 关于C#线程,线程池和并行运算的简单使用和对比
转自:https://www.cnblogs.com/jeffwongishandsome/archive/2010/11/12/1876137.html 先大概看一下控制台应用程序的Main方法的主 ...
- AIX常用命令学习(一)
1.prtconf命令 查看AIX主机的结构特征状态 语法: prtconf [ -c ] [ -k ] [ -L ] [ -m ] [ -s ] [ -v ] Flags: -c Displays ...
- asp.net --- Menu控件\CSS 和样式
几乎 Menu 控件外观的各个方面都可以使用 Menu 控件的属性或级联样式表 (CSS) 来管理.通过了解哪些属性控制呈现的哪些方面,可以定制菜单的外观.本主题介绍由 Menu 控件公开的样式类型, ...
- JS 触发不同ifram控件,实现刷新,关闭标签(H+框架)
例: //前台页面事件处理模块var EventOperation = { Refresh: function (data_id) { var a = (window.top); var ele = ...
- android-eclips中logcat不显示信息的问题解决
time:2015/11/20 1. logcat窗口不显示问题 解决: 参考[1] 2. logcat中不显示信息 (1)红米手机 (2)解决问题 * 有些文章提到重启eclipse,或者重启手机. ...
- consul日常操作命令
#开发模式运行agent consul agent -dev #查看consul 集群成员 consul members [-detailed] members命令的输出基于gossip协议,并最终一 ...
- Apache2.2 + tomcat7 服务器集群配置
1.软件安装 1.1下载和安装apache Apache 2.2 :http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 1.2下载和安装 ...
- 对象在hibernate中的状态
首先hibernate中对象的状态有三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate().get().load() ...
- 对于socket发送数据时是否要加锁及write read的阻塞非阻塞
偶尔讨论到了socket发送数据时是否应该加锁的问题,就在网上查了一下,下面是大神陈硕的答案 对于 UDP,多线程读写同一个 socket 不用加锁,不过更好的做法是每个线程有自己的 socket,避 ...