本页面介绍如何为 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.sourceshema | 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 | boolean on | off
默认值为 on。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
否 | ||||||||||||||||||||
autovacuum_analyze_scale_factor | float 0 ... 100
默认值为 0.1。 |
否 | ||||||||||||||||||||
autovacuum_analyze_threshold | integer 0 ... 2147483647
默认值为 50。 |
否 | ||||||||||||||||||||
autovacuum_freeze_max_age | integer 100000 ... 2000000000
默认值为 200000000。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
是 | ||||||||||||||||||||
autovacuum_max_workers | integer 1 ... varies (see note)
默认值为 3。 |
是 | ||||||||||||||||||||
autovacuum_multixact_freeze_max_age | integer 10000 ... 2000000000
默认值为 400000000。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
是 | ||||||||||||||||||||
autovacuum_naptime | integer 1 ... 2147483 s
默认值为 60 秒。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_cost_delay | integer 0 ... 100 毫秒,或者为 -1 (使用 vacuum_cost_delay 值)对于 PostgreSQL 9.6、10 和 11,默认值为 2 毫秒。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_cost_limit | integer 0 ... 10000 ,或者为 -1 (使用 vacuum_cost_limit 值)
默认值为 -1。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_insert_scale_factor | float 0 ... 100
默认值为 0.2。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_insert_threshold | integer -1 ... 2147483647
默认值为 1000。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_scale_factor | float 0 ... 100
默认值为 0.2。 |
否 | ||||||||||||||||||||
autovacuum_vacuum_threshold | integer 0 ... 2147483647
默认值为 50。 |
否 | ||||||||||||||||||||
autovacuum_work_mem | integer 0 ... 2147483647 KB,或者为 -1 (使用 maintenance_work_mem 值)
默认值为 -1。 |
否 | ||||||||||||||||||||
checkpoint_completion_target | float 0.0 ... 1.0
默认值为 0.9。 |
否 | ||||||||||||||||||||
checkpoint_timeout | integer 30 ... 86,400 s
默认值为 300 秒。 如需了解可能影响 SLA 的使用信息,请参阅 Cloud SQL for PostgreSQL 实例的操作指南。 |
否 | ||||||||||||||||||||
checkpoint_warning | integer 0 ... 2147483647 s
默认值为 30 秒。 |
否 | ||||||||||||||||||||
cloudsql.allow_passwordless_local_connections |
boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
cloudsql.enable_anon | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
cloudsql.enable_auto_explain |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.enable_maintenance_mode |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.enable_pgaudit | boolean on | off
默认值为 off。 |
是 | ||||||||||||||||||||
cloudsql.enable_pg_bigm |
boolean on | off
默认值: off
|
是 | ||||||||||||||||||||
cloudsql.enable_pg_cron |
boolean on | off
默认值为 off 。
在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
cloudsql.enable_pg_hint_plan |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.enable_pglogical |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.enable_pg_squeeze |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.enable_pg_wait_sampling | boolean on | off
|
是 | ||||||||||||||||||||
cloudsql.iam_authentication | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
cloudsql.logical_decoding | boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
cloudsql.max_failed_attempts_user | integer 0 ... 10000
默认值为 10。 |
是 | ||||||||||||||||||||
cloudsql.pg_authid_select_role | string |
否 | ||||||||||||||||||||
commit_delay | integer 0 ... 100000
默认值为 0。 |
否 | ||||||||||||||||||||
commit_siblings | integer 0 ... 1000
默认值为 5。 |
否 | ||||||||||||||||||||
constraint_exclusion | enumeration partition | on | off
默认值为 partition。 |
否 | ||||||||||||||||||||
cpu_index_tuple_cost | float 0.0 ... inf
默认值为 0.005。 |
否 | ||||||||||||||||||||
cpu_operator_cost | float 0.0 ... inf
默认值为 0.0025。 |
否 | ||||||||||||||||||||
cpu_tuple_cost | float 0.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 | float 0.0 ... 1.0
默认值为 0.1。 |
否 | ||||||||||||||||||||
deadlock_timeout | integer 1 ... 2147483647 毫秒
默认值为 1000 毫秒。 |
否 | ||||||||||||||||||||
default_statistics_target | integer 1 ... 10000
默认值为 100。 |
否 | ||||||||||||||||||||
default_tablespace | string |
否 | ||||||||||||||||||||
default_transaction_deferrable | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
default_transaction_isolation | enumeration serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
默认值为“read committed”。 |
否 | ||||||||||||||||||||
effective_cache_size | integer 大小范围介于实例内存的 10% 到 70% 之间。 单位是 8 KB。
默认值为 40% 的虚拟机内存。例如,对于 45 GB 的实例内存,默认值为 18537160 KB。 |
否 | ||||||||||||||||||||
effective_io_concurrency | integer 0 ... 1000
默认值为 1。 |
否 | ||||||||||||||||||||
enable_bitmapscan | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_hashagg | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_hashjoin | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_indexonlyscan | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_indexscan | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_material | boolean on | off
默认值为 on |
否 | ||||||||||||||||||||
enable_mergejoin | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_nestloop | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_seqscan | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_sort | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
enable_tidscan | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
force_parallel_mode | enumeration off | on | regress
默认值为 off。 |
否 | ||||||||||||||||||||
from_collapse_limit | integer 1 ... 2147483647
默认值为 8。 |
否 | ||||||||||||||||||||
geqo | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
geqo_effort | integer 1 ... 10
默认值为 5。 |
否 | ||||||||||||||||||||
geqo_generations | integer 0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
geqo_pool_size | integer 0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
geqo_seed | float 0.0 ... 1.0
默认值为 0。 |
否 | ||||||||||||||||||||
geqo_selection_bias | float 1.5 ... 2.0
默认值为 2。 |
否 | ||||||||||||||||||||
geqo_threshold | integer 2 ... 2147483647
默认值为 12。 |
否 | ||||||||||||||||||||
gin_fuzzy_search_limit | integer 0 ... 2147483647
默认值为 0。 |
否 | ||||||||||||||||||||
gin_pending_list_limit | integer 64 ... 2147483647 KB
默认值为 4096KB。 |
否 | ||||||||||||||||||||
hash_mem_multiplier | float 1 ... 1000
默认值为 2。 |
否 | ||||||||||||||||||||
hot_standby_feedback | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
huge_pages | enumeration try | off
默认值为 try。 |
是 | ||||||||||||||||||||
idle_in_transaction_session_timeout | integer 0 ... 2147483647 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
ivfflat.probes | integer
1 … varies
默认值为 1。 在 PostgreSQL 11 及更高版本中受支持。 |
否 | ||||||||||||||||||||
join_collapse_limit | integer 1 ... 2147483647
默认值为 8。 |
否 | ||||||||||||||||||||
lock_timeout | integer 0 ... 2147483647 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
log_autovacuum_min_duration | integer 0 ... 2147483647 毫秒,或者为 -1 (停用)
默认值为 0。 |
否 | ||||||||||||||||||||
log_checkpoints | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_connections | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_disconnections | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_duration | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_error_verbosity | enumeration terse | default | verbose
默认值为 default。 |
否 | ||||||||||||||||||||
log_executor_stats | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_hostname | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_line_prefix | String 在日志文件每一行的开头生成的 printf 样式的字符串。 默认值为 %m [%p]: [%l-1] db=%d,user=%u ,用于记录时间戳、进程 ID、数据库和用户名。 |
否 | ||||||||||||||||||||
log_lock_waits | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_min_duration_statement | integer -1 ... 2147483647 ms
默认值为 -1。 |
否 | ||||||||||||||||||||
log_min_error_statement | enumeration debug5 | debug4 | debug3 |
debug2 | debug1 | info |
notice | warning | error |
log | fatal | panic
默认值为 error。 |
否 | ||||||||||||||||||||
log_min_messages | enumeration debug5 | debug4 | debug3 |
debug2 | debug1 | info |
notice | warning | error |
log | fatal | panic
默认值为 warning。 |
否 | ||||||||||||||||||||
log_parser_stats | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_planner_stats | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_replication_commands | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
log_statement | enumeration none | ddl | mod | all
设置为 mod 可记录所有数据定义语言 (DDL) 语句,以及数据修改语句,例如 INSERT 、UPDATE 、DELETE 、TRUNCATE
默认值为 none。 |
否 | ||||||||||||||||||||
log_statement_stats | boolean on | off 不能与 log_parser_stats 、log_planner_stats 或 log_executor_stats 一同启用。
默认值为 off。 |
否 | ||||||||||||||||||||
log_temp_files | integer 0 ... 2147483647 KB,或者为 -1 (停用)
默认值为 0。 |
否 | ||||||||||||||||||||
log_timezone | string 此标志为 Cloud SQL for PostgreSQL 用户提供了一种方法来设置用于服务器日志中写入的时间戳的时区。 您可以按名称指定时区。例如, 您必须在主实例和所有读取副本上手动更新此标志来反映夏令时。 时区名称不区分大小写。在任何情况下,您都可以提供时区名称。 我们支持 |
是 | ||||||||||||||||||||
logical_decoding_work_mem | integer 64 ... 2147483647
默认值为 65536。 |
否 | ||||||||||||||||||||
maintenance_io_concurrency | integer 0 ... 1000
默认值为 10。 |
否 | ||||||||||||||||||||
maintenance_work_mem | integer 1024 ... 2147483647 KB
默认值为 64 MB。 |
否 | ||||||||||||||||||||
max_connections | integer 14 ... varies (see note)
默认值取决于主实例链中最大实例的内存量(此实例;如果是读取副本,则为其主实例、其主实例的主实例等,一直到复制树的根)。
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
max_locks_per_transaction | integer 10 ... 2,147,483,647
默认值为 64。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
max_logical_replication_workers | integer 4 ... 8192
默认值为 4。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
max_parallel_maintenance_workers | integer 0 ... varies
默认值为 2。 在 PostgreSQL 11 及更高版本中受支持。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
max_parallel_workers | integer 0 ... varies
默认值为 8。 在 PostgreSQL 10 及更高版本中受支持。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
max_parallel_workers_per_gather | integer 0 ... varies
默认值为 2。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会传播到以下副本:其值小于主实例的新值的副本,或者尚未更改默认值的副本。 如果主实例的值为 |
否 | ||||||||||||||||||||
max_pred_locks_per_page | integer 0 ... 2147483647
默认值为 2。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
max_pred_locks_per_relation | integer -2147483648 ... 2147483647
默认值为 -2。 在 PostgreSQL 10 及更高版本中受支持。 |
是 | ||||||||||||||||||||
max_pred_locks_per_transaction | integer 64 ... 1048576
|
是 | ||||||||||||||||||||
max_prepared_transactions | integer 0 ... varies
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
max_replication_slots | integer 10 ... varies
默认值为 10。 |
是 | ||||||||||||||||||||
max_standby_archive_delay | integer 0 ... 2147483647 ms,或者为 -1 (永远等待)
|
否 | ||||||||||||||||||||
max_standby_streaming_delay | integer 0 ... 2147483647 ms,或者为 -1 (永远等待) |
否 | ||||||||||||||||||||
max_sync_workers_per_subscription | integer 2 ... 64
不得大于 max_logical_replication_workers 。
|
否 | ||||||||||||||||||||
max_wal_senders | integer 10 ... varies
默认值为 10。 副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
max_wal_size | integer 2 至 2147483647
对于版本 9.6,单位是 16 MB(WAL 文件大小);对于 PostgreSQL 10 及更高版本,单位是 1 MB。 如果实例内存大于或等于 |
否 | ||||||||||||||||||||
max_worker_processes | integer 8 ... varies
副本上的值必须大于或等于主实例上的值。在主实例上所做的更改会应用到以下副本上:其值小于主实例上的新值的副本,或者尚未更改默认值的副本。 对主实例的此类更改会导致副本重启。 |
是 | ||||||||||||||||||||
min_parallel_relation_size | integer 0 ... 715827882
单位是 8 KB
仅在 PostgreSQL 9.6 中支持。 |
否 | ||||||||||||||||||||
min_wal_size | integer 32 至 2147483647
对于版本 9.6,单位是 16 MB(WAL 文件大小);对于 PostgreSQL 10 及更高版本,单位是 1 MB。 |
否 | ||||||||||||||||||||
old_snapshot_threshold | integer 0 ... 86400 分钟,或者为 -1 (停用)
默认值为 -1。 |
是 | ||||||||||||||||||||
parallel_setup_cost | float 0.0 ... inf
默认值为 1000。 |
否 | ||||||||||||||||||||
parallel_tuple_cost | float 0.0 ... inf
默认值为 0.1。 |
否 | ||||||||||||||||||||
password_encryption | enumeration md5 | scram-sha-256
默认值取决于 PostgreSQL 版本。对于 PostgreSQL 版本 10 到 13,默认值为 |
否 | ||||||||||||||||||||
pg_bigm.enable_recheck | boolean
on | off
|
否 | ||||||||||||||||||||
pg_bigm.gin_key_limit | integer 0 至 2147483647 |
否 | ||||||||||||||||||||
pg_bigm.similarity_limit | float 0.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 |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
pglogical.conflict_log_level |
String 默认值为 LOG 。:此标志接受与 log_min_messages 相同的值。
|
否 | ||||||||||||||||||||
pglogical.conflict_resolution |
String error|apply_remote|keep_local|last_update_wins|first_update_wins
默认值为 apply_remote 。
|
否 | ||||||||||||||||||||
pglogical.extra_connection_options |
String
接受 PostgreSQL 关键字/值连接字符串。 默认值为空字符串。 |
否 | ||||||||||||||||||||
pglogical.synchronous_commit |
boolean on | off
默认值为 on 。
|
是 | ||||||||||||||||||||
pglogical.use_spi |
boolean on | off
默认值为 off 。
|
是 | ||||||||||||||||||||
pg_stat_statements.max | integer 100 ... 2147483647
默认值为 5000。 |
是 | ||||||||||||||||||||
pg_stat_statements.save | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
pg_stat_statements.track | enumeration none | top | all
默认值为 top。 |
否 | ||||||||||||||||||||
pg_stat_statements.track_utility | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
pgaudit.log | enumeration read | write |
function | role | ddl |
misc | misc_set | all|none
您可以使用英文逗号分隔列表提供多个类,并且可以在类前面添加 |
否 | ||||||||||||||||||||
pgaudit.log_catalog | boolean on | off
默认值为 on 。
|
否 | ||||||||||||||||||||
pgaudit.log_client | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
pgaudit.log_level | enumeration debug5 |
debug4 | debug3 | debug2 |
debug1 | info | notice |
warning | error | log
默认值为 log 。此外,pgaudit.log_level 仅在 pgaudit.log_client 处于启用状态时才会启用。 |
否 | ||||||||||||||||||||
pgaudit.log_parameter | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
pgaudit.log_relation | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
pgaudit.log_statement_once | boolean on | off
默认值为 off 。
|
否 | ||||||||||||||||||||
pgaudit.role | string
没有默认值。 |
否 | ||||||||||||||||||||
pgtt.enabled | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
pg_wait_sampling.history_period | integer 1 至 2147483647 |
否 | ||||||||||||||||||||
pg_wait_sampling.history_size | integer 1 至 2147483647 |
否 | ||||||||||||||||||||
pg_wait_sampling.profile_period | integer 1 至 2147483647 |
否 | ||||||||||||||||||||
pg_wait_sampling.profile_pid | boolean on | off |
否 | ||||||||||||||||||||
pg_wait_sampling.profile_queries | boolean on | off |
否 | ||||||||||||||||||||
random_page_cost | float 0.0 ... inf
默认值为 4。 |
否 | ||||||||||||||||||||
rdkit.agent_FP_bit_ratio | float 0 至 3 |
否 | ||||||||||||||||||||
rdkit.avalon_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.dice_threshold | float 0 至 1 |
否 | ||||||||||||||||||||
rdkit.difference_FP_weight_agents | integer -10 至 10 |
否 | ||||||||||||||||||||
rdkit.difference_FP_weight_nonagents | integer 1 至 20 |
否 | ||||||||||||||||||||
rdkit.do_chiral_sss | boolean on | off |
否 | ||||||||||||||||||||
rdkit.do_enhanced_stereo_sss | boolean on | off |
否 | ||||||||||||||||||||
rdkit.featmorgan_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.hashed_atompair_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.hashed_torsion_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.ignore_reaction_agents | boolean on | off |
否 | ||||||||||||||||||||
rdkit.init_reaction | boolean on | off |
否 | ||||||||||||||||||||
rdkit.layered_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.morgan_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.move_unmmapped_reactants_to_agents | boolean on | off |
否 | ||||||||||||||||||||
rdkit.rdkit_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.reaction_difference_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.reaction_difference_fp_type | integer 1 至 3 |
否 | ||||||||||||||||||||
rdkit.reaction_sss_fp_size | integer 64 至 9192 |
否 | ||||||||||||||||||||
rdkit.reaction_sss_fp_type | integer 1 至 5 |
否 | ||||||||||||||||||||
rdkit.sss_fp_size | integer 64 至 4096 |
否 | ||||||||||||||||||||
rdkit.tanimoto_threshold | float 0 至 1 |
否 | ||||||||||||||||||||
rdkit.threshold_unmapped_reactant_atoms | float 0 至 1 |
否 | ||||||||||||||||||||
replacement_sort_tuples | integer 0 ...2147483647
|
否 | ||||||||||||||||||||
session_replication_role | enumeration origin | replica | local
只能在当前会话中设置 |
- | ||||||||||||||||||||
shared_buffers | integer 大小范围介于实例内存的 10% 到 60% 之间。 单位是 8 KB。
默认值为实例总虚拟机内存的三分之一(以 MB 为单位)。例如,对于 45 GB 的实例内存,默认值为 15085 MB。 |
是 | ||||||||||||||||||||
squeeze.max_xlock_time | integer 1 至 2147483647 |
否 | ||||||||||||||||||||
squeeze.worker_autostart | string |
是 | ||||||||||||||||||||
squeeze.worker_role | string |
是 | ||||||||||||||||||||
ssl_max_protocol_version | enumeration Postgres 14:设置要使用的最高 SSL/TLS 协议版本。有效值与 ssl_min_protocol_version 的有效值相同,并添加了允许指定任何协议版本的空字符串。
在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
ssl_min_protocol_version | enumeration Postgres 14:设置要使用的最低 SSL/TLS 协议版本。当前有效值包括: TLSv1 、TLSv1.1 、TLSv1.2 、TLSv1.3 。默认值为 TLSv1 。在 PostgreSQL 12 及更高版本中受支持。 |
否 | ||||||||||||||||||||
standard_conforming_strings | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
synchronize_seqscans | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
tcp_keepalives_count | integer 0 ... 2147483647
默认值为 5。 |
否 | ||||||||||||||||||||
tcp_keepalives_idle | integer 0 ... 2147483647
默认值为 60。 |
否 | ||||||||||||||||||||
tcp_keepalives_interval | integer 0 ... 2147483647
默认值为 60。 |
否 | ||||||||||||||||||||
temp_buffers | integer 100 ... 1,073,741,823
单位是 8 KB |
否 | ||||||||||||||||||||
temp_file_limit | integer 1048576 ... 2147483647 KB
默认值为初始磁盘大小的 10%。 例如,对于 100 GB 的磁盘,默认值为 10262623 KB。 |
否 | ||||||||||||||||||||
TimeZone | string 此标志为 Cloud SQL for PostgreSQL 用户提供了一种方法来设置用于显示和分析时间戳的时区。 您可以按名称指定时区。例如, 您必须在主实例和所有读取副本上手动更新此标志来反映夏令时。 时区名称不区分大小写。在任何情况下,您都可以提供时区名称。 我们支持 |
是 | ||||||||||||||||||||
trace_notify | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
trace_recovery_messages | enumeration debug5 | debug4 | debug3 |
debug2 | debug1 | log |
notice | warning | error
默认值为 log。 |
否 | ||||||||||||||||||||
trace_sort | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
track_activities | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
track_activity_query_size | integer 100 ... 102400
默认值为 1 KB。 |
是 | ||||||||||||||||||||
track_commit_timestamp | boolean on | off
默认值为 off。 |
是 | ||||||||||||||||||||
track_counts | boolean on | off
默认值为 on。 |
否 | ||||||||||||||||||||
track_functions | enumeration none | pl | all
默认值为 none。 |
否 | ||||||||||||||||||||
track_io_timing | boolean on | off
默认值为 off。 |
否 | ||||||||||||||||||||
vacuum_cost_delay | integer 0 ... 100 毫秒
默认值为 0。 |
否 | ||||||||||||||||||||
vacuum_cost_limit | integer 1 ... 10000
默认值为 200。 |
否 | ||||||||||||||||||||
vacuum_failsafe_age | integer 0 ... 2100000000
默认值为 1600000000。 |
否 | ||||||||||||||||||||
vacuum_freeze_min_age | integer 0 ... 1000000000
默认值为 50000000。 |
否 | ||||||||||||||||||||
vacuum_freeze_table_age | integer 0 ... 2000000000
默认值为 150000000。 |
否 | ||||||||||||||||||||
vacuum_multixact_failsafe_age | integer 0 ... 2100000000
默认值为 1600000000。 |
否 | ||||||||||||||||||||
vacuum_multixact_freeze_min_age | integer 0 ... 1000000000
默认值为 5000000。 |
否 | ||||||||||||||||||||
vacuum_multixact_freeze_table_age | integer 0 ... 2000000000
默认值为 150000000。 |
否 | ||||||||||||||||||||
wal_buffers | integer 大小范围介于实例内存的 1 到 5% 之间。 单位是 8 KB。
默认值为 16 MB。 |
是 | ||||||||||||||||||||
wal_compression | enumeration off | on | pglz | lz4 | zstd
默认值为 off。 |
否 | ||||||||||||||||||||
wal_receiver_timeout | integer 0 ... 2147483647
默认时间为 60 秒。 此标志会影响 WAL 发送者和接收者。 如果设置不当,此标志会影响逻辑和物理复制。此标志会会影响复制性能和延迟时间。值为 0 表示停用超时机制。 单位是毫秒。 |
否 | ||||||||||||||||||||
wal_sender_timeout | integer 0 ... 2147483647
默认时间为 60 秒。 此标志会影响 WAL 发送者和接收者。 如果设置不当,此标志会影响逻辑和物理复制。此标志会会影响复制性能和延迟时间。值为 0 表示停用超时机制。 单位是毫秒。 |
否 | ||||||||||||||||||||
work_mem | integer 64 ... 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 服务器配置。
- 详细了解操作指南。