zoukankan      html  css  js  c++  java
  • PostgreSQL修改表空间

    创建两个目录做表空间

    mkdir /var/lib/pgsql/mydb_tbspace/

    mkdir /var/lib/pgsql/java_tbspace/

    创建表空间

    postgres=# create tablespace fast_tb location '/var/lib/pgsql/mydb_tbspace';

    CREATE TABLESPACE

    postgres=# create tablespace java_tb location '/var/lib/pgsql/java_tbspace';

    CREATE TABLESPACE

    postgres=# db
    List of tablespaces
    Name | Owner | Location
    ------------+----------+-----------------------------
    fast_tb | postgres | /var/lib/pgsql/mydb_tbspace
    java_tb | postgres | /var/lib/pgsql/java_tbspace
    pg_default | postgres |
    pg_global | postgres |
    (4 rows)

    创建表:

    postgres=# create table test_tbs (id int, info text, crt_time timestamp) tablespace fast_tb;
    CREATE TABLE
    postgres=# d test_tbs
    Table "public.test_tbs"
    Column | Type | Modifiers
    ----------+-----------------------------+-----------
    id | integer |
    info | text |
    crt_time | timestamp without time zone |
    Tablespace: "fast_tb"

    postgres=# insert into test_tbs select generate_series(1, 100000), md5(random()::text), now();
    INSERT 0 100000
    postgres=# select test

    postgres=# select * from test_tbs limit 10;
    id | info | crt_time
    ----+----------------------------------+----------------------------
    1 | 879828b62699ada2ef98ec5be3f8971a | 2017-05-19 11:07:41.970348
    2 | f55a9abecfefbb462e10b974c09deb04 | 2017-05-19 11:07:41.970348
    3 | 3f6017b8c324aba2b43eea5ad82ceb4f | 2017-05-19 11:07:41.970348
    4 | ec2d1b1774b2a7a599f4e162447f9392 | 2017-05-19 11:07:41.970348
    5 | b13686c413e91ddeec3291771966e70c | 2017-05-19 11:07:41.970348
    6 | d1fd3d3e9889d9f4199b59c30655556f | 2017-05-19 11:07:41.970348
    7 | 28185571d91fbe3fadbbbb2ab02ea8ca | 2017-05-19 11:07:41.970348
    8 | 540937e17ad2102869208d1d748a0072 | 2017-05-19 11:07:41.970348
    9 | ca9c323dc2c1c7cc8f808f5cae84a14c | 2017-05-19 11:07:41.970348
    10 | e0ca51112bf1025af2dfe795c2d5c3f3 | 2017-05-19 11:07:41.970348
    (10 rows)

    查看表空间fast_tb:

    -bash-4.1$ ls
    16388 16396_fsm  16391 16393

    -bash-4.1$ du -sh
    7.4M .

    改变表空间

    postgres=# alter table test_tbs set tablespace java_tb ;
    ALTER TABLE

    postgres=# d test_tbs
    Table "public.test_tbs"
    Column | Type | Modifiers
    ----------+-----------------------------+-----------
    id | integer |
    info | text |
    crt_time | timestamp without time zone |
    Tablespace: "java_tb"

    查看新表空间:

    -bash-4.1$ cd java_tbspace/PG_9.5_201510051/13241
    -bash-4.1$ ls
    16396 16396_fsm 16397 16398

    -bash-4.1$ du -sh
    7.4M .

    原来表空间里面还文件,但是为空:

    cd mydb_tbspace/PG_9.5_201510051/13241

    -bash-4.1$ ls
    16388 16391 16393

    -bash-4.1$ du -sh
    12K .

     
    可以将一个表空间内表一起迁移到新表空间: 
    ALTER TABLE ALL IN TABLESPACE pg_default SET TABLESPACE new_disk;
     
    查看表空间路径SQL:
    set ECHO_HIDDEN on
    db
    SELECT spcname AS "Name",
      sys_catalog.pg_get_userbyid(spcowner) AS "Owner",
      sys_catalog.pg_tablespace_location(oid) AS "Location"
    FROM sys_catalog.pg_tablespace
    ORDER BY 1;
    

      

  • 相关阅读:
    2019年8月16日_实验室学术论文研讨
    2019年8月2日实验室学术研讨会议
    2019年7月26日实验室学术研讨会议
    2019年7月12日实验室开展学术研讨
    hdu 5547
    hdu 1286
    hdu 1272
    hdu 1213
    poj 2533 LIS(最长上升序列)
    HUD 5773 LIS(最长上升序列)
  • 原文地址:https://www.cnblogs.com/kuang17/p/6877541.html
Copyright © 2011-2022 走看看