Changed Features in Greenplum Database 3.0

Some of the exciting features of greenplum database has be enhanced/changed in 3.0.

1. Append-only tables are converted to append-optimized tables.

2. Following commands have been updated as a result of new append-optimized feature.

a) The CREATE TABLE command has been updated to create append-optimized tables.(when the WITH clause contains the storage parameter APPENDONLY=TRUE)

b) The VACUUM command has been updated to maintain append-optimized tables.

c) The Greenplum Database system table pg_appendonly has been updated.

3. gp_toolkit schema have been update with the 7 new functions. These functions are used to investigate the state of append-optimized tables .

1. __gp_aoseg_name('table_name')
2. __gp_aoseg_history(oid)
3. __gp_aocsseg(oid)
4. __gp_aocsseg_history(oid)
5. __gp_aovisimap(oid)
6. __gp_aovisimap_hidden_info(oid)
7. __gp_aovisimap_entry(oid)

4. Greenplum Database master mirroring has been enhanced to support easier creation of the Greenplum Database standby master and activation of the standby master to become the primary master. 

5. To support the enhanced functionality, changes have been made to the Greenplum Database utilities gpinitstandby and gpactivatestandby. Changes have also been made to Greenplum Database tables and views.

6. For the Greenplum Database utility gpinitstandby these options have been removed.
-L (leave database stopped)
-M fast (fast shutdown - rollback)

7. For the gpinitstandby utility, these options have been added
-P port (specify a port for the standby master)
-F standby_filespaces (specify file spaces for the standby master)

8. For the gpactivatestandy utility, this option has been removed.
-c new_standby_master_hostname

9. These changes have been made to Greenplum Database administrative tables and views.
The gp_master_mirroring table has been removed and has been replaced by the new view pg_stat_replication.
The pg_stat_activity view has been modified.

10. Inserting data into a partitioned table can only be done at parent partitioned table created with the CREATE TABLE command.
When creating a partitioned table, Greenplum Database creates additional tables to manage the partitioning of data in a partitioned table. Using the INSERT command to insert data into tables created by Greenplum Database for use by a partitioned table is not allowed.

11. The Greenplum Database gp_workfile_* views have been added to the Greenplum Database administrative schema gp_toolkit.

12. For Greenplum Database 4.3, the file naming convention for Greenplum Database extension packages have changed.

13. Following 6 new server configuration parameters have been added.

1. Parameter name: keep_wal_segments
Description: For Greenplum Database master mirroring, sets the maximum number of processed WAL segment files that are saved by the by the active Greenplum
Database master if a checkpoint operation occurs. The segment files are used to synchronize the active master on the standby master.
Default Value: 5
Value range: 0 - INT_MAX

2. Parameter name: repl_catchup_within_range
Description: For Greenplum Database master mirroring, controls updates to the active master. If the number of WAL segment files that have not been processed by the walsender exceeds this value, Greenplum Database updates the active master. If the number of segment files does not exceed the value, Greenplum Database blocks updates to allow the walsender process the files. If all WAL segments have been processed, the active master is updated.
Default Value: 1
Value range: 0-64

3. Parameter name: replication_timeout
Description: For Greenplum Database master mirroring, sets the maximum time in milliseconds that the walsender process on the active master waits for a status message from the walreceiver process on the standby master. If a message is not received, the walsender logs an error message. The wal_receiver_status_inter val controls the interval between walreceiver status messages.
Default Value: 60000 ms (60 seconds)
Value range: 0 - INT_MAX

4. Parameter name: wal_receiver_status_interval
Description: For Greenplum Database master mirroring, sets the interval in seconds between walreceiver process status messages that are sent to the active master. Under heavy loads, the time might be longer. The value of replication_timeout controls the time that the walsender process waits for a walreceiver message.
Default Value: 10 sec
Value range: integer 0-INT_MAX/1000

5 Parameter name: gp_appendonly_compaction
Description: Enables compacting segment files during VACUUM commands. When disabled, VACUUM only truncates the segment files to the EOF value, as is the behavior of append-only tables in 4.2.x. The administrator might want to disable compaction in high I/O load situations or low space situations
Default Value: on
Value range: Boolean

6. Parameter name: gp_appendonly_compaction_threshold
Description: Sets the threshold ratio (as a percentage) of hidden tuples to allow compaction of the segment file. If the ratio of hidden tuples in a segment file on a segment is less than this threshold, the segment file is not compacted on a VACUUM FULL call, and a LOG message is issued.
Default Value: 10
Value range: integer (%)