日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

CREATE TABLESPACE

CREATE TABLESPACE用于注冊一個新的集群范圍的表空間。

簡介

CREATE TABLESPACE注冊一個新的集群范圍的表空間。表空間的名稱必須與集群中現有的任何表空間不同。

表空間用于在文件系統上定義另一個位置,可以把包含數據庫對象 (例如表和索引)的數據文件放在那里,并且可以把 tablespace_name傳遞給 CREATE DATABASECREATE TABLECREATE INDEX或者ADD CONSTRAINT 來讓這些對象的數據文件存儲在指定的表空間中。

重要
  • 只有polar_superuser用戶可以創建表空間,普通客戶無法創建。

  • 對于polar_superuser用戶,支持將對象存儲在指定表空間的語法,但是實際上對象還是在pg_default表空間下,執行過程中會返回提醒信息。對于普通用戶,不支持該語法。

語法

    CREATE TABLESPACE tablespace_name
        [ OWNER { new_owner | CURRENT_USER | SESSION_USER } ]
        LOCATION 'directory'
        [ WITH ( tablespace_option = value [, ... ] ) ]

參數

  • tablespace_name要創建的表空間的名稱。名稱不能以pg_開頭。

  • user_name將擁有該表空間的用戶名。如果省略,默認為執行該命令的用戶。只有polar_superuser用戶能創建表空間。

  • directory要被用于表空間的目錄。該目錄必須存在(CREATE TABLESPACE 將不創建它),應該為空,并且必須由PolarDB系統用戶擁有。該目錄必須用一個絕對路徑指定。

  • tablespace_option要設置或者重置的表空間參數。當前可用的參數是 seq_page_costrandom_page_costeffective_io_concurrencymaintenance_io_concurrency。 為一個特定表空間設定這些值將覆蓋規劃器對該表空間中表頁讀取的常規代價估計,和執行程序的預取行為,由同名的配置參數確定(見 seq_page_cost、random_page_cost、effective_io_concurrency、 maintenance_io_concurrency)。 如果一個表空間位于一個比其他 I/O 子系統更慢或者更快的磁盤上,這些參數就能發揮作用。

說明

  • 只有在支持符號鏈接的系統上才支持表空間。

  • CREATE TABLESPACE不能在一個事務塊內被執行。

  • 表空間不能獨立于定義它的集群使用。

示例

您可以在pg_tablespace系統表中查詢polar_superuser用戶創建的表空間。

  1. 執行如下語句,使用polar_superuser用戶創建表空間。

    CREATE TABLESPACE test_tablespace location '/';
  2. 執行如下語句,在pg_tablespace系統表中查詢表空間。

    SELECT spcname FROM pg_tablespace;

    返回結果如下:

         spcname     
    -----------------
     pg_default
     pg_global
     test_tablespace
  3. 執行如下語句,使用polar_superuser用戶創建數據庫對象并指定表空間。

    CREATE TABLE test_table(a int) TABLESPACE test_tablespace;

    返回結果如下:

    NOTICE:  User defined tablespace is not supported, The tablespace set by the user will be ignored
    CREATE TABLE