Configura marcas de base 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, la réplica también se reiniciará para alinearse con la configuración actual de la instancia.

Configura marcas de base de datos

Cómo definir una marca de base de datos

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  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 (“=”).

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 siguientes, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

PATCH https://www.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 siguiente:

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 todas las marcas a su valor predeterminado

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  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 si deseas que se reinicie la instancia.

REST v1beta4

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

Antes de usar cualquiera de los datos de solicitud siguientes, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

PATCH https://www.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 siguiente:

Ve 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).

Cómo determinar qué marcas de base de datos se configuraron para una instancia

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

Console

  1. En Google Cloud Console, crea un proyecto nuevo de Cloud Console o selecciona el nombre de un proyecto existente para abrirlo.
  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 v1beta4

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

Antes de usar cualquiera de los datos de solicitud siguientes, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

GET https://www.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

En el caso de una marca determinada, es posible que Cloud SQL sea compatible con un rango 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?
¿En versión beta?
autovacuum boolean
on|off
No No
autovacuum_analyze_scale_factor float
0 ... 100
No No
autovacuum_analyze_threshold integer
0 ... 2147483647
No No
autovacuum_freeze_max_age integer
100000 ... 2000000000
autovacuum_max_workers integer
1varies (see note)

No
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
autovacuum_naptime integer
12147483 s
No No
autovacuum_vacuum_cost_delay integer
0100 ms, o -1 para usar el valor vacuum_cost_delay
No No
autovacuum_vacuum_cost_limit integer
0 10000 o -1 para usar el valor vacuum_cost_limit
No No
autovacuum_vacuum_scale_factor float
0 ... 100
No No
autovacuum_vacuum_threshold integer
0 ... 2147483647
No No
autovacuum_work_mem integer
02147483647 KB o -1 para usar el valor maintenance_work_mem
No
checkpoint_completion_target float
0.0 ... 1.0
No No
checkpoint_timeout integer
3086400 s
No
checkpoint_warning integer
02147483647 s
No No
cloudsql.enable_pgaudit boolean
on | off
No
cloudsql.iam_authentication boolean
on | off
opción predeterminada: off
commit_delay integer
0 ... 100000
No No
commit_siblings integer
0 ... 1000
No No
constraint_exclusion enumeration
partition|on|off
No No
cpu_index_tuple_cost float
0.0 ... inf
No No
cpu_operator_cost float
0.0 ... inf
No No
cpu_tuple_cost float
0.0 ... inf
No No
cursor_tuple_fraction float
0.0 ... 1.0
No No
deadlock_timeout integer
12147483647 ms
No No
default_statistics_target integer
1 ... 10000
No No
default_tablespace string No No
default_transaction_deferrable boolean
on|off
No No
default_transaction_isolation enumeration
serializable|'repeatable read'|'read committed'|'read uncommitted'
No 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
No No
enable_bitmapscan boolean
on|off
No No
enable_hashagg boolean
on|off
No No
enable_hashjoin boolean
on|off
No No
enable_indexonlyscan boolean
on|off
No No
enable_indexscan boolean
on|off
No No
enable_material boolean
on|off
No No
enable_mergejoin boolean
on|off
No No
enable_nestloop boolean
on|off
No No
enable_seqscan boolean
on|off
No No
enable_sort boolean
on|off
No No
enable_tidscan boolean
on|off
No No
force_parallel_mode enumeration
off|on|regress
No No
from_collapse_limit integer
1 ... 2147483647
No No
geqo boolean
on|off
No No
geqo_effort integer
1 ... 10
No No
geqo_generations integer
0 ... 2147483647
No No
geqo_pool_size integer
0 ... 2147483647
No No
geqo_seed float
0.0 ... 1.0
No No
geqo_selection_bias float
1.5 ... 2.0
No No
geqo_threshold integer
2 ... 2147483647
No No
gin_fuzzy_search_limit integer
0 ... 2147483647
No No
gin_pending_list_limit integer
642147483647 KB
No No
hot_standby_feedback boolean
on|off
No No
idle_in_transaction_session_timeout integer
02147483647 ms
No No
join_collapse_limit integer
1 ... 2147483647
No No
lock_timeout integer
02147483647 ms
No No
log_autovacuum_min_duration integer
02147483647 ms o -1 para inhabilitar
No No
log_checkpoints boolean
on|off
No No
log_connections boolean
on|off
No No
log_disconnections boolean
on|off
No No
log_duration boolean
on|off
No No
log_error_verbosity enumeration
terse|default|verbose
No No
log_executor_stats boolean
on|off
No No
log_hostname boolean
on|off
No No
log_lock_waits boolean
on|off
No No
log_min_duration_statement integer
-12147483647 ms
No No
log_min_error_statement enumeration
debug5|debug4|debug3|debug2|debug1|info|notice|warning|error|log|fatal|panic
No No
log_min_messages enumeration
debug5|debug4|debug3|debug2|debug1|info|notice|warning|error|log|fatal|panic
No No
log_parser_stats boolean
on|off
No No
log_planner_stats boolean
on|off
No No
log_replication_commands boolean
on|off
No No
log_statement enumeration
none | ddl | mod | all
Se configura 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 y TRUNCATE
No 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.
No No
log_temp_files integer
02147483647 KB o -1 para inhabilitarlo
No No
maintenance_work_mem integer
10242147483647 KB
No
max_connections integer
14varies (see note)

El valor en las réplicas debe ser >= al valor en el principal. Los cambios en el principal se propagan a las réplicas que tienen un valor menor que el valor nuevo del principal o que no se cambió del valor predeterminado.

max_locks_per_transaction integer
102147483647

El valor en las réplicas debe ser >= al valor en el principal. Los cambios en el principal se propagan a las réplicas que tienen un valor menor que el valor nuevo del principal o que no se cambió del valor predeterminado.

max_prepared_transactions integer
0262143

El valor en las réplicas debe ser >= al valor en el principal. Los cambios en el principal se propagan a las réplicas que tienen un valor menor que el valor nuevo del principal o que no se cambió del valor predeterminado.

max_standby_archive_delay integer
02147483647 ms o -1 para esperar por siempre
No No
max_standby_streaming_delay integer
02147483647  ms o -1 para esperar por siempre
No No
max_wal_size integer
2 … 2147483647

La unidad es de 1 MB para Postgres 10, 11 , 12 y 13. La unidad es de 16 MB (el tamaño del archivo WAL) para la versión 9.6.

No
min_parallel_relation_size integer
0715827882
La unidad es de 8 KB
No No
old_snapshot_threshold integer
086400 min o -1 para inhabilitarlo
No
parallel_setup_cost float
0.0 ... inf
No No
parallel_tuple_cost float
0.0 ... inf
No No
pg_stat_statements.max integer
100 ... 2147483647
No
pg_stat_statements.save boolean
on|off
No No
pg_stat_statements.track enumeration
none|top|all
No No
pg_stat_statements.track_utility boolean
on|off
No 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 No
pgaudit.log_catalog boolean
on | off

El valor predeterminado es on.

No No
pgaudit.log_client boolean
on | off

El valor predeterminado es off.

No 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á activada.

No No
pgaudit.log_parameter boolean
on | off

El valor predeterminado es off.

No No
pgaudit.log_relation boolean
on | off

El valor predeterminado es off.

No No
pgaudit.log_statement_once boolean
on | off

El valor predeterminado es off.

No No
pgaudit.role string

No hay ningún valor predeterminado.

No No
random_page_cost float
0.0 ... inf
No No
replacement_sort_tuples integer
0 ... 2147483647
No No
ssl_max_protocol_version enumeration
Postgres 12: 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.
No No
ssl_min_protocol_version enumeration
Postgres 12: 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.

No No
standard_conforming_strings boolean
on|off
No No
synchronize_seqscans boolean
on|off
No No
temp_buffers integer
1001073741823
La unidad es de 8 KB
No
temp_file_limit integer
10485762147483647 KB
No No
trace_notify boolean
on|off
No No
trace_recovery_messages enumeration
debug5|debug4|debug3|debug2|debug1|log|notice|warning|error
No No
trace_sort boolean
on|off
No No
track_activities boolean
on|off
No No
track_activity_query_size integer
100 ... 102400
No
track_commit_timestamp boolean
on|off
No
track_counts boolean
on|off
No No
track_functions enumeration
none|pl|all
No No
track_io_timing boolean
on|off
No No
vacuum_cost_delay integer
0100 ms
No No
vacuum_cost_limit integer
1 ... 10000
No No
vacuum_freeze_min_age integer
0 ... 1000000000
No No
vacuum_freeze_table_age integer
0 ... 2000000000
No No
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
No No
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
No No
work_mem integer
642147483647 KB
No

Soluciona problemas

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No hay ninguna marca para configurar la zona horaria. No se admite una marca de zona horaria. Hay algunas soluciones alternativas.

No hay ninguna marca para establecer la zona horaria

PostgreSQL y SQL Server para Cloud SQL no admiten una marca de zona horaria para ajustarla según las necesidades del usuario.

Posible problema

No se admite una marca de zona horaria.

Solución

Puedes configurar la zona horaria por sesión, pero esto vencerá cuando cierres la sesión. Lo mejor es conectarte a la base de datos y establecer su zona horaria de la manera deseada, ya sea por usuario o por base de datos:

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

Esta configuración se mantendrá incluso después de que se cierre la sesión, lo que imita la configuración de .conf.

Próximos pasos