返回顶部
首页 > 资讯 > 数据库 >PostgreSQL怎么创建分区表详解
  • 573
分享到

PostgreSQL怎么创建分区表详解

pg数据库创建分区表pg分区表创建pg10创建分区表 2022-06-23 13:06:11 573人浏览 独家记忆
摘要

目录前言列分区表范围分区表总结前言 PG 假如我们想像Hive那也创建动态分区是不能实现的。         那么需要我们手动通过脚本来创建分区表,创建分区表必须要创建主表和分区表

前言

PG 假如我们想像Hive那也创建动态分区是不能实现的。

        那么需要我们手动通过脚本来创建分区表,创建分区表必须要创建主表和分区表。

因此我们可以根据我们需求提前用脚本把分区表生成即可,也可以用触发器来实现。

主表:定义我们的一些约束,以及分区键,实质上不存储数据

分区表:主要是用来存储数据的。所有列及约束都跟随主表

注意:如果我们指定分区表不存在会报错,因此一定要提前创建好分区表,并且要数据不能有遗漏的分区键。

列分区表

就是我们指定数据库中字段的一列作为分区字段。

1.如下创建分区表的主表 关键字【partition by list】

create table fenqu(
id int,
date varchar
) partition by list(date)

2.创建分区表并指定主表:

create table fenqu_20210805 partition of fenqu for values in ('2021-08-05');
create table fenqu_20210806 partition of fenqu for values in ('2021-08-06');

3.插入数据

insert into fenqu values(1,'2021-08-05');
insert into fenqu values(2,'2021-08-05');
insert into fenqu values(3,'2021-08-05');
insert into fenqu values(4,'2021-08-05');
insert into fenqu values(5,'2021-08-06');
insert into fenqu values(6,'2021-08-06');
insert into fenqu values(7,'2021-08-06');
insert into fenqu values(8,'2021-08-06');

4.验证数据是否插入成功

我们插入的是主表,但是我们可以通过分表来查询。

第一种如上用分区表的形式查询。

PostgreSQL怎么创建分区表详解

第二种 我们通过指定查询条件为我们的分区列

PostgreSQL怎么创建分区表详解

范围分区表

1.创建访问分区表的主表 关键字【partition by range】

create table fenqu2(
id int,
date varchar
) partition by range(date)

 2.创建分区表并指定主表

create table fenqu_20210805_10 partition of fenqu2 for values from ('2021-08-05') to ('2021-08-10');
create table fenqu_20210810_15 partition of fenqu2 for values from ('2021-08-10') to ('2021-08-15');

注意:一定要他两个范围是左闭右开(包含左边,不包含右边)所以两个分区衔接一定要紧密。

3.插入数据

insert into fenqu2 values(1,'2021-08-05');
insert into fenqu2 values(2,'2021-08-06');
insert into fenqu2 values(3,'2021-08-07');
insert into fenqu2 values(4,'2021-08-09');
insert into fenqu2 values(5,'2021-08-10');
insert into fenqu2 values(6,'2021-08-11');
insert into fenqu2 values(7,'2021-08-12');
insert into fenqu2 values(8,'2021-08-13');
insert into fenqu2 values(9,'2021-08-14');
insert into fenqu2 values(10,'2021-08-15');

会报错如下错误:因为左闭右开,

PostgreSQL怎么创建分区表详解

 4.验证数据是否正确

我们使用查询分区表的形式查询:

PostgreSQL怎么创建分区表详解

结果正确,数据已经进入到我们指定的分区。

其实最核心的使我们分区键的选择可以根据数据量来决定颗粒度,

一般我们数据量比较大的时候我们就按照天,小时(这种可以使用列分区表)。

数据量小我们可以按照季,月,周来实现分区(可以使用范围分区表)当然当我们列中有季,月,周也可以使用列分区

赠送内容:

我们再对PG进行更新插入时需要对标设置联合主键

ALTER TABLE log.voice_query_answer_log ADD CONSTRaiNT 
"voice_query_answer_log_pkey" PRIMARY KEY (log_date,log_timestamp,request_id,device_sn);

总结

到此这篇关于postgresql怎么创建分区表的文章就介绍到这了,更多相关Postgresql创建分区表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL怎么创建分区表详解

本文链接: https://lsjlt.com/news/33035.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PostgreSQL怎么创建分区表详解
    目录前言列分区表范围分区表总结前言 PG 假如我们想像Hive那也创建动态分区是不能实现的。         那么需要我们手动通过脚本来创建分区表,创建分区表必须要创建主表和分区表...
    99+
    2022-06-23
    pg数据库创建分区表 pg分区表创建 pg10创建分区表
  • PostgreSQL怎么创建分区表
    这篇文章主要介绍“PostgreSQL怎么创建分区表”,在日常操作中,相信很多人在PostgreSQL怎么创建分区表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Postgr...
    99+
    2024-04-02
  • PostgreSQL如何创建分区表
    这篇文章主要介绍“PostgreSQL如何创建分区表”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PostgreSQL如何创建分区表”文章能帮助大家解决问题。前言PG 假如我们想像Hive那也创建动...
    99+
    2023-07-02
  • 怎么理解PostgreSQL的分区表
    本篇内容主要讲解“怎么理解PostgreSQL的分区表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解PostgreSQL的分区表”吧!在PG中,分区表通...
    99+
    2024-04-02
  • mysql中怎么创建表分区
    今天就跟大家聊聊有关mysql中怎么创建表分区,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1.RANGE 分区: CREATE TABLE ...
    99+
    2024-04-02
  • oracle怎么创建列表分区
    要在Oracle中创建列表分区,可以按照以下步骤进行操作:1. 首先,确保你有创建分区的权限。如果没有,可以联系数据库管理员进行授权...
    99+
    2023-08-18
    oracle
  • postgresql怎么创建表空间
    要在PostgreSQL中创建表空间,可以按照以下步骤操作: 打开PostgreSQL客户端工具,如psql或pgAdmin。 ...
    99+
    2024-04-17
    postgresql
  • oracle创建分区表
    小白的进阶之路总是充满着荆棘 上才艺 create table test ( id varchar2(10), update date ) partition by range(date) inte...
    99+
    2015-11-12
    oracle创建分区表
  • oracle怎么在已有表上创建分区
    要在已有的表上创建分区,需要使用ALTER TABLE语句并指定分区关键字。以下是一个示例: ALTER TABLE table_n...
    99+
    2024-04-09
    oracle
  • Oracle 区块链表创建过程详解
    大家好!我是只谈技术不剪发的 Tony 老师。 Oracle 21c 增加了一个非常强大的新功能:原生的区块链表(Blockchain Table)。Oracle 区块链表是一个具...
    99+
    2024-04-02
  • linux分区怎么创建
    在Linux系统中,可以使用命令行工具或图形界面工具来创建分区。下面是两种常见的方法:1. 使用命令行工具(例如fdisk或part...
    99+
    2023-08-25
    linux
  • mysql如何创建分区表
    MySQL可以通过以下步骤来创建分区表:1. 创建一个普通的表,定义它的列和其他属性。2. 使用`ALTER TABLE`语句来添加...
    99+
    2023-10-12
    mysql
  • PostgreSQL中怎么创建一个新的表
    在 PostgreSQL 中,要创建一个新的表,你可以使用 CREATE TABLE 语句。以下是一个示例: CREATE TABL...
    99+
    2024-04-09
    PostgreSQL
  • mysql创建表分区详细介绍及示例
    mysql创建表分区详细介绍及示例 1. 基本概念1.1 什么是表分区?1.2 表分区与分表的区别1.3 表分区有什么好处?1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区?3.分区类型详解3.1 MySQL支...
    99+
    2023-08-17
    mysql 数据库 java
  • 怎么理解PostgreSQL创建数据表时的参数fillfactor
    这篇文章主要讲解了“怎么理解PostgreSQL创建数据表时的参数fillfactor”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解PostgreS...
    99+
    2024-04-02
  • CentOS中怎么创建分区
    CentOS中怎么创建分区,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.磁盘分区基础知识:硬盘分类,MBR,磁盘分区,磁盘的扇面、磁道、扇区 2.Linux下创建...
    99+
    2023-06-10
  • mybatis创建表分区的方法是什么
    在MyBatis中创建表分区可以通过在SQL语句中使用分区关键字来实现。具体方法如下: 在创建表时指定分区关键字,例如: CRE...
    99+
    2024-04-02
  • Linux怎么创建主分区与逻辑分区
    在Linux中,可以使用fdisk命令或者parted命令来创建主分区和逻辑分区。1. 创建主分区:- 打开终端,输入`sudo f...
    99+
    2023-10-12
    linux
  • hive如何创建外部分区表
    这篇文章主要为大家展示了“hive如何创建外部分区表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hive如何创建外部分区表”这篇文章吧。drop table ...
    99+
    2024-04-02
  • MySQL中如何创建Key分区表
    本篇文章为大家展示了MySQL中如何创建Key分区表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 按照KEY进行分区类似于按照HAS...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作