When a segment host is not recoverable
If a host is nonoperational, for example, due to hardware failure, recover the segments onto a spare set of hardware resources. If mirroring is enabled, you can recover a segment from its mirror onto an alternate host using gprecoverseg. For example:
$ gprecoverseg -i recover_config_file
Where the format of recover_config_file is:
filespaceOrder=[filespace1_name[:filespace2_name:...]failed_host_address: port:fselocation [recovery_host_address:port:replication_port:fselocation [:fselocation:...]]
For example, to recover to a different host than the failed host without additional filespaces configured (besides the default pg_system filespace):
filespaceOrder=sdw5-2:50002:/gpdata/gpseg2 sdw9-2:50002:53002:/gpdata/gpseg2
The gp_segment_configuration and pg_filespace_entry system catalog tables can help determine your current segment configuration so you can plan your mirror recovery configuration. For example, run the following query:
=# SELECT dbid, content, hostname, address, port, replication_port, fselocation as datadir FROM gp_segment_configuration, pg_filespace_entry WHERE dbid=fsedbid ORDER BY dbid;
The new recovery segment host must be pre-installed with the Greenplum Database software and configured exactly as the existing segment hosts.