Configurar marcas de bases de datos

En esta página, se describe cómo configurar las marcas de base de datos de Cloud SQL y se muestra una lista de aquellas que puedes configurar para tu instancia. Las marcas de base de datos se usan en muchas operaciones, como el ajuste de los parámetros de PostgreSQL, el ajuste de las opciones, y la configuración y el ajuste de una instancia.

En algunos casos, para configurar una marca necesitas configurar otra a fin de habilitar por completo la función deseada.

Cuando se configura, quita o modifica una marca para una instancia de base de datos, es posible que se reinicie la base de datos. El valor de marca se conserva para la instancia hasta que lo quites. Si la instancia es la fuente de una réplica y la instancia se reinicia, la réplica también se reinicia para alinearse con la configuración actual de la instancia.

Configurar marcas de bases de datos

Establece una marca de base de datos

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas configurar una marca de base de datos.
  2. Abre la instancia y haz clic en Editar.
  3. Desplázate hacia abajo hasta la sección Marcas.
  4. Para configurar una marca que no se configuró antes en la instancia, haz clic en Agregar elemento, elige la marca del menú desplegable y configura su valor.
  5. Haz clic en Guardar para guardar los cambios.
  6. Confirma tus cambios en Marcas en la página Descripción general.

gcloud

Edita la instancia:

gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2

Mediante este comando, se reemplazarán todas las marcas de bases de datos establecidas con anterioridad. Para conservarlas y agregar nuevas, incluye los valores de todas las marcas que desees configurar en la instancia. Cualquier marca que no esté incluida de forma explícita se establecerá con su valor predeterminado. Para marcas que no tomen un valor, especifica el nombre de la marca seguido de un signo igual (“=”).

Por ejemplo, para configurar las marcas log_connections, log_min_error_statement y , puedes usar el siguiente comando:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags=log_connections=on,log_min_error_statement=error

Terraform

Para agregar marcas de base de datos, usa un recurso de Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "postgres-instance"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    database_flags {
      name  = "log_connections"
      value = "on"
    }
    database_flags {
      name  = "log_min_error_statement"
      value = "error"
    }
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Aplica los cambios

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los pasos de las siguientes secciones.

Prepara Cloud Shell

  1. Inicia Cloud Shell
  2. Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.

    Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.

Prepara el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo, main.tf. En este instructivo, el archivo se denomina main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.

    Copia el código de muestra en el main.tf recién creado.

    De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.

  3. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo debes hacerlo una vez por directorio.
    terraform init

    De manera opcional, incluye la opción -upgrade para usar la última versión del proveedor de Google:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  2. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.

  3. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

Borra los cambios

Para borrar tus cambios, haz lo siguiente:

  1. Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento deletion_protection en false.
    deletion_protection =  "false"
  2. Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply
  1. Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa yes cuando se te solicite:

    terraform destroy

REST v1

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

REST v1beta4

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

Restablece los valores predeterminados de todas las marcas

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas restablecer todas las marcas.
  2. Abre la instancia y haz clic en Editar.
  3. Abre la sección Marcas de base de datos.
  4. Haz clic en las X ubicadas junto a todas las marcas que se muestran.
  5. Haz clic en Guardar para guardar los cambios.

gcloud

Restablece todas las marcas a sus valores predeterminados en una instancia:

gcloud sql instances patch INSTANCE_NAME \
--clear-database-flags

Se te solicitará que confirmes que se reiniciará la instancia.

REST v1

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Consulta los valores actuales de las marcas de base de datos

Para ver todos los valores actuales de la configuración de PostgreSQL, accede a tu instancia con el cliente psql y, luego, ingresa la siguiente declaración:

 SELECT name, setting FROM pg_settings;

Ten en cuenta que solo puedes cambiar el valor para marcas compatibles (como se indica a continuación).

Determina qué marcas de base de datos se configuraron para una instancia

Para ver qué marcas se configuraron para una instancia de Cloud SQL, sigue estos pasos:

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas ver las marcas de base de datos que se configuraron.
  2. Selecciona la instancia para abrir la página de descripción general de la instancia.

    Las marcas de base de datos que se configuraron se enumeran en la sección Marcas de base de datos.

gcloud

Obtén el estado de la instancia:

gcloud sql instances describe INSTANCE_NAME

En el resultado, las marcas de base de datos se indican en settings como el grupo databaseFlags. Para obtener más información sobre la representación de las marcas en el resultado, consulta Representación de recursos de instancias.

REST v1

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

REST v1beta4

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

Marcas compatibles

No se admiten las marcas que no se mencionan a continuación.

En el caso de una marca determinada, es posible que Cloud SQL sea compatible con un rango o valor diferente del parámetro o la opción correspondiente de PostgreSQL.

A | C | D | E | F | G | H | I | J | L | M | O | P | R | S | T | V | W

Marca de Cloud SQL Tipo
Notas y valores aceptables
¿Reinicio
obligatorio?
anon.algorithm String
El valor predeterminado es sha256.
No
anon.maskschema String
El valor predeterminado es mask.
No
anon.restrict_to_trusted_schemas boolean
on | off
La opción predeterminada es Desactivado.
No
anon.salt String
No hay un valor predeterminado.
No
anon.sourceshema String
El valor predeterminado es public.
No
auto_explain.log_analyze boolean
on | off
La opción predeterminada es Desactivado.
No
auto_explain.log_buffers boolean
on | off
La opción predeterminada es Desactivado.
No
auto_explain.log_min_duration Integer
-1 ... 2147483647
El valor predeterminado es -1.
No
auto_explain.log_format String
text|xml|json|yaml
El valor predeterminado es text.
No
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
El valor predeterminado es log.
Compatible con PostgreSQL 12 y versiones posteriores.
No
auto_explain.log_nested_statements boolean
on | off
La opción predeterminada es Desactivado.
No
auto_explain.log_settings boolean
on | off
El valor predeterminado es off.
Es compatible con PostgreSQL 12 y versiones posteriores.
No
auto_explain.log_timing boolean
on | off
La opción predeterminada es Activado.
No
auto_explain.log_triggers boolean
on | off
La opción predeterminada es Desactivado.
No
auto_explain.log_wal boolean
on | off
El valor predeterminado es off.
Es compatible con PostgreSQL 13 y versiones posteriores.
No
auto_explain.log_verbose boolean
on | off
La opción predeterminada es Desactivado.
No
auto_explain.sample_rate Float
0 ... 1
El valor predeterminado es 1.
No
autovacuum boolean
on | off
El valor predeterminado es on.
Para obtener información de uso que podría afectar al ANS, consulta los Lineamientos operativos para instancias de Cloud SQL para PostgreSQL.
No
autovacuum_analyze_scale_factor float
0 ... 100
El valor predeterminado es 0.1.
No
autovacuum_analyze_threshold integer
0 ... 2147483647
El valor predeterminado es 50.
No
autovacuum_freeze_max_age integer
100000 ... 2000000000
El valor predeterminado es 200000000.
Para obtener información de uso que podría afectar al ANS, consulta los Lineamientos operativos para instancias de Cloud SQL para PostgreSQL.
autovacuum_max_workers integer
1 ... varies (see note)
El valor predeterminado es 3.
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
El valor predeterminado es 400000000.
Para obtener información de uso que podría afectar al ANS, consulta los Lineamientos operativos para instancias de Cloud SQL para PostgreSQL.
autovacuum_naptime integer
1 ... 2147483s
El valor predeterminado es 60s.
No
autovacuum_vacuum_cost_delay integer
0100 ms, o -1 para usar el valor vacuum_cost_delay
Para PostgreSQL 9.6, 10 y 11, el valor predeterminado es 2 ms.
No
autovacuum_vacuum_cost_limit integer
0 ... 10000, o -1 para usar el valor de vacuum_cost_limit
El valor predeterminado es -1.
No
autovacuum_vacuum_insert_scale_factor float
0 ... 100
El valor predeterminado es 0.2.
No
autovacuum_vacuum_insert_threshold integer
-1 ... 2147483647
El valor predeterminado es 1000.
No
autovacuum_vacuum_scale_factor float
0 ... 100
El valor predeterminado es 0.2.
No
autovacuum_vacuum_threshold integer
0 ... 2147483647
El valor predeterminado es 50.
No
autovacuum_work_mem integer
0 ... 2147483647 KB, o -1 para usar el valor de maintenance_work_mem
El valor predeterminado es -1.
No
checkpoint_completion_target float
0.0 ... 1.0
El valor predeterminado es 0.9.
No
checkpoint_timeout integer
30 ... 86,400s
El valor predeterminado es 300s.
Para obtener información de uso que podría afectar al ANS, consulta los Lineamientos operativos para instancias de Cloud SQL para PostgreSQL.
No
checkpoint_warning integer
0 ... 2147483647s
El valor predeterminado es 30s.
No
cloudsql.allow_passwordless_local_connections boolean
on | off
El valor predeterminado es off.
No
cloudsql.enable_anon boolean
on | off
El valor predeterminado es off.
No
cloudsql.enable_auto_explain boolean
on | off
El valor predeterminado es off.
cloudsql.enable_maintenance_mode boolean
on | off
El valor predeterminado es off.
cloudsql.enable_pgaudit boolean
on | off
El valor predeterminado es off.
cloudsql.enable_pg_bigm boolean
on | off
valor predeterminado: off
cloudsql.enable_pg_cron boolean
on | off
El valor predeterminado es off.
Compatible con PostgreSQL 10 y versiones posteriores.
cloudsql.enable_pg_hint_plan boolean
on | off
El valor predeterminado es off.
cloudsql.enable_pglogical boolean
on | off
El valor predeterminado es off.
cloudsql.enable_pg_squeeze boolean
on | off
El valor predeterminado es off.
cloudsql.enable_pg_wait_sampling boolean
on | off
cloudsql.iam_authentication boolean
on | off
El valor predeterminado es off.
No
cloudsql.logical_decoding boolean
on | off
El valor predeterminado es off.
cloudsql.max_failed_attempts_user integer
0 ... 10000
El valor predeterminado es 10.
cloudsql.pg_authid_select_role string
No
commit_delay integer
0 ... 100000
El valor predeterminado es 0.
No
commit_siblings integer
0 ... 1000
El valor predeterminado es 5.
No
constraint_exclusion enumeration
partition | on | off
El valor predeterminado es partition.
No
cpu_index_tuple_cost float
0.0 ... inf
El valor predeterminado es 0.005.
No
cpu_operator_cost float
0.0 ... inf
El valor predeterminado es 0.0025.
No
cpu_tuple_cost float
0.0 ... inf
El valor predeterminado es 0.01.
No
cron.database_name String.
Compatible con PostgreSQL 10 y versiones posteriores.
cron.log_statement boolean
on | off
El valor predeterminado es on.
Compatible con PostgreSQL 10 y versiones posteriores.
cron.log_run boolean
on | off
El valor predeterminado es on.
Compatible con PostgreSQL 10 y versiones posteriores.
cron.max_running_jobs Integer
0 ... varies
El valor predeterminado es 5.
Compatible con PostgreSQL 10 y versiones posteriores.
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
El valor predeterminado es warning.
Compatible con PostgreSQL 10 y versiones posteriores.
No
cursor_tuple_fraction float
0.0 ... 1.0
El valor predeterminado es 0.1.
No
deadlock_timeout integer
1 ... 2147483647 ms
El valor predeterminado es 1000ms.
No
default_statistics_target integer
1 ... 10000
El valor predeterminado es 100.
No
default_tablespace string No
default_transaction_deferrable boolean
on | off
El valor predeterminado es off.
No
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
El valor predeterminado es 'read committed'.
No
effective_cache_size integer
El intervalo de tamaño es del 10% al 70% de la memoria de la instancia.
La unidad es 8 KB.
El valor predeterminado es el 40% de la memoria de VM. Por ejemplo, para una memoria de instancia de 45 GB, el valor predeterminado es 18537160 KB.
No
effective_io_concurrency integer
0 ... 1000
El valor predeterminado es 1.
No
enable_bitmapscan boolean
on | off
El valor predeterminado es on.
No
enable_hashagg boolean
on | off
El valor predeterminado es on.
No
enable_hashjoin boolean
on | off
El valor predeterminado es on.
No
enable_indexonlyscan boolean
on | off
El valor predeterminado es on.
No
enable_indexscan boolean
on | off
El valor predeterminado es on.
No
enable_material boolean
on | off
El valor predeterminado es on
No
enable_mergejoin boolean
on | off
El valor predeterminado es on.
No
enable_nestloop boolean
on | off
El valor predeterminado es on.
No
enable_seqscan boolean
on | off
El valor predeterminado es on.
No
enable_sort boolean
on | off
El valor predeterminado es on.
No
enable_tidscan boolean
on | off
El valor predeterminado es on.
No
force_parallel_mode enumeration
off | on | regress
El valor predeterminado es off.
No
from_collapse_limit integer
1 ... 2147483647
El valor predeterminado es 8.
No
geqo boolean
on | off
El valor predeterminado es on.
No
geqo_effort integer
1 ... 10
El valor predeterminado es 5.
No
geqo_generations integer
0 ... 2147483647
El valor predeterminado es 0.
No
geqo_pool_size integer
0 ... 2147483647
El valor predeterminado es 0.
No
geqo_seed float
0.0 ... 1.0
El valor predeterminado es 0.
No
geqo_selection_bias float
1.5 ... 2.0
El valor predeterminado es 2.
No
geqo_threshold integer
2 ... 2147483647
El valor predeterminado es 12.
No
gin_fuzzy_search_limit integer
0 ... 2147483647
El valor predeterminado es 0.
No
gin_pending_list_limit integer
64 ... 2147483647KB
El valor predeterminado es 4096KB.
No
hash_mem_multiplier float
1 ... 1000
El valor predeterminado es 2.
No
hot_standby_feedback boolean
on | off
El valor predeterminado es off.
No
huge_pages enumeration
try | off
El valor predeterminado es try.
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
El valor predeterminado es 0.
No
ivfflat.probes integer
1 ... varies
El valor predeterminado es 1.
Compatible con PostgreSQL 11 y versiones posteriores.
No
join_collapse_limit integer
1 ... 2147483647
El valor predeterminado es 8.
No
lock_timeout integer
0 ... 2147483647 ms
El valor predeterminado es 0.
No
log_autovacuum_min_duration integer
0 ... 2147483647 ms, o -1 para inhabilitar
El valor predeterminado es 0.
No
log_checkpoints boolean
on | off
El valor predeterminado es off.
No
log_connections boolean
on | off
El valor predeterminado es off.
No
log_disconnections boolean
on | off
El valor predeterminado es off.
No
log_duration boolean
on | off
El valor predeterminado es off.
No
log_error_verbosity enumeration
terse | default | verbose
El valor predeterminado es default.
No
log_executor_stats boolean
on | off
El valor predeterminado es off.
No
log_hostname boolean
on | off
El valor predeterminado es off.
No
log_line_prefix String
Una string de estilo printf que se genera al comienzo de cada línea de un archivo de registro.
El valor predeterminado es %m [%p]: [%l-1] db=%d,user=%u, que registra la marca de tiempo, el ID de proceso, la base de datos y el nombre de usuario.
No
log_lock_waits boolean
on | off
El valor predeterminado es off.
No
log_min_duration_statement integer
-1 ... 2147483647 ms
El valor predeterminado es -1.
No
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
El valor predeterminado es error.
No
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
El valor predeterminado es warning.
No
log_parser_stats boolean
on | off
El valor predeterminado es off.
No
log_planner_stats boolean
on | off
El valor predeterminado es off.
No
log_replication_commands boolean
on | off
El valor predeterminado es off.
No
log_statement enumeration
none | ddl | mod | all
Configúralo en mod para registrar todas las declaraciones del lenguaje de definición de datos (DDL), además de declaraciones de modificación de datos, como INSERT, UPDATE, DELETE, TRUNCATE
El valor predeterminado es none.
No
log_statement_stats boolean
on | off
Es posible que no se habilite junto con log_parser_stats, log_planner_stats o log_executor_stats.
El valor predeterminado es off.
No
log_temp_files integer
0 ... 2147483647 KB o -1 para inhabilitar
El valor predeterminado es 0.
No
log_timezone string
Esta marca proporciona a los usuarios de Cloud SQL para PostgreSQL una forma de establecer la zona horaria que se usa en las marcas de tiempo escritas en el registro del servidor.

Debes especificar zonas horarias por nombre. Por ejemplo, Europe/London es el nombre de la zona horaria de Londres.

Debes actualizar esta marca de forma manual, en la instancia principal y en todas las réplicas de lectura, para que se considere.

Los nombres de zona horaria no distinguen entre mayúsculas y minúsculas, por lo que puedes proporcionar el nombre de la zona horaria con cualquiera de ellas.

Admitimos UTC+X como un formato válido para esta marca, en el que X es +/-HH:MM.

logical_decoding_work_mem integer
64 ... 2147483647
El valor predeterminado es 65536.
No
maintenance_io_concurrency integer
0 ... 1000
El valor predeterminado es 10.
No
maintenance_work_mem integer
1024 ... 2147483647 KB
El valor predeterminado es 64 MB.
No
max_connections integer
14 ... varies (see note)
El valor predeterminado depende de la cantidad de memoria de la instancia más grande en la cadena de principales (esta instancia). y, si es una réplica de lectura, su instancia principal y la principal, etc., hasta la raíz del árbol de replicación).
Memoria (GB) en la instancia más grandeValor predeterminado
minúscula (~0.5)25
pequeño (~1.7)50
de 3.75 a < 6100
de 6 a < 7.5200
de 7.5 a < 15400
de 15 a < 30500
de 30 a < 60600
de 60 a < 120800
>=1201,000

El valor en las réplicas debe ser mayor o igual que valor en el principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado. Estos cambios en la instancia principal hacen que la réplica se reinicie.

max_locks_per_transaction integer
10 ... 2,147,483,647
El valor predeterminado es 64.

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado. Estos cambios en la instancia principal hacen que la réplica se reinicie.

max_logical_replication_workers integer
4 ... 8192
El valor predeterminado es 4.
Compatible con PostgreSQL 10 y versiones posteriores.
max_parallel_maintenance_workers integer
0 ... varies
El valor predeterminado es 2.
Compatible con PostgreSQL 11 y versiones posteriores.

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado.

Si el valor en la instancia principal es default, el valor de las réplicas no se puede cambiar. Para cambiar el valor de las réplicas, primero establece el valor de la instancia principal como un número entero.

No
max_parallel_workers integer
0 ... varies
El valor predeterminado es 8.
Compatible con PostgreSQL 10 y versiones posteriores.

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado.

Si el valor en la instancia principal es default, el valor de las réplicas no se puede cambiar. Para cambiar el valor de las réplicas, primero establece el valor de la instancia principal como un número entero.

No
max_parallel_workers_per_gather integer
0 ... varies
El valor predeterminado es 2.

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado.

Si el valor en la instancia principal es default, el valor de las réplicas no se puede cambiar. Para cambiar el valor de las réplicas, primero establece el valor de la instancia principal como un número entero.

No
max_pred_locks_per_page integer
0 ... 2147483647
El valor predeterminado es 2.
Compatible con PostgreSQL 10 y versiones posteriores.
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
El valor predeterminado es -2.
Compatible con PostgreSQL 10 y versiones posteriores.
max_pred_locks_per_transaction integer
641048576
max_prepared_transactions integer
0 ... varies
Tamaño de la memoria (MB)Valor máx.
0 - 3,84030,000
3,840 - 7,68085,000
7,680 - 15,360200,000
15,360 y más262,000

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado. Estos cambios en la instancia principal hacen que la réplica se reinicie.

max_replication_slots integer
10varies
El valor predeterminado es 10.
max_standby_archive_delay integer
02147483647 ms o -1 para esperar por siempre
No
max_standby_streaming_delay integer
02147483647  ms o -1 para esperar por siempre
No
max_sync_workers_per_subscription integer
2 ... 64
No puede ser mayor que max_logical_replication_workers.
No
max_wal_senders integer
10 ... varies
El valor predeterminado es 10.

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado. Estos cambios en la instancia principal hacen que la réplica se reinicie.

max_wal_size integer
2 … 2147483647

La unidad es de 16 MB (el tamaño del archivo WAL) para la versión 9.6 y 1 MB para PostgreSQL 10 y versiones posteriores.

El valor predeterminado es 1504 MB si la memoria de la instancia es mayor o igual que 3.75 GB. El valor predeterminado es 1 GB si la memoria de la instancia es inferior a 3.75 GB.

Para obtener información de uso que podría afectar al ANS, consulta los Lineamientos operativos para instancias de Cloud SQL para PostgreSQL.
No
max_worker_processes integer
8 ... varies

El valor que figura en las réplicas debe ser mayor o igual que el valor que figura en la instancia principal. Los cambios que se realicen a la instancia principal se propagan a las réplicas que tienen un valor menor que el valor nuevo de la principal o que no se cambió del valor predeterminado. Estos cambios en la instancia principal hacen que la réplica se reinicie.

min_parallel_relation_size integer
0 ... 715827882
La unidad es 8 KB
Solo es compatible con PostgreSQL 9.6.
No
min_wal_size integer
32 … 2147483647

La unidad es de 16 MB (el tamaño del archivo WAL) para la versión 9.6 y 1 MB para PostgreSQL 10 y versiones posteriores.

No
old_snapshot_threshold integer
0 ... 86400 min o -1 para inhabilitar
El valor predeterminado es -1.
parallel_setup_cost float
0.0 ... inf
El valor predeterminado es 1000.
No
parallel_tuple_cost float
0.0 ... inf
El valor predeterminado es 0.1.
No
password_encryption enumeration
md5|scram-sha-256

El valor predeterminado depende de la versión de PostgreSQL. Para las versiones de PostgreSQL 10 a 13, el valor predeterminado es md5. Para PostgreSQL 14 y las versiones posteriores, el valor predeterminado es scram-sha-256.

No
pg_bigm.enable_recheck boolean
on | off
No
pg_bigm.gin_key_limit integer
0 … 2147483647
No
pg_bigm.similarity_limit float
0.0 … 1.0
No
pg_hint_plan.enable_hint boolean
on | off
La opción predeterminada es Activado.
No
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
El valor predeterminado es off.
No
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
El valor predeterminado es info.
No
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
El valor predeterminado es log.
No
pg_hint_plan.enable_hint_table boolean
on | off
La opción predeterminada es Desactivado.
No
pglogical.batch_inserts boolean
on | off
El valor predeterminado es off.
pglogical.conflict_log_level String
El valor predeterminado es LOG.
Esta marca acepta los mismos valores que log_min_messages.
No
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins El valor predeterminado es apply_remote.
No
pglogical.extra_connection_options String
Acepta strings de conexión de palabra clave/valor de PostgreSQL.
El valor predeterminado es la string vacía.
No
pglogical.synchronous_commit boolean
on | off
El valor predeterminado es on.
pglogical.use_spi boolean
on | off
El valor predeterminado es off.
pg_stat_statements.max integer
100 ... 2147483647
El valor predeterminado es 5000.
pg_stat_statements.save boolean
on | off
El valor predeterminado es on.
No
pg_stat_statements.track enumeration
none | top | all
El valor predeterminado es top.
No
pg_stat_statements.track_utility boolean
on | off
El valor predeterminado es on.
No
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Puedes proporcionar varias clases con una lista separada por comas y quitar una clase si colocas un signo - antes de esta. El valor predeterminado es none.

No
pgaudit.log_catalog boolean
on | off
El valor predeterminado es on.
No
pgaudit.log_client boolean
on | off
El valor predeterminado es off.
No
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
El valor predeterminado es log. Además, pgaudit.log_level solo se habilita cuando pgaudit.log_client está activado.
No
pgaudit.log_parameter boolean
on | off
El valor predeterminado es off.
No
pgaudit.log_relation boolean
on | off
El valor predeterminado es off.
No
pgaudit.log_statement_once boolean
on | off
El valor predeterminado es off.
No
pgaudit.role string
No hay ningún valor predeterminado.
No
pgtt.enabled boolean
on | off
El valor predeterminado es on.
No
pg_wait_sampling.history_period integer
1 ... 2147483647
No
pg_wait_sampling.history_size integer
1 ... 2147483647
No
pg_wait_sampling.profile_period integer
1 ... 2147483647
No
pg_wait_sampling.profile_pid boolean
on|off
No
pg_wait_sampling.profile_queries boolean
on|off
No
random_page_cost float
0.0 ... inf
El valor predeterminado es 4.
No
rdkit.agent_FP_bit_ratio float
0 ... 3
No
rdkit.avalon_fp_size integer
64 ... 9192
No
rdkit.dice_threshold float
0 ... 1
No
rdkit.difference_FP_weight_agents integer
-10 ... 10
No
rdkit.difference_FP_weight_nonagents integer
1 ... 20
No
rdkit.do_chiral_sss boolean
on|off
No
rdkit.do_enhanced_stereo_sss boolean
on|off
No
rdkit.featmorgan_fp_size integer
64 ... 9192
No
rdkit.hashed_atompair_fp_size integer
64 ... 9192
No
rdkit.hashed_torsion_fp_size integer
64 ... 9192
No
rdkit.ignore_reaction_agents boolean
on|off
No
rdkit.init_reaction boolean
on|off
No
rdkit.layered_fp_size integer
64 ... 9192
No
rdkit.morgan_fp_size integer
64 ... 9192
No
rdkit.move_unmmapped_reactants_to_agents boolean
on|off
No
rdkit.rdkit_fp_size integer
64 ... 9192
No
rdkit.reaction_difference_fp_size integer
64 ... 9192
No
rdkit.reaction_difference_fp_type integer
1 ... 3
No
rdkit.reaction_sss_fp_size integer
64 ... 9192
No
rdkit.reaction_sss_fp_type integer
1 ... 5
No
rdkit.sss_fp_size integer
64 ... 4096
No
rdkit.tanimoto_threshold float
0 ... 1
No
rdkit.threshold_unmapped_reactant_atoms float
0 ... 1
No
replacement_sort_tuples integer
0 ... 2147483647
No
session_replication_role enumeration
origin | replica | local
Solo se puede configurar en la sesión actual
-
shared_buffers integer
El intervalo de tamaño es del 10% al 60% de la memoria de la instancia.
La unidad es 8 KB.
El valor predeterminado es un tercio de la memoria de VM total de la instancia (en MB). Por ejemplo, para 45 GB de memoria de instancia, el valor predeterminado es 15085 MB.
squeeze.max_xlock_time integer
1 ... 2147483647
No
squeeze.worker_autostart string
squeeze.worker_role string
ssl_max_protocol_version enumeration
Postgres 14: Establece la versión máxima del protocolo SSL/TLS que se usará. Los valores válidos son de ssl_min_protocol_version, con la adición de una string vacía, lo que permite especificar cualquier versión de protocolo.
Compatible con PostgreSQL 12 y versiones posteriores.
No
ssl_min_protocol_version enumeration
Postgres 14: Establece la versión mínima del protocolo SSL/TLS que se usará. Actualmente, los valores válidos son: TLSv1, TLSv1.1, TLSv1.2 y TLSv1.3.
El valor predeterminado es TLSv1.
Compatible con PostgreSQL 12 y versiones posteriores.
No
standard_conforming_strings boolean
on | off
El valor predeterminado es on.
No
synchronize_seqscans boolean
on | off
El valor predeterminado es on.
No
tcp_keepalives_count integer
0 ... 2147483647
El valor predeterminado es 5.
No
tcp_keepalives_idle integer
0 ... 2147483647
El valor predeterminado es 60.
No
tcp_keepalives_interval integer
0 ... 2147483647
El valor predeterminado es 60.
No
temp_buffers integer
1001,073,741,823
La unidad es de 8 KB
No
temp_file_limit integer
1048576 ... 2147483647 KB
El valor predeterminado es el 10% del tamaño inicial del disco. Por ejemplo, para un disco de 100 GB, el valor predeterminado es 10262623 KB.
No
TimeZone string
Esta marca proporciona a los usuarios de Cloud SQL para PostgreSQL una forma de establecer la zona horaria a fin de mostrar y analizar marcas de tiempo.

Debes especificar zonas horarias por nombre. Por ejemplo, Europe/London es el nombre de la zona horaria de Londres.

Debes actualizar esta marca de forma manual, en la instancia principal y en todas las réplicas de lectura, para que se considere.

Los nombres de zona horaria no distinguen entre mayúsculas y minúsculas, por lo que puedes proporcionar el nombre de la zona horaria con cualquiera de ellas.

Admitimos UTC+X como un formato válido para esta marca, en el que X es +/-HH.

trace_notify boolean
on | off
El valor predeterminado es off.
No
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
El valor predeterminado es log.
No
trace_sort boolean
on | off
El valor predeterminado es off.
No
track_activities boolean
on | off
El valor predeterminado es on.
No
track_activity_query_size integer
100 ... 102400
El valor predeterminado es 1 KB.
track_commit_timestamp boolean
on | off
El valor predeterminado es off.
track_counts boolean
on | off
El valor predeterminado es on.
No
track_functions enumeration
none | pl | all
El valor predeterminado es none.
No
track_io_timing boolean
on | off
El valor predeterminado es off.
No
vacuum_cost_delay integer
0 ... 100 ms
El valor predeterminado es 0.
No
vacuum_cost_limit integer
1 ... 10000
El valor predeterminado es 200.
No
vacuum_defer_cleanup_age integer
0 ... 1000000
El valor predeterminado es 0.
No
vacuum_failsafe_age integer
0 ... 2100000000
El valor predeterminado es 1600000000.
No
vacuum_freeze_min_age integer
0 ... 1000000000
El valor predeterminado es 50000000.
No
vacuum_freeze_table_age integer
0 ... 2000000000
El valor predeterminado es 150000000.
No
vacuum_multixact_failsafe_age integer
0 ... 2100000000
El valor predeterminado es 1600000000.
No
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
El valor predeterminado es 5000000.
No
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
El valor predeterminado es 150000000.
No
wal_buffers integer
El intervalo de tamaño es del 1% al 50% de la memoria de la instancia.
La unidad es 8 KB.
El valor predeterminado es 16 MB.
wal_compression enumeration
off | on | pglz | lz4 | zstd
El valor predeterminado es off.
No
wal_receiver_timeout integer
0 ... 2147483647
El tiempo predeterminado es 60 segundos.

Esta marca afecta al remitente y al receptor de WAL. Si no se configura de forma correcta, esta marca afecta la replicación lógica y física. Esta marca también afecta la latencia y el rendimiento de la replicación. Un valor de cero inhabilita el mecanismo de tiempo de espera. La unidad es milisegundos.

No
wal_sender_timeout integer
0 ... 2147483647
El tiempo predeterminado es 60 segundos.

Esta marca afecta al remitente y al receptor de WAL. Si no se configura de forma correcta, esta marca afecta la replicación lógica y física. Esta marca también afecta el rendimiento y la latencia de la replicación. Un valor de cero inhabilita el mecanismo de tiempo de espera. La unidad es milisegundos.

No
work_mem integer
64 ... 2147483647 KB
El valor predeterminado es 4 MB.
No

Marcas especiales

bgwriter

PostgreSQL tiene una marca del escritor en segundo plano (bgwriter). Esta marca emite escrituras de búferes compartidos nuevos o modificados. Estos búferes compartidos se conocen como búferes sucios. Cuando la cantidad de búferes compartidos limpios es insuficiente, el escritor en segundo plano escribe búferes sucios en el sistema de archivos y los marca como limpios.

Dos marcas asociadas con la marca bgwriter son bgwriter_delay y bgwriter_lru_maxpages. bgwriter_delay especifica el retraso entre las rondas de actividad del escritor en segundo plano en milisegundos (ms) y bgwriter_lru_maxpages especifica cuántos búferes se escribirán en el escritor en segundo plano.

El valor predeterminado para la marca bgwriter es 200 ms. Sin embargo, si seleccionas una unidad de estado sólido (SSD) superior a 500 GB, el valor de la marca bgwriter_delay se establece en 50 y el valor de la marca bgwriter_lru_maxpages se configura como 200.

Para obtener más información sobre el escritor en segundo plano, consulta la documentación de PostgreSQL.

session_replication_role

PostgreSQL tiene la marca session_replication_role, que está diseñada para usarse en la replicación lógica y te permite inhabilitar los activadores de restricciones en sesiones individuales.

A veces, esta marca también se puede usar para que algunas operaciones de mantenimiento eludan las verificaciones de restricciones (a menudo de clave externa).

Cualquier usuario que tenga la propiedad REPLICATION establecida puede configurar esta marca en una sesión. La propiedad REPLICATION de cualquier usuario se puede establecer mediante cloudsqlsuperuser cuando se establece una de las marcas cloudsql.enable_pglogical o cloudsql.logical_decoding para la instancia.

Esta marca no se puede configurar para toda la instancia.

Soluciona problemas

Problema Soluciona problemas
Configura la zona horaria para una sesión, pero vence cuando cierras sesión.

Conéctate a la base de datos y establece la zona horaria de la base de datos con el valor que desees, ya sea por usuario o por base de datos.

En Cloud SQL para PostgreSQL, puedes especificar lo siguiente. Esta configuración permanece después de que se cierra una sesión, lo que imita una configuración de .conf:

ALTER DATABASE dbname SET TIMEZONE TO 'timezone';
ALTER USER username SET TIMEZONE TO 'timezone';

Esta configuración solo se aplica a las conexiones nuevas a la base de datos. Para ver el cambio en la zona horaria, desconéctate de la instancia y vuelve a conectarte a ella.

¿Qué sigue?