本页面介绍如何为 Cloud SQL 配置数据库标志,并列出了可以为实例设置的标志。您可以将数据库标志用于许多操作,包括调整 PostgreSQL 参数、调整选项以及配置和优化实例。
在某些情况下,设置一个标志时,可能需要设置另一个标志才能完全启用所要使用的功能。
当您设置、移除或修改数据库实例的标志时,该数据库可能会重启。除非您主动移除,否则实例的此标志值会一直保留。如果实例是副本的来源,并且实例已经重启,那么系统还会重启副本以与实例的当前配置保持一致。
配置数据库标志
以下部分介绍了常见的标志管理任务。
设置数据库标志
控制台
- 在 Google Cloud 控制台中,选择包含要为其设置数据库标志的 Cloud SQL 实例的项目。
- 打开实例,然后点击修改。
- 前往标志部分。
- 要在实例上设置先前未设置的标志,请点击添加一项,从下拉菜单中选择该标志,然后设置其值。
- 点击保存以保存更改。
- 在“概览”页的标志下确认更改。
gcloud
修改实例:
gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2
此命令将覆盖之前设置的所有数据库标志。如需保留这些标志并添加新标志,请为您要在实例上设置的所有标志添加值;任何未明确添加的标志都会设置为默认值。对于不带值的标志,请指定标志名称并后接一个等号(“=”)。
例如,如需设置 log_connections 和 log_min_error_statement 标志,您可以使用以下命令:
gcloud sql instances patch INSTANCE_NAME \ --database-flags=log_connections=on,log_min_error_statement=error
Terraform
如需添加数据库标志,请使用 Terraform 资源。
应用更改
如需在 Google Cloud 项目中应用 Terraform 配置,请完成以下部分中的步骤。
准备 Cloud Shell
- 启动 Cloud Shell。
-
设置要应用 Terraform 配置的默认 Google Cloud 项目。
您只需为每个项目运行一次以下命令,即可在任何目录中运行它。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
如果您在 Terraform 配置文件中设置显式值,则环境变量会被替换。
准备目录
每个 Terraform 配置文件都必须有自己的目录(也称为“根模块”)。
-
在 Cloud Shell 中,创建一个目录,并在该目录中创建一个新文件。文件名必须具有
.tf扩展名,例如main.tf。在本教程中,该文件称为main.tf。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
如果您按照教程进行操作,可以在每个部分或步骤中复制示例代码。
将示例代码复制到新创建的
main.tf中。(可选)从 GitHub 中复制代码。如果端到端解决方案包含 Terraform 代码段,则建议这样做。
- 查看和修改要应用到您的环境的示例参数。
- 保存更改。
-
初始化 Terraform。您只需为每个目录执行一次此操作。
terraform init
(可选)如需使用最新的 Google 提供程序版本,请添加
-upgrade选项:terraform init -upgrade
应用更改
-
查看配置并验证 Terraform 将创建或更新的资源是否符合您的预期:
terraform plan
根据需要更正配置。
-
通过运行以下命令并在提示符处输入
yes来应用 Terraform 配置:terraform apply
等待 Terraform 显示“应用完成!”消息。
- 打开您的 Google Cloud 项目以查看结果。在 Google Cloud 控制台的界面中找到资源,以确保 Terraform 已创建或更新它们。
删除更改
如需删除更改,请执行以下操作:
- 如需停用防删除保护,请在 Terraform 配置文件中将
deletion_protection参数设置为false。deletion_protection = "false"
- 运行以下命令并在提示符处输入
yes,以应用更新后的 Terraform 配置:terraform apply
-
运行以下命令并在提示符处输入
yes,以移除之前使用 Terraform 配置应用的资源:terraform destroy
REST v1
设置现有数据库的标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
请求 JSON 正文:
{
"settings":
{
"databaseFlags":
[
{
"name": "flag_name",
"value": "flag_value"
}
]
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
如果数据库存在已配置的现有标志,请修改先前的命令,将其包含在内。PATCH 命令会使用请求中指定的标志覆盖现有标志。
REST v1beta4
设置现有数据库的标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
请求 JSON 正文:
{
"settings":
{
"databaseFlags":
[
{
"name": "flag_name",
"value": "flag_value"
}
]
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
如果数据库存在已配置的现有标志,请修改先前的命令,将其包含在内。PATCH 命令会使用请求中指定的标志覆盖现有标志。
将所有标志恢复为其默认值
控制台
- 在 Google Cloud 控制台中,选择包含要清除所有标志的 Cloud SQL 实例的项目。
- 打开实例,然后点击修改。
- 打开数据库标志部分。
- 点击显示的所有标志旁的 X。
- 点击保存以保存更改。
gcloud
将实例上的所有标志恢复为其默认值:
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
系统会提示您确认实例将重启。
REST v1
清除现有实例的所有标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
请求 JSON 正文:
{
"settings":
{
"databaseFlags": []
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
REST v1beta4
清除现有实例的所有标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
请求 JSON 正文:
{
"settings":
{
"databaseFlags": []
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
查看数据库标志的当前值
如需查看 PostgreSQL 设置的所有当前值,请使用psql 客户端登录到您的实例,然后输入以下语句:
SELECT name, setting FROM pg_settings;
请注意,您只能更改受支持标志的值(如下所列)。
确定已为实例设置的数据库标志
如需查看已为 Cloud SQL 实例设置的标志:
控制台
- 在 Google Cloud 控制台中,选择包含要查看其已设置数据库标志的 Cloud SQL 实例的项目。
- 选择实例,打开其实例概览页面。
数据库标志部分列出了已设置的数据库标志。
gcloud
获取实例状态:
gcloud sql instances describe INSTANCE_NAME
在输出中,数据库标志作为 databaseFlags 集合列在 settings 下。要详细了解输出中标志的表示法,请参阅实例资源表示法。
REST v1
列出实例的已配置标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
在输出中,查找 databaseFlags 字段。
REST v1beta4
列出实例的已配置标志:
在使用任何请求数据之前,请先进行以下替换:
- project-id:项目 ID
- instance-id:实例 ID
HTTP 方法和网址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
在输出中,查找 databaseFlags 字段。
支持的标志
下面未提及的标志不受支持。
对于给定标志,Cloud SQL 支持的值或范围可能与对应的 PostgreSQL 参数或选项有所不同。
A | C | D | E | F | G | H | I | J | L | M | O | P | R | S | T | V | W
| Cloud SQL 标志 | 类型 可接受值及备注 |
是否需要 重启? |
||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| anon.algorithm | String
默认值为 sha256。 |
否 | ||||||||||||||||||||
| anon.maskschema | String
默认值为 mask。 |
否 | ||||||||||||||||||||
| anon.restrict_to_trusted_schemas | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| anon.salt | String
没有默认值。 |
否 | ||||||||||||||||||||
| anon.sourceschema | String
默认值为 public。 |
否 | ||||||||||||||||||||
| auto_explain.log_analyze | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| auto_explain.log_buffers | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| auto_explain.log_min_duration | Integer
-1 ... 2147483647
默认值为 -1。 |
否 | ||||||||||||||||||||
| auto_explain.log_format | String
text|xml|json|yaml默认值为 text。 |
否 | ||||||||||||||||||||
| auto_explain.log_level | String
debug5|debug4|debug3|debug2|debug1|debug|info|notice|warning|log
默认值为 log。 在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| auto_explain.log_nested_statements | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| auto_explain.log_settings | boolean
on | off
默认值为 off。 在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| auto_explain.log_timing | boolean
on | off
默认值为开启。 |
否 | ||||||||||||||||||||
| auto_explain.log_triggers | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| auto_explain.log_wal | boolean
on | off
默认值为 off。 在 PostgreSQL 13 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| auto_explain.log_verbose | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| auto_explain.sample_rate | Float
0 ... 1
默认值为 1。 |
否 | ||||||||||||||||||||
| autovacuum | booleanon | off
默认值为 on。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
否 | ||||||||||||||||||||
| autovacuum_analyze_scale_factor | float0 ... 100
默认值为 0.1。 |
否 | ||||||||||||||||||||
| autovacuum_analyze_threshold | integer0 ... 2147483647
默认值为 50。 |
否 | ||||||||||||||||||||
| autovacuum_freeze_max_age | integer100000 ... 2000000000
默认值为 200000000。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
是 | ||||||||||||||||||||
| autovacuum_max_workers | integer1 ... varies (see note)
默认值为 3。 |
是 | ||||||||||||||||||||
| autovacuum_multixact_freeze_max_age | integer10000 ... 2000000000
默认值为 400000000。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
是 | ||||||||||||||||||||
| autovacuum_naptime | integer1 ... 2147483s
默认值为 60 秒。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_cost_delay | integer0 ... 100 毫秒,或者为 -1(使用 vacuum_cost_delay 值)对于 PostgreSQL 9.6、10 和 11,默认值为 2 毫秒。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_cost_limit | integer0 ... 10000,或者为 -1(使用 vacuum_cost_limit 值)
默认值为 -1。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_insert_scale_factor | float0 ... 100
默认值为 0.2。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_insert_threshold | integer-1 ... 2147483647
默认值为 1000。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_max_threshold | integer-1 ... 2147483647
默认值为 100000000。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_scale_factor | float0 ... 100
默认值为 0.2。 |
否 | ||||||||||||||||||||
| autovacuum_vacuum_threshold | integer0 ... 2147483647
默认值为 50。 |
否 | ||||||||||||||||||||
| autovacuum_work_mem | integer0 ... 2147483647 KB,或者为 -1(使用 maintenance_work_mem 值)
默认值为 -1。 |
否 | ||||||||||||||||||||
| autovacuum_worker_slots | integer1 ... 262143
默认值为 16。 在 PostgreSQL 18 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| backend_flush_after | integer0 ... 256
单位是 8 KB。
默认值为 0。 |
否 | ||||||||||||||||||||
| bgwriter_delay | integer10 ... 10000 毫秒
默认值为 200。 |
否 | ||||||||||||||||||||
| bgwriter_flush_after | integer0 ... 256
单位是 8 KB。
默认值为 64。 |
否 | ||||||||||||||||||||
| bgwriter_lru_maxpages | integer0 ... 1073741823
默认值为 100。 |
否 | ||||||||||||||||||||
| bgwriter_lru_multiplier | Float0 ... 10
默认值为 2。 |
否 | ||||||||||||||||||||
| checkpoint_completion_target | float0.0 ... 1.0
默认值为 0.9。 |
否 | ||||||||||||||||||||
| checkpoint_flush_after | integer0 ... 256
单位是 8 KB。
默认值为 32。 |
否 | ||||||||||||||||||||
| checkpoint_timeout | integer30 ... 86,400s
默认值为 300 秒。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
否 | ||||||||||||||||||||
| checkpoint_warning | integer0 ... 2147483647s
默认值为 30 秒。 |
否 | ||||||||||||||||||||
| client_connection_check_interval | integer0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
| cloudsql.allow_passwordless_local_connections |
booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| cloudsql.enable_anon | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| cloudsql.enable_auto_explain |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_index_advisor |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_maintenance_mode |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_pgaudit | booleanon | off
默认值为 off。 |
是 | ||||||||||||||||||||
| cloudsql.enable_pg_bigm |
booleanon | off
默认值: off
|
是 | ||||||||||||||||||||
| cloudsql.enable_pg_cron |
booleanon | off
默认值为 off。
在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| cloudsql.enable_pg_hint_plan |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_pglogical |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_pg_squeeze |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.enable_pg_wait_sampling | booleanon | off
|
是 | ||||||||||||||||||||
| cloudsql.iam_authentication | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| cloudsql.logical_decoding | booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| cloudsql.max_failed_attempts_user | integer0 ... 10000
默认值为 10。 |
是 | ||||||||||||||||||||
| cloudsql.pg_authid_select_role | string |
否 | ||||||||||||||||||||
| commit_delay | integer0 ... 100000
默认值为 0。 |
否 | ||||||||||||||||||||
| commit_siblings | integer0 ... 1000
默认值为 5。 |
否 | ||||||||||||||||||||
| constraint_exclusion | enumerationpartition | on | off
默认值为 partition。 |
否 | ||||||||||||||||||||
| cpu_index_tuple_cost | float0.0 ... inf
默认值为 0.005。 |
否 | ||||||||||||||||||||
| cpu_operator_cost | float0.0 ... inf
默认值为 0.0025。 |
否 | ||||||||||||||||||||
| cpu_tuple_cost | float0.0 ... inf
默认值为 0.01。 |
否 | ||||||||||||||||||||
| cron.database_name | String。
在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| cron.log_statement | boolean
on | off
默认值为 on。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| cron.log_run | boolean
on | off
默认值为 on。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| cron.max_running_jobs | Integer
0 ... varies
默认值为 5。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| cron.log_min_messages | String
debug5|debug4|debug3|debug2|debug1|debug|info|notice|warning|error|log|fatal|panic
默认值为 warning。 在 PostgreSQL 10 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| cursor_tuple_fraction | float0.0 ... 1.0
默认值为 0.1。 |
否 | ||||||||||||||||||||
| deadlock_timeout | integer1 ... 2147483647 毫秒
默认值为 1000 毫秒。 |
否 | ||||||||||||||||||||
| default_statistics_target | integer1 ... 10000
默认值为 100。 |
否 | ||||||||||||||||||||
| default_tablespace | string |
否 | ||||||||||||||||||||
| default_transaction_deferrable | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| default_transaction_isolation | enumerationserializable | 'repeatable read' | 'read committed' | 'read uncommitted'
默认值为“read committed”。 |
否 | ||||||||||||||||||||
| effective_cache_size | integer大小范围介于实例内存的 10% 到 70% 之间。 单位是 8 KB。
默认值为 40% 的虚拟机内存。例如,对于 45 GB 的实例内存,默认值为 18537160 KB。 |
否 | ||||||||||||||||||||
| effective_io_concurrency | integer0 ... 1000
默认值为 1。 |
否 | ||||||||||||||||||||
| enable_async_append | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_bitmapscan | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_distinct_reordering | booleanon | off
默认值为 on。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| enable_gathermerge | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_incremental_sort | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_memoize | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_parallel_append | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_parallel_hash | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_partition_pruning | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_partitionwise_aggregate | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| enable_partitionwise_join | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| enable_hashagg | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_hashjoin | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_indexonlyscan | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_indexscan | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_material | booleanon | off
默认值为 on |
否 | ||||||||||||||||||||
| enable_mergejoin | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_nestloop | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_self_join_elimination | booleanon | off
默认值为 on。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| enable_seqscan | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_sort | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| enable_tidscan | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| force_parallel_mode | enumerationoff | on | regress
默认值为 off。 |
否 | ||||||||||||||||||||
| from_collapse_limit | integer1 ... 2147483647
默认值为 8。 |
否 | ||||||||||||||||||||
| geqo | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| geqo_effort | integer1 ... 10
默认值为 5。 |
否 | ||||||||||||||||||||
| geqo_generations | integer0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
| geqo_pool_size | integer0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
| geqo_seed | float0.0 ... 1.0
默认值为 0。 |
否 | ||||||||||||||||||||
| geqo_selection_bias | float1.5 ... 2.0
默认值为 2。 |
否 | ||||||||||||||||||||
| geqo_threshold | integer2 ... 2147483647
默认值为 12。 |
否 | ||||||||||||||||||||
| gin_fuzzy_search_limit | integer0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
| gin_pending_list_limit | integer64 ... 2147483647KB
默认值为 4096KB。 |
否 | ||||||||||||||||||||
| hash_mem_multiplier | float1 ... 1000
默认值为 2。 |
否 | ||||||||||||||||||||
| hot_standby_feedback | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| huge_pages | enumerationtry | off
默认值为 try。 |
是 | ||||||||||||||||||||
| idle_in_transaction_session_timeout | integer0 ... 2147483647 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
| io_max_concurrency | integer-1 ... 1024
默认值为 -1。 在 PostgreSQL 18 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| io_method | stringsync、worker
默认值为 worker。 在 PostgreSQL 18 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| io_workers | integer-1 ... 32
默认值为 3。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| ivfflat.probes | integer
1 … varies
默认值为 1。 在 PostgreSQL 11 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| join_collapse_limit | integer1 ... 2147483647
默认值为 8。 |
否 | ||||||||||||||||||||
| local_preload_libraries | String
此标志可让您指定一个或多个在数据库连接开始时预加载的共享库(以逗号分隔列表的形式)。 |
否 | ||||||||||||||||||||
| lock_timeout | integer0 ... 2147483647 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
| log_autovacuum_min_duration | integer0 ... 2147483647 毫秒,或者为 -1(停用)
默认值为 0。 |
否 | ||||||||||||||||||||
| log_checkpoints | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_connections | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_disconnections | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_duration | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_error_verbosity | enumerationterse | default | verbose
默认值为 default。 |
否 | ||||||||||||||||||||
| log_executor_stats | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_hostname | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_line_prefix | String在日志文件每一行的开头生成的 printf 样式的字符串。 默认值为 %m [%p]: [%l-1] db=%d,user=%u,记录时间戳、进程 ID、数据库和用户名。 |
否 | ||||||||||||||||||||
| log_lock_failures | booleanon | off
默认值为 off。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| log_lock_waits | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_min_duration_statement | integer-1 ... 2147483647 ms
默认值为 -1。 |
否 | ||||||||||||||||||||
| log_min_error_statement | enumerationdebug5 | debug4 | debug3 |
debug2 | debug1 | info |
notice | warning | error |
log | fatal | panic
默认值为 error。 |
否 | ||||||||||||||||||||
| log_min_messages | enumerationdebug5 | debug4 | debug3 |
debug2 | debug1 | info |
notice | warning | error |
log | fatal | panic
默认值为 warning。 |
否 | ||||||||||||||||||||
| log_parser_stats | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_planner_stats | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_recovery_conflict_waits | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_replication_commands | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| log_statement | enumerationnone | ddl | mod | all
设置为 mod 可记录所有数据定义语言 (DDL) 语句,以及数据修改语句,例如 INSERT、UPDATE、DELETE、TRUNCATE
默认值为 none。 |
否 | ||||||||||||||||||||
| log_statement_stats | booleanon | off不能与 log_parser_stats、log_planner_stats 或 log_executor_stats 一同启用。
默认值为 off。 |
否 | ||||||||||||||||||||
| log_temp_files | integer0 ... 2147483647 KB,或者为 -1(停用)
默认值为 0。 |
否 | ||||||||||||||||||||
| log_timezone | string此标志为 Cloud SQL for PostgreSQL 用户提供了一种方法来设置用于服务器日志中写入的时间戳的时区。 按名称指定时区。例如, 您必须在主实例和所有读取副本上手动更新此标志来反映夏令时。 时区名称不区分大小写。在任何情况下,您都可以提供时区名称。 我们支持 |
是 | ||||||||||||||||||||
| logical_decoding_work_mem | integer64 ... 2147483647
默认值为 65536。 |
否 | ||||||||||||||||||||
| maintenance_io_concurrency | integer0 ... 1000
默认值为 10。 |
否 | ||||||||||||||||||||
| maintenance_work_mem | integer1024 ... 2147483647 KB
默认值为 64 MB。 |
否 | ||||||||||||||||||||
| max_active_replication_origins | integer0 ... 262143
默认值为 10。使用读取池时,必须设置此标志。 在 PostgreSQL 18 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| max_connections | integer14 ... varies (see note)
默认值取决于主实例链中最大实例的内存量(此实例;如果是读取副本,则为其主实例、其主实例的主实例等,一直到复制树的根)。
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
| max_locks_per_transaction | integer10 ... 2,147,483,647
默认值为 64。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
| max_logical_replication_workers | integer4 ... 8192
默认值为 4。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
| max_parallel_maintenance_workers | integer0 ... varies
默认值为 2。 在 PostgreSQL 11 及更高版本中受支持。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
| max_parallel_workers | integer0 ... varies
默认值为 8。 在 PostgreSQL 10 及更高版本中受支持。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
| max_Parallel_workers_per_gather | integer0 ... varies
默认值为 2。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
| max_pred_locks_per_page | integer0 ... 2147483647
默认值为 2。 在 PostgreSQL 10 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| max_pred_locks_per_relation | integer-2147483648 ... 2147483647
默认值为 -2。 在 PostgreSQL 10 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| max_pred_locks_per_transaction | integer64 ... 1048576
|
是 | ||||||||||||||||||||
| max_prepared_transactions | integer0 ... varies
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
| max_replication_slots | integer10 ... varies
默认值为 10。 |
是 | ||||||||||||||||||||
| max_standby_archive_delay | integer0 ... 2147483647 ms,或者为 -1(永远等待)
|
否 | ||||||||||||||||||||
| max_standby_streaming_delay | integer0 ... 2147483647 ms,或者为 -1(永远等待) |
否 | ||||||||||||||||||||
| max_sync_workers_per_subscription | integer2 ... 64
不得大于 max_logical_replication_workers。
|
否 | ||||||||||||||||||||
| max_wal_senders | integer10 ... varies
默认值为 10。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
| max_wal_size | integer2 至 2147483647
对于版本 9.6,单位是 16 MB(WAL 文件大小);对于 PostgreSQL 10 及更高版本,单位是 1 MB。 如果实例内存大于或等于 |
否 | ||||||||||||||||||||
| max_worker_processes | integer8 ... varies
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
| min_parallel_index_scan_size | integer0 ... 715827882
单位是 8 KB |
否 | ||||||||||||||||||||
| min_parallel_table_scan_size | integer0 ... 715827882
单位是 8 KB |
否 | ||||||||||||||||||||
| min_parallel_relation_size | integer0 ... 715827882
单位是 8 KB
仅在 PostgreSQL 9.6 中支持。 |
否 | ||||||||||||||||||||
| min_wal_size | integer32 至 2147483647
对于版本 9.6,单位是 16 MB(WAL 文件大小);对于 PostgreSQL 10 及更高版本,单位是 1 MB。 |
否 | ||||||||||||||||||||
| old_snapshot_threshold | integer0 ... 86400 分钟,或者为 -1(停用)
默认值为 -1。 |
是 | ||||||||||||||||||||
| parallel_setup_cost | float0.0 ... inf
默认值为 1000。 |
否 | ||||||||||||||||||||
| parallel_tuple_cost | float0.0 ... inf
默认值为 0.1。 |
否 | ||||||||||||||||||||
| password_encryption | enumerationmd5 | scram-sha-256
默认值取决于 PostgreSQL 版本。对于 PostgreSQL 版本 10 到 13,默认值为 |
否 | ||||||||||||||||||||
| pg_bigm.enable_recheck | boolean
on | off
|
否 | ||||||||||||||||||||
| pg_bigm.gin_key_limit | integer0 至 2147483647 |
否 | ||||||||||||||||||||
| pg_bigm.similarity_limit | float0.0 至 1.0 |
否 | ||||||||||||||||||||
| pg_hint_plan.enable_hint | boolean
on | off
默认值为开启。 |
否 | ||||||||||||||||||||
| pg_hint_plan.debug_print | String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
默认值为 off。 |
否 | ||||||||||||||||||||
| pg_hint_plan.parse_messages | String
debug5|debug4|debug3|debug2|debug1|debug|info|notice|warning|error|log
默认值为 info。 |
否 | ||||||||||||||||||||
| pg_hint_plan.message_level | String
debug5|debug4|debug3|debug2|debug1|debug|info|notice|warning|error|log
默认值为 log。 |
否 | ||||||||||||||||||||
| pg_hint_plan.enable_hint_table | boolean
on | off
默认值为关闭。 |
否 | ||||||||||||||||||||
| pglogical.batch_inserts |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| pglogical.conflict_log_level |
String默认值为 LOG。:此标志接受与 log_min_messages 相同的值。
|
否 | ||||||||||||||||||||
| pglogical.conflict_resolution |
Stringerror|apply_remote|keep_local|last_update_wins|first_update_wins
默认值为 apply_remote。
|
否 | ||||||||||||||||||||
| pglogical.extra_connection_options |
String
接受 PostgreSQL 关键字/值连接字符串。 默认值为空字符串。 |
否 | ||||||||||||||||||||
| pglogical.synchronous_commit |
booleanon | off
默认值为 on。
|
是 | ||||||||||||||||||||
| pglogical.use_spi |
booleanon | off
默认值为 off。
|
是 | ||||||||||||||||||||
| pg_stat_statements.max | integer100 ... 2147483647
默认值为 5000。 |
是 | ||||||||||||||||||||
| pg_stat_statements.save | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| pg_stat_statements.track | enumerationnone | top | all
默认值为 top。 |
否 | ||||||||||||||||||||
| pg_stat_statements.track_utility | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| pgaudit.log | enumerationread | write |
function | role | ddl |
misc | misc_set | all|none
您可以使用英文逗号分隔列表提供多个类,并且可以在类前面添加 |
否 | ||||||||||||||||||||
| pgaudit.log_catalog | booleanon | off
默认值为 on。
|
否 | ||||||||||||||||||||
| pgaudit.log_client | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| pgaudit.log_level | enumerationdebug5 |
debug4 | debug3 | debug2 |
debug1 | info | notice |
warning | error | log
默认值为 log。此外,pgaudit.log_level 仅在 pgaudit.log_client 处于启用状态时才会启用。 |
否 | ||||||||||||||||||||
| pgaudit.log_parameter | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| pgaudit.log_relation | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| pgaudit.log_statement_once | booleanon | off
默认值为 off。
|
否 | ||||||||||||||||||||
| pgaudit.role | string
没有默认值。 |
否 | ||||||||||||||||||||
| pgaudit.log_rows | boolean
默认值为 off。 |
否 | ||||||||||||||||||||
| pgtt.enabled | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| pg_wait_sampling.history_period | integer1 至 2147483647 |
否 | ||||||||||||||||||||
| pg_wait_sampling.history_size | integer1 至 2147483647 |
否 | ||||||||||||||||||||
| pg_wait_sampling.profile_period | integer1 至 2147483647 |
否 | ||||||||||||||||||||
| pg_wait_sampling.profile_pid | booleanon | off |
否 | ||||||||||||||||||||
| pg_wait_sampling.profile_queries | booleanon | off |
否 | ||||||||||||||||||||
| random_page_cost | float0.0 ... inf
默认值为 4。 |
否 | ||||||||||||||||||||
| plan_cache_mode | String
auto|force_generic_plan|force_custom_plan
默认值为 auto。 |
否 | ||||||||||||||||||||
| rdkit.agent_FP_bit_ratio | float0 至 3 |
否 | ||||||||||||||||||||
| rdkit.avalon_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.dice_threshold | float0 至 1 |
否 | ||||||||||||||||||||
| rdkit.difference_FP_weight_agents | integer-10 至 10 |
否 | ||||||||||||||||||||
| rdkit.difference_FP_weight_nonagents | integer1 至 20 |
否 | ||||||||||||||||||||
| rdkit.do_chiral_sss | booleanon | off |
否 | ||||||||||||||||||||
| rdkit.do_enhanced_stereo_sss | booleanon | off |
否 | ||||||||||||||||||||
| rdkit.featmorgan_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.hashed_atompair_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.hashed_torsion_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.ignore_reaction_agents | booleanon | off |
否 | ||||||||||||||||||||
| rdkit.init_reaction | booleanon | off |
否 | ||||||||||||||||||||
| rdkit.layered_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.morgan_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.move_unmmapped_reactants_to_agents | booleanon | off |
否 | ||||||||||||||||||||
| rdkit.rdkit_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.reaction_difference_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.reaction_difference_fp_type | integer1 至 3 |
否 | ||||||||||||||||||||
| rdkit.reaction_sss_fp_size | integer64 至 9192 |
否 | ||||||||||||||||||||
| rdkit.reaction_sss_fp_type | integer1 至 5 |
否 | ||||||||||||||||||||
| rdkit.sss_fp_size | integer64 至 4096 |
否 | ||||||||||||||||||||
| rdkit.tanimoto_threshold | float0 至 1 |
否 | ||||||||||||||||||||
| rdkit.threshold_unmapped_reactant_atoms | float0 至 1 |
否 | ||||||||||||||||||||
| replacement_sort_tuples | integer0...2147483647
|
否 | ||||||||||||||||||||
| session_replication_role | enumerationorigin | replica | local
只能在当前会话中设置 |
- | ||||||||||||||||||||
| seq_page_cost | float0.0 ... inf
默认值为 1.0。 |
否 | ||||||||||||||||||||
| shared_buffers | integer大小范围介于实例内存的 10% 到 60% 之间。 单位是 8 KB。
默认值为实例总虚拟机内存的三分之一(以 MB 为单位)。例如,对于 45 GB 的实例内存,默认值为 15085MB。 |
是 | ||||||||||||||||||||
| squeeze.max_xlock_time | integer1 至 2147483647 |
否 | ||||||||||||||||||||
| squeeze.worker_autostart | string |
是 | ||||||||||||||||||||
| squeeze.worker_role | string |
是 | ||||||||||||||||||||
| ssl_max_protocol_version | enumerationPostgres 14:设置要使用的最高 SSL/TLS 协议版本。有效值与 ssl_min_protocol_version 的有效值相同,并添加了允许指定任何协议版本的空字符串。
在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| ssl_min_protocol_version | enumerationPostgres 14:设置要使用的最低 SSL/TLS 协议版本。当前有效值包括: TLSv1、TLSv1.1、TLSv1.2、TLSv1.3。默认值为 TLSv1。在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| standard_conforming_strings | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| synchronize_seqscans | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| tcp_keepalives_count | integer0 ... 2147483647
默认值为 5。 |
否 | ||||||||||||||||||||
| tcp_keepalives_idle | integer0 ... 2147483647
默认值为 60。 |
否 | ||||||||||||||||||||
| tcp_keepalives_interval | integer0 ... 2147483647
默认值为 60。 |
否 | ||||||||||||||||||||
| temp_buffers | integer100 ... 1,073,741,823
单位是 8 KB |
否 | ||||||||||||||||||||
| temp_file_limit | integer1048576 ... 2147483647 KB
默认值为初始磁盘大小的 10%。 例如,对于 100 GB 的磁盘,默认值为 10262623 KB。 |
否 | ||||||||||||||||||||
| TimeZone | string此标志为 Cloud SQL for PostgreSQL 用户提供了一种方法来设置用于显示和分析时间戳的时区。 按名称指定时区。例如, 您必须在主实例和所有读取副本上手动更新此标志来反映夏令时。 时区名称不区分大小写。在任何情况下,您都可以提供时区名称。 我们支持 |
是 | ||||||||||||||||||||
| trace_notify | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| trace_recovery_messages | enumerationdebug5 | debug4 | debug3 |
debug2 | debug1 | log |
notice | warning | error
默认值为 log。 |
否 | ||||||||||||||||||||
| trace_sort | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| track_activities | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| track_activity_query_size | integer100 ... 102400
默认值为 1 KB。 |
是 | ||||||||||||||||||||
| track_commit_timestamp | booleanon | off
默认值为 off。 |
是 | ||||||||||||||||||||
| track_cost_delay_timing | booleanon | off
默认值为 off。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| track_counts | booleanon | off
默认值为 on。 |
否 | ||||||||||||||||||||
| track_functions | enumerationnone | pl | all
默认值为 none。 |
否 | ||||||||||||||||||||
| track_io_timing | booleanon | off
默认值为 off。 |
否 | ||||||||||||||||||||
| vacuum_cost_delay | integer0 ... 100 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
| vacuum_cost_limit | integer1 ... 10000
默认值为 200。 |
否 | ||||||||||||||||||||
| vacuum_cost_page_dirty | integer0 ... 10000
默认值为 20。 |
否 | ||||||||||||||||||||
| vacuum_cost_page_hit | integer0 ... 10000
默认值为 1。 |
否 | ||||||||||||||||||||
| vacuum_cost_page_miss | integer0 ... 10000
默认值为 10。 |
否 | ||||||||||||||||||||
| vacuum_failsafe_age | integer0 ... 2100000000
默认值为 1600000000。 |
否 | ||||||||||||||||||||
| vacuum_freeze_min_age | integer0 ... 1000000000
默认值为 50000000。 |
否 | ||||||||||||||||||||
| vacuum_freeze_table_age | integer0 ... 2000000000
默认值为 150000000。 |
否 | ||||||||||||||||||||
| vacuum_max_eager_freeze_failure_rate | float0 ... 1
默认值为 0.03。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| vacuum_multixact_failsafe_age | integer0 ... 2100000000
默认值为 1600000000。 |
否 | ||||||||||||||||||||
| vacuum_multixact_freeze_min_age | integer0 ... 1000000000
默认值为 5000000。 |
否 | ||||||||||||||||||||
| vacuum_multixact_freeze_table_age | integer0 ... 2000000000
默认值为 150000000。 |
否 | ||||||||||||||||||||
| vacuum_truncate | booleanon | off
默认值为 on。 在 PostgreSQL 18 及更高版本中受支持。 |
否 | ||||||||||||||||||||
| wal_buffers | integer大小范围介于实例内存的 1 到 5% 之间。 单位是 8 KB。
默认值为 16 MB。 |
是 | ||||||||||||||||||||
| wal_compression | enumerationoff | on | pglz | lz4 | zstd
默认值为 off。 |
否 | ||||||||||||||||||||
| wal_receiver_timeout | integer0 ... 2147483647
默认时间为 60 秒。 此标志会影响 WAL 发送者和接收者。 如果设置不当,此标志会影响逻辑和物理复制。此标志会会影响复制性能和延迟时间。值为 0 表示停用超时机制。 单位是毫秒。 |
否 | ||||||||||||||||||||
| wal_sender_timeout | integer0 ... 2147483647
默认时间为 60 秒。 此标志会影响 WAL 发送者和接收者。 如果设置不当,此标志会影响逻辑和物理复制。此标志会会影响复制性能和延迟时间。值为 0 表示停用超时机制。 单位是毫秒。 |
否 | ||||||||||||||||||||
| wal_writer_delay | integer1 ... 10000
默认值为 200。 |
否 | ||||||||||||||||||||
| wal_writer_flush_after | integer0 ... 2147483647
默认值为 128。 |
否 | ||||||||||||||||||||
| work_mem | integer64 ... 2147483647 KB
默认值为 4 MB。 |
否 |
特殊标志
bgwriter
PostgreSQL 具有后台写入者 (bgwriter) 标志。此标志会写入新增或修改的共享缓冲区。这些共享缓冲区称为脏缓冲区。当干净共享缓冲区的数量不足时,后台写入者会将脏缓冲区写入文件系统并将其标记为干净缓冲区。
与 bgwriter 标志关联的两个标志是 bgwriter_delay 和 bgwriter_lru_maxpages。bgwriter_delay 指定后台写入者的活动往返之间的延迟时间(以毫秒为单位),bgwriter_lru_maxpages 指定后台写入者将写入的缓冲区数量。
bgwriter 标志的默认值为 200 ms。但是,如果您选择大于 500 GB 的固态硬盘 (SSD),则 bgwriter_delay 标志的值设置为 50,bgwriter_lru_maxpages 标志的值设置为 200。
如需详细了解后台写入者,请参阅 PostgreSQL 文档。
session_replication_role
PostgreSQL 具有一个 session_replication_role 标志,该标志旨在用于逻辑复制,并允许您在单个会话中停用限制条件触发器。
有时,此标志也可用于某些维护操作来规避限制条件(通常是外键)检查。
此标志可以由设置了 REPLICATION 属性的任何用户在会话中设置。当为实例设置了标志 cloudsql.enable_pglogical 或 cloudsql.logical_decoding 之一时,任何用户的 REPLICATION 属性均可由 cloudsqlsuperuser 设置。
不能为整个实例设置此标志。
问题排查
| 问题 | 问题排查 |
|---|---|
| 您可以为会话设置时区,但当您注销时,该时区将过期。 |
连接到数据库,并将每个用户或每个数据库的数据库时区设置为所需的时区。 在 Cloud SQL for PostgreSQL 中,您可以指定以下内容。这些设置在会话关闭后会保留下来,就像 ALTER DATABASE dbname SET TIMEZONE TO 'timezone'; ALTER USER username SET TIMEZONE TO 'timezone'; 这些设置仅适用于与数据库的新连接。如需查看时区的更改,请断开与实例的连接,然后重新连接到实例。 |
后续步骤
- 详细了解 PostgreSQL 服务器配置。
- 详细了解操作指南。