gpfilespace

使用定义每个Segment文件系统位置的配置文件创建文件空间。文件空间描述表空间使用的物理文件系统资源。

概要

  1. gpfilespace [connection_option ...] [-l logfile_directory]
  2. [-o output_file_name]
  3. gpfilespace [connection_option ...] [-l logfile_directory]
  4. [-c fs_config_file]
  5. gpfilespace --movetempfilespace {filespace_name | default}
  6. gpfilespace --movetransfilespace {filespace_name | default}
  7. gpfilespace --showtempfilespace
  8. gpfilespace --showtransfilespace
  9. gpfilespace -v
  10. gpfilespace -?

描述

表空间需要文件系统位置来存储其数据库文件。在Greenplum数据库中,Master和Segment(主Segment和镜像Segment)需要各自独立的存储位置。Greenplum系统中所有组件的文件系统位置集合称为文件空间。一旦文件空间被定义,它可以被一个或多个表空间使用。

当与-o选项一起使用时,gpfilespace工具在Greenplum数据库目录表中查找系统配置信息,并提示用户输入创建文件空间所需的文件系统位置。然后输出一个用于创建文件空间的配置文件。如果未指定文件名,默认情况下将在当前目录中创建一个gpfilespace_config_#文件。

一旦用户有了配置文件,用户可以运行gpfilespace工具使用-c选项在Greenplum数据库中创建文件空间。

用户将需要创建一个文件空间,然后才能使用gpfilespace —movetempfilespace或--movetransfilespace选项将临时或事务文件移动到新位置。

使用gpfilespace —showtempfilespace 或者--showtransfilespace 选项来显示当前与临时文件或事务文件关联的文件空间的名称。

注意: 如果由于电源故障或网卡故障导致Segment关闭,则可能会在创建文件空间时看到不一致。用户可能无法启动Greenplum数据库。

选项

-c | —config fs_config_file

一个配置文件包含:

  • 表示新文件空间名称的起始行。例如:

    filespace:myfs

  • Master、主Segment以及镜像Segment,每个一行。一行描述一个文件系统位置,一个特定的Segment数据库实例应该把它用作数据目录位置来存储与一个表空间相关的数据库文件。每一行的格式是:

    1. hostname:dbid:/filesystem_dir/seg_datadir_name

-l | —logdir logfile_directory

写日志文件的目录,默认为~/gpAdminLogs。

-o | —output output_file_name

用于输出生成的文件空间配置文件的目录位置和文件名。系统将提示用户输入文件空间的名字、Master文件系统位置、主Segment文件系统位置和镜像Segment文件系统位置。例如,如果用户的配置在每台主机上有2个主Segment和2个镜像Segment,则会提示输入总共5个位置(包括Master)。在运行gpfilespace工具之前,文件系统位置必须存在于系统中的所有主机上。该工具将在用户指定的位置内选定Segment相关的数据目录,因此可以为多个Segment使用相同的位置。但是,主Segment和镜像Segment不能使用相同的位置。在该工具创建配置文件后,用户可以手动编辑该文件,以便在Greenplum数据库中创建文件空间之前对文件空间布局进行任何必需的更改。

--movetempfilespace {filespace_name | default}

移动临时文件到新的文件空间或者默认的位置

--movetransfilespace {filespace_name | default}

移动事务文件到新的文件空间或者默认的位置

--showtempfilespace

显示当前与临时文件关联的文件空间的名称。此选项会检查所有主Segment和镜像Segment、Master和后备Master是否使用相同的文件空间或临时文件。 如果存在任何不一致,用户将收到警告消息和电子邮件。

--showtransfilespace

显示当前与事务文件关联的文件空间的名称。此选项会检查所有主Segment和镜像Segment、Master和后备Master是否使用相同的文件空间或事务文件。 如果存在任何不一致,用户将收到警告消息和电子邮件。

-v | —version (显示工具版本)

显示工具的版本。

-? | —help (版本)

显示工具的使用和语法。

连接选项

-h host | —host host

运行Greenplum的Master数据库服务器的机器的主机名。如果未指定,则从环境变量PGHOST读取或默认为localhost。

-p port | —port port

Greenplum的Master数据库服务器正在侦听连接的TCP端口。如果未指定,则从环境变量PGPORT读取或默认为5432。

-U username | —username superuser_name

要连接的数据库超级用户角色名称。如果未指定,则从环境变量PGUSER读取或默认为当前系统用户名。只有数据库超级用户可以创建文件空间。

-W | —password

强制口令提示。

示例

创建一个文件空间配置文件。系统将提示用户输入文件空间名字、Master文件系统位置、主Segment文件系统位置和镜像Segment文件系统位置。例如,如果用户的配置中每台主机有2个主Segment和2个镜像Segment,则会提示总共5个位置(包括Master)。在运行gpfilespace工具之前,文件系统位置必须存在于系统中的所有主机上:

  1. $ gpfilespace -o .
  2. Enter a name for this filespace
  3. > fastdisk
  4. Checking your configuration:
  5. Your system has 2 hosts with 2 primary and 2 mirror segments
  6. per host.
  7. Configuring hosts: [sdw1, sdw2]
  8. Please specify 2 locations for the primary segments, one per line:
  9. primary location 1> /gp_pri_filespc
  10. primary location 2> /gp_pri_filespc
  11. Please specify 2 locations for the mirror segments, one per line:
  12. mirror location 1> /gp_mir_filespc
  13. mirror location 2> /gp_mir_filespc
  14. Enter a file system location for the master:
  15. master location> /gp_master_filespc

文件空间配置文件实例:

  1. filespace:fastdisk
  2. mdw:1:/gp_master_filespc/gp-1
  3. sdw1:2:/gp_pri_filespc/gp0
  4. sdw1:3:/gp_mir_filespc/gp1
  5. sdw2:4:/gp_mir_filespc/gp0
  6. sdw2:5:/gp_pri_filespc/gp1

执行配置文件在Greenplum数据库中创建文件空间:

  1. $ gpfilespace -c gpfilespace_config_1

另见

Greenplum数据库参考指南中的CREATE TABLESPACE