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
- 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.
- Abre la instancia y haz clic en Editar.
- Ve a la sección Banderas.
- 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.
- Haz clic en Guardar para guardar los cambios.
- 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.
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
- Abre Cloud Shell.
-
Define el Google Cloud proyecto 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).
-
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 comomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
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
-
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.
-
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!".
- 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:
- Para inhabilitar la protección contra la eliminación, en el archivo de configuración de Terraform, asigna el valor
false
al argumentodeletion_protection
.deletion_protection = "false"
- Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
-
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
- En la Google Cloud consola, selecciona el proyecto que contiene la instancia de Cloud SQL de la que quieres borrar todas las marcas.
- Abre la instancia y haz clic en Editar.
- Abre la sección de marcas de base de datos.
- Haz clic en la X situada junto a todas las alertas que se muestren.
- 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 clientepsql
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
- 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.
- 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. |
Sí |
autovacuum_max_workers | integer 1 ... varies (see note)
El valor predeterminado es 3. |
Sí |
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. |
Sí |
autovacuum_naptime | integer 1 ... 2147483 s
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,400 s
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 ... 2147483647 s
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 .
|
Sí |
cloudsql.enable_index_advisor |
boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.enable_maintenance_mode |
boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.enable_pgaudit | boolean on | off
El valor predeterminado es off. |
Sí |
cloudsql.enable_pg_bigm |
boolean on | off
Valor predeterminado: off
|
Sí |
cloudsql.enable_pg_cron |
boolean on | off
El valor predeterminado es off .
Compatible con PostgreSQL 10 y versiones posteriores. |
Sí |
cloudsql.enable_pg_hint_plan |
boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.enable_pglogical |
boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.enable_pg_squeeze |
boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.enable_pg_wait_sampling | boolean on | off
|
Sí |
cloudsql.iam_authentication | boolean on | off
El valor predeterminado es off .
|
No |
cloudsql.logical_decoding | boolean on | off
El valor predeterminado es off .
|
Sí |
cloudsql.max_failed_attempts_user | integer 0 ... 10000
El valor predeterminado es 10. |
Sí |
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. |
Sí |
cron.log_statement | boolean
on | off
El valor predeterminado es activado. Compatible con PostgreSQL 10 y versiones posteriores. |
Sí |
cron.log_run | boolean
on | off
El valor predeterminado es activado. Compatible con PostgreSQL 10 y versiones posteriores. |
Sí |
cron.max_running_jobs | Integer
0 ... varies
El valor predeterminado es 5. Compatible con PostgreSQL 10 y versiones posteriores. |
Sí |
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. |
Sí |
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 |