首页 > 数据库 >lightdb创建oracle兼容分区表

lightdb创建oracle兼容分区表

时间:2023-05-24 13:44:38浏览次数:64  
标签:test1 hash lightdb zjh partition 分区表 tab oracle part

zjh@postgres=# create table hash_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
zjh@postgres-# partition by hash (deal_date)
zjh@postgres-# PARTITIONS 12;
ERROR:  please set oracle compatible mode for oracle partition!
LINE 2: partition by hash (deal_date)
        ^
zjh@postgres=# \c 
lt_test    oradb      postgres   template0  template1  test1      
zjh@postgres=# \c test1 
You are now connected to database "test1" as user "zjh".
zjh@test1=# create table hash_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
zjh@test1-# partition by hash (deal_date)
zjh@test1-# PARTITIONS 12
zjh@test1-# ;
CREATE TABLE

zjh@test1=# create table t_hash_partition(a int,b int) partition by hash(a)  (partition p1 tablespace pg_default,partition p2 tablespace pg_default);
CREATE TABLE
zjh@test1=# \dS+ t_hash_partition
                       Partitioned table "public.t_hash_partition"
 Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description 
--------+---------+-----------+----------+---------+---------+--------------+-------------
 a      | integer |           |          |         | plain   |              | 
 b      | integer |           |          |         | plain   |              | 
Partition key: HASH (a)
Partitions: t_hash_partition_1_prt_p1 FOR VALUES WITH (modulus 2, remainder 0),
            t_hash_partition_1_prt_p2 FOR VALUES WITH (modulus 2, remainder 1)

zjh@test1=# \dS+ hash_part_tab
                              Partitioned table "public.hash_part_tab"
  Column   |      Type      | Collation | Nullable | Default | Storage | Stats target | Description 
-----------+----------------+-----------+----------+---------+---------+--------------+-------------
 id        | numeric        |           |          |         | main    |              | 
 deal_date | date           |           |          |         | plain   |              | 
 area_code | numeric        |           |          |         | main    |              | 
 nbr       | numeric        |           |          |         | main    |              | 
 contents  | varchar2(4000) |           |          |         | plain   |              | 
Partition key: HASH (deal_date)
Partitions: hash_part_tab_1_prt_p0 FOR VALUES WITH (modulus 12, remainder 0),
            hash_part_tab_1_prt_p1 FOR VALUES WITH (modulus 12, remainder 1),
            hash_part_tab_1_prt_p10 FOR VALUES WITH (modulus 12, remainder 10),
            hash_part_tab_1_prt_p11 FOR VALUES WITH (modulus 12, remainder 11),
            hash_part_tab_1_prt_p2 FOR VALUES WITH (modulus 12, remainder 2),
            hash_part_tab_1_prt_p3 FOR VALUES WITH (modulus 12, remainder 3),
            hash_part_tab_1_prt_p4 FOR VALUES WITH (modulus 12, remainder 4),
            hash_part_tab_1_prt_p5 FOR VALUES WITH (modulus 12, remainder 5),
            hash_part_tab_1_prt_p6 FOR VALUES WITH (modulus 12, remainder 6),
            hash_part_tab_1_prt_p7 FOR VALUES WITH (modulus 12, remainder 7),
            hash_part_tab_1_prt_p8 FOR VALUES WITH (modulus 12, remainder 8),
            hash_part_tab_1_prt_p9 FOR VALUES WITH (modulus 12, remainder 9)
zjh@test1=# insert into t_hash_partition values(1,1);
INSERT 0 1
zjh@test1=# insert into t_hash_partition values(2,2);
INSERT 0 1
zjh@test1=# insert into t_hash_partition values(3,3);
INSERT 0 1
zjh@test1=# insert into t_hash_partition values(4,4);
INSERT 0 1
zjh@test1=# explain select * from t_hash_partition where a = 1;
                                         QUERY PLAN                                         
--------------------------------------------------------------------------------------------
 Seq Scan on t_hash_partition_1_prt_p1 t_hash_partition  (cost=0.00..38.25 rows=11 width=8)
   Filter: (a = 1)
(2 rows)

注:截止23.1版本,lightdb不支持default分区,不支持list+hash组合分区(range+hash代替)。

标签:test1,hash,lightdb,zjh,partition,分区表,tab,oracle,part
From: https://www.cnblogs.com/lightdb/p/17428064.html

相关文章

  • oracle12c linux安装教程
    1、安装包下载2、环境准备2.1安装gcc2.2内核参数设置2.3资源限制配置2.4硬件环境准备2.5Xmanger安装2.6创建文件夹2.7创建用户和组2.8图像界面设置2.9上传并解压3、安装3.1执行安装命令3.2安装选择3.3环境变量配置4、验证4.1启动pdb4.2设置pdb随cdb自启动1、安装......
  • kettle 连接oracle 12c以上数据库报错 ORA-12505, TNS:listener does not currently k
    在通过kettle连接oracle数据库时报错,但通过plsql是能正常连接的,ORA-12505,TNS:listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptororg.pentaho.di.core.exception.KettleDatabaseException:来看oracle数据库版本select*fromv$version;连接oracle12c以......
  • oracle express 18安装后初次登录
    打开SQLPlus请输入用户名:sys/"安装时设置的密码"@XEassysdba连接到:OracleDatabase18cExpressEditionRelease18.0.0.0.0-ProductionVersion18.4.0.0.0新建用户并授权:SQL>createuserc##vocanoidentifiedbyvocano;用户已创建。SQL>grantconnec......
  • Oracle 存储过程多数据集返回-程序处理
    oracle存储过程返回数据集是以游标参数的形式返回,同时返回多个数据集就相当于多几个输出类型的游标参数,而在程序处理中如何处理这种多结果集的存储过程?今天研究了Delphi7和c#两种语言,D7ODBC方式连接,OraStoreProced对象无法处理多个对象,查看其父类TCustomOraQuery,不想c#......
  • oracle归档命令整理
    问题背景:一般处理数据库问题中,归档问题遇到比较频繁,如归档满了是否可以清理,是否进行了备份,问题是否会复发,如何诊断处理方案:查看数据库备份情况,如有备份则可清理,若无备份可及时备份进行处理colSTART_TIMEfora30colEND_TIMEfora30colstatusfora10selectSESSION_KEY,INPU......
  • oracle切换mount状态时报错
    1、https://blog.csdn.net/weixin_43424368/article/details/107781240SQL>alterdatabaseopen;alterdatabaseopen*ERRORatline1:ORA-01113:file1needsmediarecoveryORA-01110:datafile1:'/u01/app/oracle/oradata/guangxi/system01.dbf'——————......
  • linux 一块空磁盘初始化为dos的磁盘分区表,然后可以直接初始化整个磁盘为ext4格式,也可
    问:linux一块空磁盘初始化为dos的磁盘分区表,然后可以直接初始化整个磁盘为ext4格式,也可以先把磁盘分出一个Partition再初始化为ext4格式,这两种方式有什么区别,有什么特点答:在Linux上,对一块空磁盘进行初始化为ext4文件系统时,你可以选择两种不同的方式:直接初始化整个磁盘为......
  • oracle_将一个数据库的某一张表复制到另一个数据库(表名与表结构结构相同,数据库不同)
    数据库:数据库A表名:student数据库A的库名:school_A数据库B表名:studentinsertintostudent--要把数据插入数据库B中的student表select*fromstudent@school_A--数据库A:school_A中的student表(注意1:school_A需要是登录状态注意2:输入@时,一般会有提示,也可根据......
  • Oracle 中如何手工提交Cluster Table的事务
    ++++创建测试表SQL>connroger/rogerConnected.SQL>createclustert_cluster(idnumber(2));Clustercreated.SQL>createtablet_0610......
  • Oracle为什么不需要double write?
    近期看到朋友圈转发了几篇关于MySQLinnodbdoublewrite的文章;感觉都还不错。突然想到为什么Oracle没有这个东西?PostgreSQL是否也有类似机制?在网上搜了一下,发现有人之前简单写过类似文章。。。。但是;毫无疑问,没有一篇能够完全分析透彻的的。 所以,我想来好好说一下这个问题。 首......