Configuring parameter settings for the pgactive extension
You can use the following query to view all the parameters associated with
pgactive
extension.
app=>
SELECT * FROM pg_settings WHERE name LIKE 'pgactive.%';
You can configure the pgactive
extension using various parameters. These
parameters can be set through either the AWS Management Console or the AWS CLI interface.
Main pgactive extension parameters
The following table provides a reference for the main parameters of the
pgactive
extension:
Parameter |
Unit |
Default |
Description |
---|---|---|---|
pgactive.conflict_logging_include_tuples |
|
– |
Logs complete tuple information for the NoteA server restart is required for changes to take effect. |
pgactive.log_conflicts_to_table |
|
– |
Determines whether the NoteA server restart is required for changes to take effect. |
pgactive.log_conflicts_to_logfile |
|
– |
Determines whether the NoteA server restart is required for changes to take effect. |
pgactive.synchronous_commit |
|
off |
Determines the commit behavior for pgactive apply workers. When
disabled(off), apply workers perform asynchronous commits, which improves
PostgreSQL throughput during apply operations but delays replay confirmations to
the upstream. Setting it to NoteEven when this parameter is set to |
pgactive.temp_dump_directory |
|
– |
Defines the temporary storage path required for database cloning
operations during initial setup. This directory must be writable by the postgres
user and have sufficient storage space to contain a complete database dump. The
system uses this location only during initial database setup with logical copy
operations. This parameter isn't used by the |
pgactive.max_ddl_lock_delay |
|
|
Specifies the maximum wait time for DDL lock before forcibly aborting
concurrent write transactions. The default value is |
pgactive.ddl_lock_timeout |
|
|
Specifies how long a DDL lock attempt waits to obtain the lock. The
default value is |
pgactive.debug_trace_ddl_locks_level |
|
– |
Overrides the default debug log level for DDL locking operations in the
Available log levels, in increasing order of verbosity:
For more information about monitoring options, see Monitoring global DDL locks. NoteChanges to this setting take effect when you reload the configuration. You don't need to restart the server. |
Additional pgactive extension parameters
The following table presents less frequently used and internal configuration options
available for the pgactive
extension.
Parameter |
Unit |
Default |
Description |
---|---|---|---|
pgactive.debug_apply_delay |
|
– |
Sets an apply delay (in milliseconds) for configured connections that don't
have an explicit apply delay in their Primarily used to simulate high-latency networks in testing environments to make it easier to create conflicts. For example, with a 500ms delay on nodes A and B, you have at least 500ms to perform a conflicting insert on node B after inserting a value on node A. NoteRequires a server reload or restart of apply workers to take effect. |
pgactive.connectability_check_duration |
|
– |
Specifies the duration (in seconds) that a database worker attempts to establish connections during failed attempts. The worker makes one connection attempt per second until it succeeds or reaches this timeout value. This setting is useful when the database engine starts before the worker is ready to establish connections. |
pgactive.skip_ddl_replication |
|
|
Controls how DDL changes are replicated or handled in Amazon RDS with
You can modify this parameter in two ways with super user privileges: globally, locally (session level). NoteChanging this parameter incorrectly can break your replication setups. |
pgactive.do_not_replicate |
|
– |
This parameter is for internal use only. When you set this parameter in a transaction, the changes are not replicated to other nodes in your DB cluster. NoteChanging this parameter incorrectly can break your replication setups. |
pgactive.discard_mismatched_row_attributes |
|
– |
This parameter is intended for specialist use only. We recommend using this parameter only when troubleshooting specific replication issues. Use this parameter when:
This setting overrides the following error message and allows data divergence
to arise to let replication continue: NoteChanging this parameter incorrectly can break your replication setups. |
pgactive.debug_trace_replay |
|
– |
When set to
The logs also capture queued DDL commands and table drops. para>By default, the logs do not include row field contents. To include row values in the logs, you must recompile with the following flags enabled:
NoteEnabling this logging setting can impact performance. We recommend enabling it only when needed for troubleshooting. Changes to this setting take effect when you reload the configuration. You don't need to restart the server. |
pgactive.extra_apply_connection_options |
– |
You can configure connection parameters for all peer node connections with pgactive nodes. These parameters control settings such as keepalives and SSL modes. By default, pgactive uses the following connection parameters:
To override the default parameters, use the following similar command: pgactive.extra_apply_connection_options = 'keepalives=0'
Individual node connection strings take precedence over both these settings
and pgactive's built-in connection options. For more information about connection
string formats, see libpq connection strings We recommend keeping the default keepalive settings enabled. Only disable keepalives if you experience issues with large transactions completing over unreliable networks. NoteWe recommend keeping the default keepalive settings enabled. Only disable keepalives if you experience issues with large transactions completing over unreliable networks. Changes to this setting take effect when you reload the configuration. You don't need to restart the server. |
|
pgactive.init_node_parallel_jobs (int ) |
– |
Specifies the number of parallel jobs that Changes to this setting take effect when you reload the configuration. You don't need to restart the server. |
|
pgactive.max_nodes |
|
4 |
Specifies the maximum number of nodes allowed in a pgactive extension group. The default value is 4 nodes. You must consider the following when setting the value of this parameter:
You can set this parameter in two ways: in the configuration file, using the
Default value for this parameter is NoteThe change takes effect after you restart the server. |
pgactive.permit_node_identifier_getter_function_creation |
|
– |
This parameter is intended for internal use only. When enabled,
|