• lightdb create table/index指定表空间


    一般来说,现在为了各司其职,都把硬盘做成了san,raid,至少lvm。但是仍然有一些用户希望可以指定表空间和索引。在lightdb里面也支持该特性。如下:

    lightdb@postgres=# create tablespace tab_tbs location '/data1/cn/tab_tbs';
    WARNING:  tablespace location should not be inside the data directory
    ERROR:  directory "/data1/cn/tab_tbs" does not exist
    lightdb@postgres=# create tablespace tab_tbs location '/data1/cn/';
    WARNING:  tablespace location should not be inside the data directory
    CREATE TABLESPACE
    lightdb@postgres=# create table tab_for_tbs(id int) tablespace tab_tbs;
    CREATE TABLE
    lightdb@postgres=# \dS+ tab_for_tbs 
                                    Table "public.tab_for_tbs"
     Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description 
    --------+---------+-----------+----------+---------+---------+--------------+-------------
     id     | integer |           |          |         | plain   |              | 
    Tablespace: "tab_tbs"
    Access method: heap

    这样就在tab_tbs下创建了表。

    索引也是一样的,如下:

    lightdb@postgres=# create index idx_tab_for_tbs on tab_for_tbs(id) tablespace tab_tbs;
    CREATE INDEX
    zjh@postgres=# create tablespace my_tbs location '/data1/zjh';
    CREATE TABLESPACE
    zjh@postgres=# create table my_tbs_tab(id int) tablespace my_tbs ;
    CREATE TABLE
    [zjh@hs-10-20-30-193 13592]$ pwd
    /data1/zjh/PG_13_202204261/13592   #PG版本号_Catalog version number/db_oid
    [zjh@hs-10-20-30-193 13592]$ ll
    total 0

     Catalog version number可通过lt_controldata -D /data1/zjh/data得知,如下:

    [zjh@hs-10-20-30-193 13592]$ lt_controldata -D /data1/zjh/data
    lt_control version number:            1300
    Catalog version number:               202204261
    Database system identifier:           7114486460059183269
    Database cluster state:               in production

    需要注意的是,在lightdb-x分布式版本中,表空间属性不支持透传到DN节点。索引不能声明tablespace xxx子句,如下:

    lightdb@postgres=# \dS+ tab_for_tbs_103402
                                Table "public.tab_for_tbs_103402"
     Column |  Type   | Collation | Nullable | Default | Storage | Stats target | Description 
    --------+---------+-----------+----------+---------+---------+--------------+-------------
     id     | integer |           |          |         | plain   |              | 
    Access method: heap
    
    lightdb@postgres=# create index idx_tab_for_tbs on tab_for_tbs(id) tablespace tab_tbs;
    ERROR:  specifying tablespaces with CREATE INDEX statements is currently unsupported

    注:虽然如此,一般来说,我们是强烈建议数据文件,WAL日志,临时文件目录分开的。

  • 相关阅读:
    GuavaCache简介(一)
    四层、七层负载均衡的区别
    腾讯云服务器 Centos6.5 安装 nginx1.12.0
    tomcat8性能优化
    JAVA 正则表达式的三种模式: 贪婪, 勉强和占有的讨论
    java中值传递和引用传递
    架构师书籍
    大型网站架构系列:20本技术书籍推荐
    RabbitMQ
    支付宝付款流程
  • 原文地址:https://www.cnblogs.com/lightdb/p/16585201.html
Copyright © 2020-2023  润新知