On creating a PostgreSQL® database, you can customize it using a series
of the following advanced parameters:
Parameter | Value Type | Description |
---|
admin_password | string | Custom password for the admin user. It defaults to a random string, and should be set when a new service is being created. |
admin_username | string | Custom username for admin user. It should be set when a new service is being created. The default value is: avnadmin |
backup_hour | integer | The hour of the day (in UTC) when backup for the service is started. New backup is started only if the previous backup has been completed. A valid range is: 0-24 |
backup_minute | integer | The minute of the hour when backup for the service is started. New backup is started only if the previous backup has been completed. A valid range is: 0-60 |
ip_filter | array | Restricts the incoming connections from the Classless Inter-Domain Routing (CIDR) address block, for example, 10.20.0.0/16 . The default value is: 0.0.0.0/0 |
pg.deadlock_timeout | integer | Amount of waiting time on a lock, in milliseconds, before the check to see if there is a deadlock condition. |
pg.default_toast_compression | string | Specifies the default TOAST compression method for values of compressible columns. Available since PostgreSQL version 14. The default value is lz4 . Valid values are lz4 , pglz . |
pg.idle_in_transaction_session_timeout | integer | Times out all sessions with open transactions after this time in milliseconds. |
pg.jit | boolean | Controls the system-wide use of Just-in-Time Compilation (JIT). |
pg.log_error_verbosity | string | Controls the amount of detail written in the server log for each message that is logged. A valid range is: terse, default, verbose |
pg.log_line_prefix | string | Lets you choose from one of the available log-formats. This supports log analysers, such as: pgbadger , pganalyze , etc. |
pg.log_min_duration_statement | integer | Logs statements that take more than the specified number of milliseconds to run. The -1 disables it. |
pg.max_files_per_process | integer | The maximum number of PostgreSQL files that can be open per process. |
pg.max_locks_per_transaction | integer | The maximum PostgreSQL locks per transaction. |
pg.max_logical_replication_workers | integer | The maximum PostgreSQL logical replication workers (as defined by the pool of max_parallel_workers ). |
pg.max_parallel_workers | integer | The maximum number of workers that the system can support for parallel queries. |
pg.max_parallel_workers_per_gather | integer | The maximum number of workers that can be started by a single Gather or Gather Merge node. |
pg.max_predicate_locks_per_transaction | integer | The maximum predicate locks per transaction. |
pg.max_prepared_transactions | integer | The maximum prepared transactions. |
pg.max_replication_slots | integer | The maximum replication slots. |
pg.max_stack_depth | integer | The maximum depth of the stack in bytes. |
pg.max_standby_archive_delay | integer | The maximum standby archive delay in milliseconds. |
pg.max_standby_streaming_delay | integer | The maximum standby streaming delay in milliseconds. |
pg.max_wal_senders | integer | The maximum Write-ahead logging (WAL) senders. |
pg.max_worker_processes | integer | The maximum number of background processes that the system can support. |
pg.pg_partman_bgw.interval | integer | Time interval between the pg_partman scheduled tasks. |
pg.pg_partman_bgw.role | string | Controls which role to use for the pg_partman scheduled background tasks. |
pg_stat_statements.track | string | Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is: top A valid range is: top , all , none |
pg.temp_file_limit | integer | Temporary file limit in KiB. Set -1 for unlimited. |
pg.timezone | string | The service timezone. |
pg.track_activity_query_size | integer | The number of bytes reserved to track the command being executed for each active session. |
pg.track_commit_timestamp | string | The recording of transactions commit time. |
pg.track_functions | string | The tracking of function call counts and time used. |
pg.track_io_timing | string | The timing of the database input/output calls. The parameter is off by default, as it repeatedly queries the operating system for the current time, which can cause significant overhead on some platforms. The default value is: off |
pg.wal_sender_timeout | integer | Terminates the replication connections that are inactive for longer than the specified amount of time, in milliseconds. Setting this value to zero disables the timeout. |
pg.wal_writer_delay | integer | Write-ahead logging (WAL) flush interval in milliseconds. Setting this value to anything lower than the default 200ms can negatively impact performance. The default value is: 200ms |
pg_read_replica | boolean | Defines the forked service as a read-only replica. The setting is deprecated. Use read-replica service integration instead. |
pg_service_to_fork_from | string | The name of the PostgreSQL service from which to fork. The setting is deprecated. Use pg_service_to_fork_from instead. |
project_to_fork_from | string | The name of a project to fork a service from. It can only be used when a new service is being created. |
pg_version | string | The major version of PostgreSQL. |
private_access.pg | boolean | Allows clients to connect to PostgreSQL with a domain name system (DNS) name that always resolves to the service private IP addresses. It is only available in certain network locations. |
private_access.prometheus | boolean | Allows clients to connect to Prometheus with a domain name system (DNS) name that always resolves to the service private IP addresses. It is only available in certain network locations. |
privatelink_access.pg | boolean | Enables PostgreSQL over private link. |
public_access.pg | boolean | Allows clients to connect to PostgreSQL from the public internet for service nodes that are in a project VPC or another type of private network. |
public_access.prometheus | boolean | Allow clients to connect to Prometheus from the public internet for service nodes that are in a Virtual Private Cloud (VPC) project or another type of private network. |
recovery_target_time | string | The recovery target time when forking a service. It can only be used when a new service is being created. |
service_to_fork_from | string | The name of a service to fork from. This can only be used when a new service is being created. |
shared_buffers_percentage | number | The percentage of total RAM that the database server uses for shared memory buffers. A valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. A valid range is: 20-60 (float) |
static_ips | boolean | The static IP addresses: Use static public IP addresses. |
synchronous_replication | string | Enables synchronous replication type. Only available on premium service plans. |
timescaledb.max_background_workers | integer | The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases, and the total number of the concurrent background workers you want running at any given point in time. |
variant | string | The variant of the PostgreSQL service which can affect the features that are delivered by default. |
work_mem | integer | Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. The default is 1MB + 0.075% of total RAM (up to 32MB). Default is 1MB + 0.075% of total RAM (up to 32MB). |
Parameter | Value Type | Description |
---|
pg.autovacuum_analyze_scale_factor | number | The fraction of the table size to add to auto_vacuum_analyze_threshold when deciding whether to trigger an ANALYZE . The default value is: 0.1 (10% of table size) A valid range is: 0-1 |
pg.auto_vacuum_analyze_threshold | integer | The minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any table. The default value is: 50 |
pg.autovacuum_freeze_max_age | integer | The maximum age (in transactions) that a table pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system launches autovacuum processes to prevent wraparound even when autovacuum is disabled. This parameter causes the server to be restarted. |
pg.autovacuum_max_workers | integer | The maximum number of autovacuum processes (different than the autovacuum launcher) that can be running at a time. This parameter can only be set at the server start. The default value is: 3 |
pg.autovacuum_naptime | integer | The minimum delay between autovacuum runs on any database. The delay is measured in seconds. The default value is: 60 |
pg.autovacuum_vacuum_cost_delay | integer | The cost delay value that is used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is: 20 |
pg.autovacuum_vacuum_cost_limit | integer | The cost limit value that is used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_limit value will be used. The default value is: -1 |
pg.autovacuum_vacuum_scale_factor | number | The fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM . The default value is: 0.2 (20% of table size) A valid range is: 0-1 |
pg.autovacuum_vacuum_threshold | integer | The minimum number of updated or deleted tuples needed to trigger a VACUUM in a table. The default value is: 50 |
pg.log_autovacuum_min_duration | integer | Causes each action executed by autovacuum to be logged, as long as it runs for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. -1 (the default) disables logging the autovacuum actions. The default value is: -1 |
Parameter | Value Type | Description |
---|
pgbouncer.autodb_idle_timeout | integer | The number of seconds after which - if unused - the automatically created database pools are freed. If set to 0, then timeout is disabled. |
pgbouncer.autodb_max_db_connections | integer | The overall maximum number of server connections per database (regardless of user). Setting it to 0 means it is unlimited. |
pgbouncer.autodb_pool_mode | string | The PgBouncer pool mode: with session , the server is released back to the pool after the client disconnects; with transaction , the server is released back to the pool after the transaction finishes; with statement the server is released back to the pool after the query finishes (transactions spanning multiple statements are disallowed in this mode). The default value is: session . A valid range is: session , transaction , statement |
pgbouncer.autodb_pool_size | integer | When set to non-zero, it automatically creates a pool of the specified size per user, provided that the pool doesn't exist. |
pgbouncer.ignore_startup_parameters | array | The list of parameters to ignore when given in the startup packet. |
pgbouncer.min_pool_size | integer | Adds more server connections to the pool if the pool connection number is smaller than this number. It improves the behavior when the usual load comes back suddenly after a period of total inactivity. The value is capped at the pool size. |
pgbouncer.server_idle_timeout | integer | The amount of time in seconds after which the server connection is dropped. If set to 0, then timeout is disabled. |
pgbouncer.server_lifetime | integer | The amount of time after which the pooler closes any unused server connection. |
pgbouncer.server_reset_query_always | boolean | Runs server_reset_query (DISCARD ALL ) in all pooling modes. |
pglookout.max_failover_replication_time_lag | integer | The number of seconds of master unavailability before database failover is triggered to standby. The default value is: 60 |
private_access.pgbouncer | boolean | Allows the clients to connect to pgbouncer with a domain name system (DNS) name that always resolves to the service private IP addresses. It is only available in certain network locations. |
privatelink_access.pgbouncer | boolean | Enables the PGBouncer over a private link. |
public_access.pgbouncer | boolean | Allows the clients to connect to PgBouncer from the public internet for service nodes that are in a virtual private cloud (VPC) or another type of private network. |