本文介紹如何創建表空間,如何在表空間上創建數據庫,如何查詢表空間和database;
目錄
1 表空間的概述
表空間允許數據庫管理員在每臺機器上擁有多個文件系統並且決定如何最好地使用物理存儲來存放數據庫對象。表空間允許用戶爲頻繁使用和不頻繁使用的數據庫對象分配不同的存儲,或者在特定的數據庫對象上控制I/O性能。例如,把頻繁使用的表放在使用高性能固態驅動器(SSD)的文件系統上,而把其他表放在標準的磁盤驅動器上。
表空間需要一個主機文件系統位置來存儲其數據庫文件。在Greenplum數據庫中,文件系統位置必須存在於包括運行master,standby master和每個primary和mirror的所有主機上。
-
默認系統的文件系統filespace:pg_system在初始化時候建立的
-
所有的system對象都存放的此文件系統
-
所有用戶的數據也是存放在此文件系統
-
表空間位於與底層文件系統交互的文件空間之上
-
一個文件系統可以創建多個表空間
-
兩個默認的表空間: pg_default and pg_global
2 創建filespace
2.1 檢查當前的配置情況
1 檢查filespace select oid,* from pg_filespace; archdata=# select oid,* from pg_filespace; oid | fsname | fsowner ------+-----------+--------- 3052 | pg_system | 10 (1 row) 2 檢查表空間 select * from pg_tablespace; archdata=# select * from pg_tablespace; spcname | spcowner | spclocation | spcacl | spcprilocations | spcmirlocations | spcfsoid ------------+----------+-------------+--------+-----------------+-----------------+---------- pg_default | 10 | | | | | 3052 pg_global | 10 | | | | | 3052 (2 rows) 3 檢查TEMPORARY_FILES和TRANSACTION_FILES對應的filespace gpfilespace --showtempfilespace [gpadmin@mdw ~]$ gpfilespace --showtempfilespace 20200504:16:08:30:023211 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:08:30:023211 gpfilespace:mdw:gpadmin-[INFO]:-Getting filespace information for TEMPORARY_FILES 20200504:16:08:30:023211 gpfilespace:mdw:gpadmin-[INFO]:-Checking for filespace consistency 20200504:16:08:30:023211 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES OIDs are consistent for pg_system filespace 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES entries are consistent for pg_system filespace 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-Current Filespace for TEMPORARY_FILES is pg_system 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-1 /greenplum/gpdata/master/gpseg-1 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-14 /greenplum/gpdata/master/gpseg-1 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-2 /greenplum/gpdata/primary1/gpseg0 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-8 /greenplum/gpdata/mirror1/gpseg0 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-3 /greenplum/gpdata/primary2/gpseg1 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-9 /greenplum/gpdata/mirror2/gpseg1 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-4 /greenplum/gpdata/primary1/gpseg2 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-10 /greenplum/gpdata/mirror1/gpseg2 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-5 /greenplum/gpdata/primary2/gpseg3 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-11 /greenplum/gpdata/mirror2/gpseg3 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-6 /greenplum/gpdata/primary1/gpseg4 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-12 /greenplum/gpdata/mirror1/gpseg4 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-7 /greenplum/gpdata/primary2/gpseg5 20200504:16:08:31:023211 gpfilespace:mdw:gpadmin-[INFO]:-13 /greenplum/gpdata/mirror2/gpseg5 gpfilespace --showtransfilespace [gpadmin@mdw ~]$ gpfilespace --showtransfilespace 20200504:16:09:09:023363 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:09:09:023363 gpfilespace:mdw:gpadmin-[INFO]:-Getting filespace information for TRANSACTION_FILES 20200504:16:09:09:023363 gpfilespace:mdw:gpadmin-[INFO]:-Checking for filespace consistency 20200504:16:09:09:023363 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TRANSACTION_FILES 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-TRANSACTION_FILES OIDs are consistent for pg_system filespace 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-TRANSACTION_FILES entries are consistent for pg_system filespace 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TRANSACTION_FILES 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-Current Filespace for TRANSACTION_FILES is pg_system 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-1 /greenplum/gpdata/master/gpseg-1 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-14 /greenplum/gpdata/master/gpseg-1 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-2 /greenplum/gpdata/primary1/gpseg0 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-8 /greenplum/gpdata/mirror1/gpseg0 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-3 /greenplum/gpdata/primary2/gpseg1 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-9 /greenplum/gpdata/mirror2/gpseg1 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-4 /greenplum/gpdata/primary1/gpseg2 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-10 /greenplum/gpdata/mirror1/gpseg2 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-5 /greenplum/gpdata/primary2/gpseg3 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-11 /greenplum/gpdata/mirror2/gpseg3 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-6 /greenplum/gpdata/primary1/gpseg4 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-12 /greenplum/gpdata/mirror1/gpseg4 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-7 /greenplum/gpdata/primary2/gpseg5 20200504:16:09:10:023363 gpfilespace:mdw:gpadmin-[INFO]:-13 /greenplum/gpdata/mirror2/gpseg5 [gpadmin@mdw ~]$ archdata=# select a.spcname,b.fsname from pg_tablespace a,pg_filespace b where spcfsoid=b.oid; spcname | fsname ------------+----------- pg_default | pg_system pg_global | pg_system
2.2 合理利用高速盤的方案
如果我們的greenplum集羣中,有SSD硬盤,又有SATA硬盤。怎樣更好的利用這些空間呢? 方法1. 用flashcache或bcache,通過device mapper技術,將SSD和SATA綁定,做成塊設備。 再通過 邏輯卷管理 或者 軟RAID 或者 brtfs or zfs管理起來,做成大的文件系統。 (還有一種方法是用RHEL 7提供的LVM,可以將SSD作爲二級緩存) 這種方法對GP來說,是混合動力,可以創建一個或多個文件系統(都具備混合動力)。 所以建議只需要一個pg_system filespace就夠了(除非容量到了文件系統管理的極限,那樣的話可以分成多個文件系統)。 用多個文件系統的情況下,就需要對每個文件系統,創建對應的目錄,以及filespace。
方法2. SSD和SATA分開,各自創建各自的文件系統。 對每個文件系統,創建對應的目錄,以及filespace。
2.3 創建文件系統目錄
當前數據庫只有pg_segment一個文件空間,上面有pg_default和pg_global兩個表空間 。
master 節點目錄
mkdir -p /ssd1/gpdata/master_p chown gpadmin:gpadmin /ssd1/gpdata/master_p [root@mdw ~]# mkdir -p /ssd1/gpdata/master_p [root@mdw ~]# chown gpadmin:gpadmin /ssd1/gpdata/master_p
master standby節點目錄
$ mkdir -p /ssd1/gpdata/master_s $ chown gpadmin:gpadmin /ssd1/gpdata/master_s Last login: Fri Apr 24 17:57:20 2020 from 192.168.2.69 [root@sdw3 ~]# mkdir -p /ssd1/gpdata/master_s [root@sdw3 ~]# chown gpadmin:gpadmin /ssd1/gpdata/master_s [root@sdw3 ~]#
segment節點目錄
[root@mdw ~]# source /usr/local/greenplum-db/greenplum_path.sh [root@mdw ~]# gpssh -f /home/gpadmin/gpconfig/all_segment => mkdir -p /ssd1/gpdata/segdata_p1 chown gpadmin:gpadmin /ssd1/gpdata/segdata_p1 mkdir -p /ssd1/gpdata/segdata_p2 chown gpadmin:gpadmin /ssd1/gpdata/segdata_p2
segment mirror節點目錄
[root@mdw ~]# source /usr/local/greenplum-db/greenplum_path.sh [root@mdw ~]# gpssh -f /home/gpadmin/gpconfig/all_segment => mkdir -p /ssd1/gpdata/segdata_m1 chown gpadmin:gpadmin /ssd1/gpdata/segdata_m1 mkdir -p /ssd1/gpdata/segdata_m2 chown gpadmin:gpadmin /ssd1/gpdata/segdata_m2
2.4 創建配置文件
使用gpfilespace -o gpfilespace_config [gpadmin@mdw ~]$ gpfilespace -o gpfilespace_config 20200504:16:25:02:024112 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:25:02:024112 gpfilespace:mdw:gpadmin-[INFO]:-getting config Enter a name for this filespace > /ssd1/gpdata/master_p [Error] invalid identifier [Hint] non-alphanumeric identifers should be double-quoted Enter a name for this filespace > ssd1 Checking your configuration: Your system has 3 hosts with 2 primary and 2 mirror segments per host. Your system has 2 hosts with 0 primary and 0 mirror segments per host. Configuring hosts: [sdw1, sdw2, sdw3] Please specify 2 locations for the primary segments, one per line: primary location 1> /ssd1/gpdata/segdata_p1 Warning: the RSA host key for 'sdw3' differs from the key for the IP address '10.102.254.26' Offending key for IP in /home/gpadmin/.ssh/known_hosts:10 Matching host key in /home/gpadmin/.ssh/known_hosts:6 Are you sure you want to continue connecting (yes/no)? yes primary location 2> /ssd1/gpdata/segdata_p2 Warning: the RSA host key for 'sdw3' differs from the key for the IP address '10.102.254.26' Offending key for IP in /home/gpadmin/.ssh/known_hosts:10 Matching host key in /home/gpadmin/.ssh/known_hosts:6 Are you sure you want to continue connecting (yes/no)? yes Please specify 2 locations for the mirror segments, one per line: mirror location 1> /ssd1/gpdata/segdata_m1 Warning: the RSA host key for 'sdw3' differs from the key for the IP address '10.102.254.26' Offending key for IP in /home/gpadmin/.ssh/known_hosts:10 Matching host key in /home/gpadmin/.ssh/known_hosts:6 Are you sure you want to continue connecting (yes/no)? yes mirror location 2> /ssd1/gpdata/segdata_m2 Warning: the RSA host key for 'sdw3' differs from the key for the IP address '10.102.254.26' Offending key for IP in /home/gpadmin/.ssh/known_hosts:10 Matching host key in /home/gpadmin/.ssh/known_hosts:6 Are you sure you want to continue connecting (yes/no)? yes Configuring hosts: [smdw, mdw] Enter a file system location for the master master location> /ssd1/gpdata/master_p 20200504:16:33:30:024112 gpfilespace:mdw:gpadmin-[INFO]:-Creating configuration file... 20200504:16:33:30:024112 gpfilespace:mdw:gpadmin-[INFO]:-[created] 20200504:16:33:30:024112 gpfilespace:mdw:gpadmin-[INFO]:- To add this filespace to the database please run the command: gpfilespace --config /home/gpadmin/gpfilespace_config [gpadmin@mdw ~]$
2.5 按照相關命令進行創建文件目錄
[gpadmin@mdw ~]$ more /home/gpadmin/gpfilespace_config filespace:ssd1 mdw:1:/ssd1/gpdata/master_p/gpseg-1 smdw:14:/ssd1/gpdata/master_p/gpseg-1 sdw1:2:/ssd1/gpdata/segdata_p1/gpseg0 sdw1:3:/ssd1/gpdata/segdata_p2/gpseg1 sdw1:12:/ssd1/gpdata/segdata_m1/gpseg4 sdw1:13:/ssd1/gpdata/segdata_m2/gpseg5 sdw2:4:/ssd1/gpdata/segdata_p1/gpseg2 sdw2:5:/ssd1/gpdata/segdata_p2/gpseg3 sdw2:8:/ssd1/gpdata/segdata_m1/gpseg0 sdw2:9:/ssd1/gpdata/segdata_m2/gpseg1 sdw3:6:/ssd1/gpdata/segdata_p1/gpseg4 sdw3:7:/ssd1/gpdata/segdata_p2/gpseg5 sdw3:10:/ssd1/gpdata/segdata_m1/gpseg2 sdw3:11:/ssd1/gpdata/segdata_m2/gpseg3 [gpadmin@mdw ~]$ gpfilespace --config /home/gpadmin/gpfilespace_config 20200504:16:37:30:024649 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:37:30:024649 gpfilespace:mdw:gpadmin-[INFO]:-getting config Reading Configuration file: '/home/gpadmin/gpfilespace_config' 20200504:16:37:30:024649 gpfilespace:mdw:gpadmin-[INFO]:-Performing validation on paths ...............................................................Warning: the RSA host key for 'sdw3' differs from the key for the IP address '10.102.254.26' Offending key for IP in /home/gpadmin/.ssh/known_hosts:10 Matching host key in /home/gpadmin/.ssh/known_hosts:6 Are you sure you want to continue connecting (yes/no)? yes ............... 20200504:16:37:34:024649 gpfilespace:mdw:gpadmin-[INFO]:-Connecting to database 20200504:16:37:34:024649 gpfilespace:mdw:gpadmin-[INFO]:-Filespace "ssd1" successfully created archdata=# select * from pg_filespace; fsname | fsowner -----------+--------- pg_system | 10 ssd1 | 10 (2 rows) archdata=#
3 創建表空間
archdata=# select * from pg_filespace; fsname | fsowner -----------+--------- pg_system | 10 ssd1 | 10 (2 rows) archdata=# =# CREATE TABLESPACE myspace FILESPACE myfilespace; 超級用戶(gpadmin)定義一個表空間,使用GRANT CREATE命令授權給普通的數據庫用戶,比如: =# GRANT CREATE ON TABLESPACE myspace TO admin; 3.1 創建表空間 create tablespace tbs1 filespace ssd1; 3.2 修改role的默認表空間 alter role yanwei set default_tablespace='tbs1'; 3.3 制定表空間來創建數據庫 archdata=# create database testdb tablespace tbs1; CREATE DATABASE archdata=# 3.4 查詢select datname,datdba,dattablespace from pg_database; archdata=# select datname,datdba,dattablespace from pg_database; datname | datdba | dattablespace -----------+--------+--------------- template1 | 10 | 1663 template0 | 10 | 1663 postgres | 10 | 1663 archdata | 10 | 1663 gpperfmon | 10 | 1663 testdb | 10 | 17554 (6 rows) archdata=#
4 相關查詢
查詢database的表空間 archdata=# select datname,datdba,dattablespace from pg_database; datname | datdba | dattablespace -----------+--------+--------------- template1 | 10 | 1663 template0 | 10 | 1663 postgres | 10 | 1663 archdata | 10 | 1663 gpperfmon | 10 | 1663 testdb | 10 | 17554 (6 rows) 查詢表空間 SELECT spcname as tblspc, fsname as filespc, fsedbid as seg_dbid, fselocation as datadir FROM pg_tablespace pgts, pg_filespace pgfs, pg_filespace_entry pgfse WHERE pgts.spcfsoid=pgfse.fsefsoid AND pgfse.fsefsoid=pgfs.oid ORDER BY tblspc, seg_dbid; archdata=# SELECT spcname as tblspc, fsname as filespc, archdata-# fsedbid as seg_dbid, fselocation as datadir archdata-# FROM pg_tablespace pgts, pg_filespace pgfs, archdata-# pg_filespace_entry pgfse archdata-# WHERE pgts.spcfsoid=pgfse.fsefsoid archdata-# AND pgfse.fsefsoid=pgfs.oid archdata-# ORDER BY tblspc, seg_dbid; tblspc | filespc | seg_dbid | datadir ------------+-----------+----------+----------------------------------- pg_default | pg_system | 1 | /greenplum/gpdata/master/gpseg-1 pg_default | pg_system | 2 | /greenplum/gpdata/primary1/gpseg0 pg_default | pg_system | 3 | /greenplum/gpdata/primary2/gpseg1 pg_default | pg_system | 4 | /greenplum/gpdata/primary1/gpseg2 pg_default | pg_system | 5 | /greenplum/gpdata/primary2/gpseg3 pg_default | pg_system | 6 | /greenplum/gpdata/primary1/gpseg4 pg_default | pg_system | 7 | /greenplum/gpdata/primary2/gpseg5 pg_default | pg_system | 8 | /greenplum/gpdata/mirror1/gpseg0 pg_default | pg_system | 9 | /greenplum/gpdata/mirror2/gpseg1 pg_default | pg_system | 10 | /greenplum/gpdata/mirror1/gpseg2 pg_default | pg_system | 11 | /greenplum/gpdata/mirror2/gpseg3 pg_default | pg_system | 12 | /greenplum/gpdata/mirror1/gpseg4 pg_default | pg_system | 13 | /greenplum/gpdata/mirror2/gpseg5 pg_default | pg_system | 14 | /greenplum/gpdata/master/gpseg-1 pg_global | pg_system | 1 | /greenplum/gpdata/master/gpseg-1 pg_global | pg_system | 2 | /greenplum/gpdata/primary1/gpseg0 pg_global | pg_system | 3 | /greenplum/gpdata/primary2/gpseg1 pg_global | pg_system | 4 | /greenplum/gpdata/primary1/gpseg2 pg_global | pg_system | 5 | /greenplum/gpdata/primary2/gpseg3 pg_global | pg_system | 6 | /greenplum/gpdata/primary1/gpseg4 pg_global | pg_system | 7 | /greenplum/gpdata/primary2/gpseg5 pg_global | pg_system | 8 | /greenplum/gpdata/mirror1/gpseg0 pg_global | pg_system | 9 | /greenplum/gpdata/mirror2/gpseg1 pg_global | pg_system | 10 | /greenplum/gpdata/mirror1/gpseg2 pg_global | pg_system | 11 | /greenplum/gpdata/mirror2/gpseg3 pg_global | pg_system | 12 | /greenplum/gpdata/mirror1/gpseg4 pg_global | pg_system | 13 | /greenplum/gpdata/mirror2/gpseg5 pg_global | pg_system | 14 | /greenplum/gpdata/master/gpseg-1 tbs1 | ssd1 | 1 | /ssd1/gpdata/master_p/gpseg-1 tbs1 | ssd1 | 2 | /ssd1/gpdata/segdata_p1/gpseg0 tbs1 | ssd1 | 3 | /ssd1/gpdata/segdata_p2/gpseg1 tbs1 | ssd1 | 4 | /ssd1/gpdata/segdata_p1/gpseg2 tbs1 | ssd1 | 5 | /ssd1/gpdata/segdata_p2/gpseg3 tbs1 | ssd1 | 6 | /ssd1/gpdata/segdata_p1/gpseg4 tbs1 | ssd1 | 7 | /ssd1/gpdata/segdata_p2/gpseg5 tbs1 | ssd1 | 8 | /ssd1/gpdata/segdata_m1/gpseg0 tbs1 | ssd1 | 9 | /ssd1/gpdata/segdata_m2/gpseg1 tbs1 | ssd1 | 10 | /ssd1/gpdata/segdata_m1/gpseg2 tbs1 | ssd1 | 11 | /ssd1/gpdata/segdata_m2/gpseg3 tbs1 | ssd1 | 12 | /ssd1/gpdata/segdata_m1/gpseg4 tbs1 | ssd1 | 13 | /ssd1/gpdata/segdata_m2/gpseg5 tbs1 | ssd1 | 14 | /ssd1/gpdata/master_s/gpseg-1 select * from pg_tablespace ; select * from pg_filespace; archdata=# archdata=# select * from pg_tablespace ; spcname | spcowner | spclocation | spcacl | spcprilocations | spcmirlocations | spcfsoid ------------+----------+-------------+--------+-----------------+-----------------+---------- pg_default | 10 | | | | | 3052 pg_global | 10 | | | | | 3052 tbs1 | 10 | | | | | 17553 (3 rows) archdata=# select * from pg_filespace; fsname | fsowner -----------+--------- pg_system | 10 ssd1 | 10 (2 rows) 使用DROP TABLESPACE tablespacename 命令刪除一個空的表空間 DROP TABLESPACE tbs1 archdata=# DROP TABLESPACE tbs1; ERROR: tablespace "tbs1" is not empty select oid,datname from pg_database where datname = 'testdb' archdata=# select oid,datname from pg_database where datname = 'testdb'; oid | datname -------+--------- 17555 | testdb (1 row) archdata=# /ssd1/gpdata/master_p/gpseg-1 [gpadmin@mdw gpseg-1]$ ls 17554 [gpadmin@mdw gpseg-1]$ archdata=# drop database testdb; DROP DATABASE archdata=# DROP TABLESPACE tbs1; DROP TABLESPACE archdata=# 使用DROP FILESPACE filespacename 刪除一個空的文件空間 DROP FILESPACE myfilespace
5 臨時文件和事務文件的遷移
1. 將temp , trans移動到這個新的filespace. gpfilespace --showtransfilespace gpfilespace --showtempfilespace $gpfilespace --movetempfilespace ssd1 20200504:16:56:26:025483 gpfilespace:mdw:gpadmin-[INFO]:-Database might already be stopped. 20200504:16:56:26:025483 gpfilespace:mdw:gpadmin-[INFO]:-Starting Greenplum Database in master only mode 20200504:16:56:28:025483 gpfilespace:mdw:gpadmin-[INFO]:-Checking if filespace ssd1 exists 20200504:16:56:28:025483 gpfilespace:mdw:gpadmin-[INFO]:-Checking if filespace is same as current filespace 20200504:16:56:28:025483 gpfilespace:mdw:gpadmin-[INFO]:-Stopping Greenplum Database in master only mode 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Checking for connectivity 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace information 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining segment information ... 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Creating RemoteOperations list 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Moving TEMPORARY_FILES filespace from pg_system to ssd1 ... 20200504:16:56:29:025483 gpfilespace:mdw:gpadmin-[INFO]:-Starting Greenplum Database [gpadmin@mdw gpseg-1]$ gpfilespace --showtempfilespace 20200504:16:57:20:026062 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:57:20:026062 gpfilespace:mdw:gpadmin-[INFO]:-Getting filespace information for TEMPORARY_FILES 20200504:16:57:20:026062 gpfilespace:mdw:gpadmin-[INFO]:-Checking for filespace consistency 20200504:16:57:20:026062 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:57:20:026062 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES OIDs are consistent for ssd1 filespace 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES entries are consistent for ssd1 filespace 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-Current Filespace for TEMPORARY_FILES is ssd1 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-1 /ssd1/gpdata/master_p/gpseg-1 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-14 /ssd1/gpdata/master_s/gpseg-1 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-2 /ssd1/gpdata/segdata_p1/gpseg0 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-8 /ssd1/gpdata/segdata_m1/gpseg0 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-3 /ssd1/gpdata/segdata_p2/gpseg1 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-9 /ssd1/gpdata/segdata_m2/gpseg1 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-4 /ssd1/gpdata/segdata_p1/gpseg2 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-10 /ssd1/gpdata/segdata_m1/gpseg2 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-5 /ssd1/gpdata/segdata_p2/gpseg3 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-11 /ssd1/gpdata/segdata_m2/gpseg3 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-6 /ssd1/gpdata/segdata_p1/gpseg4 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-12 /ssd1/gpdata/segdata_m1/gpseg4 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-7 /ssd1/gpdata/segdata_p2/gpseg5 20200504:16:57:21:026062 gpfilespace:mdw:gpadmin-[INFO]:-13 /ssd1/gpdata/segdata_m2/gpseg5 [gpadmin@mdw gpseg-1]$ 在遷移回來pg_system gpfilespace --movetempfilespace pg_system [gpadmin@mdw gpseg-1]$ gpfilespace --movetempfilespace pg_system 20200504:16:57:46:026230 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:57:46:026230 gpfilespace:mdw:gpadmin-[INFO]:-Database was started in NORMAL mode 20200504:16:57:46:026230 gpfilespace:mdw:gpadmin-[INFO]:-Stopping Greenplum Database 20200504:16:57:53:026230 gpfilespace:mdw:gpadmin-[INFO]:-Starting Greenplum Database in master only mode 20200504:16:57:54:026230 gpfilespace:mdw:gpadmin-[INFO]:-Checking if filespace pg_system exists 20200504:16:57:54:026230 gpfilespace:mdw:gpadmin-[INFO]:-Checking if filespace is same as current filespace 20200504:16:57:54:026230 gpfilespace:mdw:gpadmin-[INFO]:-Stopping Greenplum Database in master only mode 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Checking for connectivity 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace information 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining segment information ... 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Creating RemoteOperations list 20200504:16:57:55:026230 gpfilespace:mdw:gpadmin-[INFO]:-Moving TEMPORARY_FILES filespace from ssd1 to pg_system ... 20200504:16:57:56:026230 gpfilespace:mdw:gpadmin-[INFO]:-Starting Greenplum Database [gpadmin@mdw gpseg-1]$ [gpadmin@mdw gpseg-1]$ gpfilespace --showtempfilespace 20200504:16:58:20:026698 gpfilespace:mdw:gpadmin-[INFO]:- A tablespace requires a file system location to store its database files. A filespace is a collection of file system locations for all components in a Greenplum system (primary segment, mirror segment and master instances). Once a filespace is created, it can be used by one or more tablespaces. 20200504:16:58:20:026698 gpfilespace:mdw:gpadmin-[INFO]:-Getting filespace information for TEMPORARY_FILES 20200504:16:58:20:026698 gpfilespace:mdw:gpadmin-[INFO]:-Checking for filespace consistency 20200504:16:58:20:026698 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:58:20:026698 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES OIDs are consistent for pg_system filespace 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-TEMPORARY_FILES entries are consistent for pg_system filespace 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-Obtaining current filespace entries used by TEMPORARY_FILES 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-Current Filespace for TEMPORARY_FILES is pg_system 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-1 /greenplum/gpdata/master/gpseg-1 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-14 /greenplum/gpdata/master/gpseg-1 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-2 /greenplum/gpdata/primary1/gpseg0 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-8 /greenplum/gpdata/mirror1/gpseg0 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-3 /greenplum/gpdata/primary2/gpseg1 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-9 /greenplum/gpdata/mirror2/gpseg1 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-4 /greenplum/gpdata/primary1/gpseg2 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-10 /greenplum/gpdata/mirror1/gpseg2 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-5 /greenplum/gpdata/primary2/gpseg3 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-11 /greenplum/gpdata/mirror2/gpseg3 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-6 /greenplum/gpdata/primary1/gpseg4 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-12 /greenplum/gpdata/mirror1/gpseg4 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-7 /greenplum/gpdata/primary2/gpseg5 20200504:16:58:21:026698 gpfilespace:mdw:gpadmin-[INFO]:-13 /greenplum/gpdata/mirror2/gpseg5 [gpadmin@mdw gpseg-1]$ 同樣的道理來進行遷移事務文件測試即可 2.$gpfilespace --movetransfilespace ssd1