gpfilespace commands creates a filespace using a configuration file that defines per-segment file system locations. Filespaces describe the physical file system resources to be used by a tablespace.
gpfilespace [connection_option ...] [-l logfile_directory] [-o
gpfilespace [connection_option ...] [-l logfile_directory] -c
gpfilespace -v | -?
A tablespace requires a file system location to store its database files. In Greenplum Database, the master and each segment (primary and mirror) needs its own distinct storage location. This collection of file system locations for all components in a Greenplum system is referred to as a filespace. Once a filespace is defined, it can be used by one or more tablespaces.
When used with the -o option, the gpfilespace utility looks up your system configuration information in the Greenplum Database catalog tables and prompts you for the appropriate file system locations needed to create the filespace. It then outputs a configuration file that can be used to create a filespace. If a file name is not specified, a gpfilespace_config_# file will be created in the current directory by default.
Once you have a configuration file, you can run gpfilespace with the -c option to create the filespace in Greenplum Database.
-c | --config fs_config_file
A configuration file containing:
•An initial line denoting the new filespace name. For example: filespace:myfs
•One line each for the master, the primary segments, and the mirror segments. A line describes a file system location that a particular segment database instance should use as its data directory location to store database files associated with a tablespace. Each line is in the format of:
-l | --logdir logfile_directory
The directory to write the log file. Defaults to ~/gpAdminLogs.
-o | --output output_file_name
The directory location and file name to output the generated filespace configuration file. You will be prompted to enter a name for the filespace, a master file system
location, the primary segment file system locations, and the mirror segment file system locations. For example, if your configuration has 2 primary and 2 mirror
segments per host, you will be prompted for a total of 5 locations (including the master). The file system locations must exist on all hosts in your system prior to
running the gpfilespace utility. The utility will designate segment-specific data directories within the location(s) you specify, so it is possible to use the same
location for multiple segments. However, primaries and mirrors cannot use the same location. After the utility creates the configuration file, you can manually edit the
file to make any required changes to the filespace layout before creating the filespace in Greenplum Database.
-v | --version (show utility version)
Displays the version of this utility.
-? | --help (help)
Displays the utility usage and syntax.
-h host | --host host
The host name of the machine on which the Greenplum master database server is running. If not specified, reads from the environment variable PGHOST or defaults to localhost.
-p port | --port port
The TCP port on which the Greenplum master database server is listening for connections. If not specified, reads from the environment variable PGPORT or
defaults to 5432.
-U username | --username superuser_name
The database superuser role name to connect as. If not specified, reads from the environment variable PGUSER or defaults to the current system user name. Only
database superusers are allowed to create filespaces.
-W | --password
Force a password prompt.
Create a filespace configuration file. You will be prompted to enter a name for the filespace, a master file system location, the primary segment file system locations, and the mirror segment file system locations. For example, if your configuration has 2 primary and 2 mirror segments per host, you will be prompted for a total of 5 locations (including the master). The file system locations must exist on all hosts in your system prior to running the gpfilespace utility:
$ gpfilespace -o .
Enter a name for this filespace
Checking your configuration:
Your system has 2 hosts with 2 primary and 2 mirror segments per host.
Configuring hosts: [sdw1, sdw2]
Please specify 2 locations for the primary segments, one per line:
primary location 1> /gp_pri_filespc
primary location 2> /gp_pri_filespc
Please specify 2 locations for the mirror segments, one per line:
mirror location 1> /gp_mir_filespc
mirror location 2> /gp_mir_filespc
Enter a file system location for the master:
master location> /gp_master_filespc
Example filespace configuration file:
Execute the configuration file to create the filespace in Greenplum Database:
$ gpfilespace -c gpfilespace_config_1