Configurar marcas de bases de datos

En esta página se describe cómo configurar marcas de bases de datos en Cloud SQL y se enumeran las marcas que puedes definir en tu instancia. Las marcas de bases de datos se usan en muchas operaciones, como ajustar los parámetros de PostgreSQL, ajustar las opciones y configurar y optimizar una instancia.

En algunos casos, para habilitar completamente la función que quieres usar, es posible que tengas que definir otra marca.

Cuando define, quita o modifica una marca de una instancia de base de datos, es posible que la base de datos se reinicie. El valor de la marca se conserva en la instancia hasta que lo elimines. Si la instancia es el origen de una réplica y se reinicia, la réplica también se reinicia para adaptarse a la configuración actual de la instancia.

Configurar marcas de bases de datos

En las siguientes secciones se describen las tareas habituales de gestión de denuncias.

Definir una marca de base de datos

Consola

  1. En la Google Cloud consola, selecciona el proyecto que contiene la instancia de Cloud SQL para la que quieras definir una marca de base de datos.
  2. Abre la instancia y haz clic en Editar.
  3. Ve a la sección Banderas.
  4. Si quieres configurar una marca que no se haya establecido previamente en la instancia, haz clic en Añadir elemento, elige la marca en el menú desplegable y establece su valor.
  5. Haz clic en Guardar para guardar los cambios.
  6. Confirma los cambios en la sección de marcas de la página de la visión general.

gcloud

Edita la instancia:

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

Este comando sobrescribirá todas las marcas de la base de datos que se hayan definido anteriormente. Para mantenerlos y añadir otros, incluya los valores de todas las marcas que quiera definir en la instancia. Las marcas que no se incluyan específicamente se definirán con su valor predeterminado. En el caso de las marcas que no aceptan ningún valor, especifica el nombre de la marca seguido de un signo igual ("=").

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

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

Terraform

Para añadir 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 la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

Preparar 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 en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.

Eliminar los cambios

Para eliminar los cambios, sigue estos pasos:

  1. Para inhabilitar la protección contra la eliminación, en el archivo de configuración de Terraform, asigna el valor false al argumento deletion_protection.
    deletion_protection =  "false"
  2. Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply
  1. Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce yes en la petición:

    terraform destroy

REST v1

Para definir una marca en una base de datos, sigue estos pasos:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Si ya hay marcas configuradas para la base de datos, modifica el comando anterior para incluirlas. El comando PATCH sustituye las marcas actuales por las especificadas en la petición.

REST v1beta4

Para definir una marca en una base de datos, sigue estos pasos:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Si ya hay marcas configuradas para la base de datos, modifica el comando anterior para incluirlas. El comando PATCH sustituye las marcas actuales por las especificadas en la petición.

Borrar todas las marcas y restablecer sus valores predeterminados

Consola

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

gcloud

Restablece el valor predeterminado de todas las marcas de una instancia de este modo:

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

Se te pedirá que aceptes que la instancia se reinicie.

REST v1

Si quieres borrar todas las marcas de una instancia, usa este método:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

Si quieres borrar todas las marcas de una instancia, usa este método:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • project-id: el ID del proyecto
  • instance-id: el ID de 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Ver los valores actuales de las marcas de bases de datos

Para ver todos los valores actuales de la configuración de PostgreSQL, inicia sesión en tu instancia con el cliente psql e introduce la siguiente instrucción:

 SELECT name, setting FROM pg_settings;

Ten en cuenta que solo puedes cambiar el valor de las marcas admitidas como se detalla a continuación.

Determinar qué marcas de bases de datos se han definido en una instancia

Para ver qué marcas se han definido en una instancia de Cloud SQL, sigue estos pasos:

Consola

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

    Las marcas de base de datos establecidas se pueden consultar en la sección sobre marcas de base de datos.

gcloud

Obtén el estado de la instancia:

gcloud sql instances describe INSTANCE_NAME

En la salida, las marcas de bases de datos se muestran en settings como la colección databaseFlags. Para obtener más información sobre la representación de las marcas en el resultado, consulta Representación del recurso Instances.

REST v1

Si quieres identificar los indicadores configurados en una instancia, usa este método:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

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

Método HTTP y URL:

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

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

En el resultado, busca el campo databaseFlags.

REST v1beta4

Si quieres identificar los indicadores configurados en una instancia, usa este método:

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

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

Método HTTP y URL:

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

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

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, Cloud SQL puede admitir un valor o un intervalo diferente del parámetro o la opción de PostgreSQL correspondiente.

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

Marca Cloud SQL Tipo
Valores aceptables y notas
¿Es necesario reiniciar
?
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
El valor predeterminado es desactivado.
No
anon.salt String
No hay ningún valor predeterminado.
No
anon.sourceschema String
El valor predeterminado es público.
No
auto_explain.log_analyze boolean
on | off
El valor predeterminado es desactivado.
No
auto_explain.log_buffers boolean
on | off
El valor predeterminado 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
El valor predeterminado es desactivado.
No
auto_explain.log_settings boolean
on | off
El valor predeterminado es desactivado.
Compatible con PostgreSQL 12 y versiones posteriores.
No
auto_explain.log_timing boolean
on | off
El valor predeterminado es activado.
No
auto_explain.log_triggers boolean
on | off
El valor predeterminado es desactivado.
No
auto_explain.log_wal boolean
on | off
El valor predeterminado es desactivado.
Compatible con PostgreSQL 13 y versiones posteriores.
No
auto_explain.log_verbose boolean
on | off
El valor predeterminado es desactivado.
No
auto_explain.sample_rate Float
0 ... 1
El valor predeterminado es 1.
No
autovacuum boolean
on | off
El valor predeterminado es activado.
Para obtener información sobre el uso que pueda afectar al SLA, consulta las directrices operativas de las 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 sobre el uso que pueda afectar al SLA, consulta las directrices operativas de las 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 sobre el uso que pueda afectar al SLA, consulta las directrices operativas de las instancias de Cloud SQL para PostgreSQL.
autovacuum_naptime integer
1 ... 2147483s
El valor predeterminado es 60 s.
No
autovacuum_vacuum_cost_delay integer
0 ... 100 ms o -1 para usar el valor vacuum_cost_delay
En 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 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 maintenance_work_mem.
El valor predeterminado es -1.
No
backend_flush_after integer
0 ... 256
La unidad es 8 KB.
El valor predeterminado es 0.
No
bgwriter_delay integer
10 ... 10000 ms
El valor predeterminado es 200.
No
bgwriter_flush_after integer
0 ... 256
La unidad es 8 KB.
El valor predeterminado es 64.
No
bgwriter_lru_maxpages integer
0 ... 1073741823
El valor predeterminado es 100.
No
bgwriter_lru_multiplier Float
0 ... 10
El valor predeterminado es 2.
No
checkpoint_completion_target float
0.0 ... 1.0
El valor predeterminado es 0,9.
No
checkpoint_flush_after integer
0 ... 256
La unidad es 8 KB.
El valor predeterminado es 32.
No
checkpoint_timeout integer
30 ... 86,400s
El valor predeterminado es 300s.
Para obtener información sobre el uso que pueda afectar al SLA, consulta las directrices operativas de las instancias de Cloud SQL para PostgreSQL.
No
checkpoint_warning integer
0 ... 2147483647s
El valor predeterminado es 30 s.
No
client_connection_check_interval integer
0 ... 2147483647
El valor predeterminado es 0.
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_index_advisor 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 activado.
Compatible con PostgreSQL 10 y versiones posteriores.
cron.log_run boolean
on | off
El valor predeterminado es activado.
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 1000 ms.
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 Desactivado.
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 la máquina virtual. Por ejemplo, en una instancia con 45 GB de memoria, el valor predeterminado es 18537160 KB.
No
effective_io_concurrency integer
0 ... 1000
El valor predeterminado es 1.
No
enable_async_append boolean
on | off
El valor predeterminado es activado.
No
enable_bitmapscan boolean
on | off
El valor predeterminado es activado.
No
enable_gathermerge boolean
on | off
El valor predeterminado es activado.
No
enable_incremental_sort boolean
on | off
El valor predeterminado es activado.
No
enable_memoize boolean
on | off
El valor predeterminado es activado.
No
enable_parallel_append boolean
on | off
El valor predeterminado es activado.
No
enable_parallel_hash boolean
on | off
El valor predeterminado es activado.
No
enable_partition_pruning boolean
on | off
El valor predeterminado es activado.
No
enable_partitionwise_aggregate boolean
on | off
El valor predeterminado es Desactivado.
No
enable_partitionwise_join boolean
on | off
El valor predeterminado es Desactivado.
No
enable_hashagg boolean
on | off
El valor predeterminado es activado.
No
enable_hashjoin boolean
on | off
El valor predeterminado es activado.
No
enable_indexonlyscan boolean
on | off
El valor predeterminado es activado.
No
enable_indexscan boolean
on | off
El valor predeterminado es activado.
No
enable_material boolean
on | off
El valor predeterminado es activado.
No
enable_mergejoin boolean
on | off
El valor predeterminado es activado.
No
enable_nestloop boolean
on | off
El valor predeterminado es activado.
No
enable_seqscan boolean
on | off
El valor predeterminado es activado.
No
enable_sort boolean
on | off
El valor predeterminado es activado.
No
enable_tidscan boolean
on | off
El valor predeterminado es activado.
No
force_parallel_mode enumeration
off | on | regress
El valor predeterminado es desactivado.
No
from_collapse_limit integer
1 ... 2147483647
El valor predeterminado es 8.
No
geqo boolean
on | off
El valor predeterminado es activado.
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 ... 2147483647 KB
El valor predeterminado es 4096 KB.
No
hash_mem_multiplier float
1 ... 1000
El valor predeterminado es 2.
No
hot_standby_feedback boolean
on | off
El valor predeterminado es Desactivado.
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
local_preload_libraries String
Esta marca te permite especificar una o varias bibliotecas compartidas que se precargan al inicio de una conexión de base de datos, en una lista separada por comas.
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 Desactivado.
No
log_connections boolean
on | off
El valor predeterminado es Desactivado.
No
log_disconnections boolean
on | off
El valor predeterminado es Desactivado.
No
log_duration boolean
on | off
El valor predeterminado es Desactivado.
No
log_error_verbosity enumeration
terse | default | verbose
El valor predeterminado es default.
No
log_executor_stats boolean
on | off
El valor predeterminado es Desactivado.
No
log_hostname boolean
on | off
El valor predeterminado es Desactivado.
No
log_line_prefix String
Cadena de estilo printf que se genera al principio 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 del proceso, la base de datos y el nombre de usuario.
No
log_lock_waits boolean
on | off
El valor predeterminado es Desactivado.
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 advertencia.
No
log_parser_stats boolean
on | off
El valor predeterminado es Desactivado.
No
log_planner_stats boolean
on | off
El valor predeterminado es Desactivado.
No
log_recovery_conflict_waits boolean
on | off
El valor predeterminado es Desactivado.
No
log_replication_commands boolean
on | off
El valor predeterminado es Desactivado.
No
log_statement enumeration
none | ddl | mod | all
Se define como mod para registrar todas las instrucciones del lenguaje de definición de datos (DDL), así como las instrucciones de modificación de datos, como INSERT, UPDATE, DELETE y TRUNCATE.
El valor predeterminado es none.
No
log_statement_stats boolean
on | off
Puede que no se habilite junto con log_parser_stats, log_planner_stats o log_executor_stats.
El valor predeterminado es desactivado.
No
log_temp_files integer
0 ... 2147483647 KB o -1 para inhabilitar
El valor predeterminado es 0.
No
log_timezone string
Esta marca ofrece a los usuarios de Cloud SQL para PostgreSQL una forma de definir la zona horaria que se utiliza para las marcas de tiempo que se escriben en el registro del servidor.

Las zonas horarias se especifican por nombre. Por ejemplo, Europe/London es el nombre de la zona horaria de Londres.

Debes actualizar este indicador manualmente en la instancia principal y en todas las réplicas de lectura para tenerlo en cuenta.

En los nombres de las zonas horarias no se distingue entre mayúsculas y minúsculas. Puede proporcionar el nombre de la zona horaria en cualquier caso.

Admitimos UTC+X como formato válido para esta marca, donde 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 de la cadena de principales (esta instancia y, si es una réplica de lectura, su principal, el principal de su principal, etc., hasta la raíz del árbol de replicación).
Memoria (GB) en la instancia más grandeValor predeterminado
mínima (aproximadamente 0,5)25
pequeño (aproximadamente 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
>=1201000

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado. Estos cambios en el elemento principal provocan que se reinicie la réplica.

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

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado. Estos cambios en el elemento principal provocan que se reinicie la réplica.

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 de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado.

Si el valor del elemento principal es default, no se puede cambiar el valor de las réplicas. Para cambiar el valor de las réplicas, primero asigna un número entero al valor del elemento principal.

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

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado.

Si el valor del elemento principal es default, no se puede cambiar el valor de las réplicas. Para cambiar el valor de las réplicas, primero asigna un número entero al valor del elemento principal.

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

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado.

Si el valor del elemento principal es default, no se puede cambiar el valor de las réplicas. Para cambiar el valor de las réplicas, primero asigna un número entero al valor del elemento principal.

No
max_pred_locks_per_page integer
0 ... 2147483647
El valor predeterminado es 2.
Compatible con PostgreSQL 10 y versiones posteriores.
No
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
El valor predeterminado es -2.
Compatible con PostgreSQL 10 y versiones posteriores.
No
max_pred_locks_per_transaction integer
64 ... 1048576
max_prepared_transactions integer
0 ... varies
Tamaño de la memoria (MB)Valor máximo
0 - 384030.000
3840 - 768085.000
7680 - 15360200.000
15.360 y más262.000

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado. Estos cambios en el elemento principal provocan que se reinicie la réplica.

max_replication_slots integer
10 ... varies
El valor predeterminado es 10.
max_standby_archive_delay integer
0 ... 2147483647 ms, o -1 para esperar indefinidamente
No
max_standby_streaming_delay integer
0 ... 2147483647  ms o -1 para esperar indefinidamente
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 de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado. Estos cambios en el elemento principal provocan que se reinicie la réplica.

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 de 1 MB para PostgreSQL 10 y versiones posteriores.

El valor predeterminado es 1504 MB si la memoria de la instancia es igual o superior a 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 sobre el uso que pueda afectar al SLA, consulta las directrices operativas de las instancias de Cloud SQL para PostgreSQL.
No
max_worker_processes integer
8 ... varies

El valor de las réplicas debe ser superior o igual al del elemento principal. Los cambios en el elemento principal se propagan en las réplicas que tienen un valor inferior al valor nuevo de dicho elemento principal o cuyo valor sea igual al predeterminado. Estos cambios en el elemento principal provocan que se reinicie la réplica.

min_parallel_index_scan_size integer
0 ... 715827882 La unidad
es de 8 KB
No
min_parallel_table_scan_size integer
0 ... 715827882 La unidad
es de 8 KB
No
min_parallel_relation_size integer
0 ... 715827882
La unidad es 8 KB
Solo se admite en 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 de 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. En las versiones 10 a 13 de PostgreSQL, el valor predeterminado es md5. En PostgreSQL 14 y 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
El valor predeterminado 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 desactivado.
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
El valor predeterminado 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 cadenas de conexión de PostgreSQL palabra clave/valor.
El valor predeterminado es una cadena 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 activado.
No
pg_stat_statements.track enumeration
none | top | all
El valor predeterminado es arriba.
No
pg_stat_statements.track_utility boolean
on | off
El valor predeterminado es activado.
No
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Puedes proporcionar varias clases mediante una lista separada por comas y restar una clase añadiendo el signo - delante de ella. 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
pgaudit.log_rows boolean
Esta opción está desactivada de forma predeterminada.
No
pgtt.enabled boolean
on | off
El valor predeterminado es activado.
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
plan_cache_mode

String
auto|force_generic_plan|force_custom_plan
El valor predeterminado es automático.
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 definir en la sesión actual
-
seq_page_cost float
0.0 ... inf
El valor predeterminado es 1.0.
No
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 total de la máquina virtual 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: define la versión máxima del protocolo SSL/TLS que se va a usar. Los valores válidos son los mismos que para ssl_min_protocol_version, con la adición de una cadena vacía, que permite especificar cualquier versión del protocolo.
Compatible con PostgreSQL 12 y versiones posteriores.
No
ssl_min_protocol_version enumeration
Postgres 14: define la versión mínima del protocolo SSL/TLS que se va a 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 activado.
No
synchronize_seqscans boolean
on | off
El valor predeterminado es activado.
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
100 ... 1,073,741,823
La unidad es 8 KB
No
temp_file_limit integer
1048576 ... 2147483647 KB
El valor predeterminado es el 10% del tamaño inicial del disco. Por ejemplo, en un disco de 100 GB, el valor predeterminado es 10262623 KB.
No
TimeZone string
Esta marca ofrece a los usuarios de Cloud SQL para PostgreSQL una forma de definir la zona horaria para mostrar y analizar las marcas de tiempo.

Las zonas horarias se especifican por nombre. Por ejemplo, Europe/London es el nombre de la zona horaria de Londres.

Debes actualizar este indicador manualmente en la instancia principal y en todas las réplicas de lectura para tenerlo en cuenta.

En los nombres de las zonas horarias no se distingue entre mayúsculas y minúsculas. Puede proporcionar el nombre de la zona horaria en cualquier caso.

Admitimos UTC+X como formato válido para esta marca, donde X es +/-HH.

trace_notify boolean
on | off
El valor predeterminado es Desactivado.
No
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
El valor predeterminado es registro.
No
trace_sort boolean
on | off
El valor predeterminado es Desactivado.
No
track_activities boolean
on | off
El valor predeterminado es activado.
No
track_activity_query_size integer
100 ... 102400
El valor predeterminado es 1 KB.
track_commit_timestamp boolean
on | off
El valor predeterminado es Desactivado.
track_counts boolean
on | off
El valor predeterminado es activado.
No
track_functions enumeration
none | pl | all
El valor predeterminado es none.
No
track_io_timing boolean
on | off
El valor predeterminado es Desactivado.
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_cost_page_dirty integer
0 ... 10000
El valor predeterminado es 20.
No
vacuum_cost_page_hit integer
0 ... 10000
El valor predeterminado es 1.
No
vacuum_cost_page_miss integer
0 ... 10000
El valor predeterminado es 10.
No
vacuum_failsafe_age integer
0 ... 2100000000
El valor predeterminado es 1600000000.
No
vacuum_freeze_min_age integer
0 ... 1000000000
El valor predeterminado es 50.000.000.
No
vacuum_freeze_table_age integer
0 ... 2000000000
El valor predeterminado es 150.000.000.
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 150.000.000.
No
wal_buffers integer
El intervalo de tamaño es de entre el -1 y el 5% 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 valor predeterminado es 60 segundos.

Este indicador afecta al remitente y al receptor de WAL. Si no se define correctamente, esta marca afecta a la replicación lógica y física. Esta marca también afecta al rendimiento y la latencia de la replicación. El valor cero inhabilita el mecanismo de tiempo de espera. La unidad es milisegundos.

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

Este indicador afecta al remitente y al receptor de WAL. Si no se define correctamente, esta marca afecta a la replicación lógica y física. Esta marca también afecta al rendimiento y la latencia de la réplica. El valor cero inhabilita el mecanismo de tiempo de espera. La unidad es milisegundos.

No
wal_writer_delay integer
1 ... 10000
El valor predeterminado es 200.
No
wal_writer_flush_after integer
0 ... 2147483647
El valor predeterminado es 128.
No
work_mem integer
64 ... 2147483647 KB
El valor predeterminado es 4 MB.
No

Marcas especiales

bgwriter

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

Las dos marcas asociadas a 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 escribirá el escritor en segundo plano.

El valor predeterminado de la marca bgwriter es 200 ms. Sin embargo, si seleccionas una unidad de estado sólido (SSD) de más de 500 GB, el valor de la marca bgwriter_delay se definirá como 50 y el de la marca bgwriter_lru_maxpages, como 200.

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

session_replication_role

PostgreSQL tiene la marca session_replication_role, que se ha diseñado 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 algunas operaciones de mantenimiento con el fin de eludir las comprobaciones de restricciones (normalmente, de claves externas).

Cualquier usuario que tenga la propiedad REPLICATION puede definir esta marca en una sesión. El valor de la propiedad REPLICATION de cualquier usuario se puede definir mediante cloudsqlsuperuser cuando se establece una de las marcas cloudsql.enable_pglogical o cloudsql.logical_decoding en la instancia.

Esta marca no se puede definir para toda la instancia.

Solución de problemas

Problema Solución de problemas
Defines la zona horaria de una sesión, pero caduca cuando cierras sesión.

Conéctate a la base de datos y define la zona horaria que quieras, ya sea por usuario o por base de datos.

En Cloud SQL para PostgreSQL, puede especificar lo siguiente. Estos ajustes se conservan después de cerrar una sesión, lo que simula una configuración de .conf:

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

Estos ajustes solo se aplican a las nuevas conexiones a la base de datos. Para ver el cambio de zona horaria, desconéctate de la instancia y vuelve a conectarte.

Siguientes pasos