Como configurar sinalizações do banco de dados

Nesta página, você verá como configurar sinalizações do banco de dados para o Cloud SQL e relacionar as que podem ser definidas para sua instância. Você usará sinalizações do banco de dados para ajustar os parâmetros e as opções do PostgreSQL. As sinalizações também serão usadas para configurar e ajustar sua instância.

Em alguns casos, para configurar uma sinalização pode ser necessária a configuração de outra sinalização para ativar toda a funcionalidade desejada.

Ao definir, remover ou modificar uma sinalização de uma instância, a instância pode ser reiniciada. O valor da sinalização persiste nessa instância até você removê-lo.

Como configurar sinalizações do banco de dados

Como configurar uma sinalização do banco de dados

Console

  1. No Console do Google Cloud Platform, crie um novo projeto do GCP ou abra um projeto existente, selecionando o nome dele.
  2. Abra a instância e clique em Editar.
  3. Role a tela para baixo até a seção Sinalizações.
  4. Para definir uma sinalização que ainda não tenha sido definida, clique em Adicionar item, selecione a sinalização no menu suspenso e defina o valor.
  5. Clique em Salvar para salvar as alterações.
  6. Confirme as alterações em Sinalizações, na página "Visão geral".

gcloud

Edite a instância:

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

Para sinalizações sem valor, especifique o nome delas seguido de um sinal de igual ("="). Inclua os valores para todas as sinalizações que você queira definir na instância. As sinalizações não incluídas voltam a ter o valor padrão.

cURL

Para definir uma sinalização de uma instância existente:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings" : {"databaseFlags" :
         [{ "name": "<FLAG-NAME>",  "value": "<FLAG-VALUE>" }]}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>

Se houver sinalizações para a instância, modifique o comando anterior para incluí-las. O comando PATCH substitui as sinalizações existentes pelas especificadas na solicitação.

Como redefinir as sinalizações ao valor padrão

Console

  1. No Console do Google Cloud Platform, crie um novo projeto do GCP ou abra um projeto existente, selecionando o nome dele.
  2. Abra a instância e clique em Editar.
  3. Abra a seção Sinalizações do banco de dados.
  4. Clique no X ao lado de todas as sinalizações mostradas.
  5. Clique em Salvar para salvar as alterações.

gcloud

Redefina todas as sinalizações ao valor padrão em uma instância:

gcloud sql instances patch [INSTANCE_NAME] --clear-database-flags

Confirme se a instância será reiniciada.

cURL

Para apagar todas as sinalizações de uma instância existente:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" 
--header 'Content-Type: application/json'
--data '{"settings" : {"databaseFlags" : []}}'
-X PATCH
https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>

Como visualizar os valores atuais dos sinalizadores do banco de dados

Para visualizar todos os valores atuais das configurações do PostgreSQL, faça login na sua instância com o cliente psql e digite a seguinte declaração:

 SELECT name, setting FROM pg_settings;

É possível alterar o valor somente para sinalizações compatíveis (conforme listado abaixo).

Como determinar quais sinalizações do banco de dados foram configuradas para uma instância

Para ver quais sinalizações foram definidas para uma instância do Cloud SQL:

Console

  1. No Console do Google Cloud Platform, crie um novo projeto do GCP ou abra um projeto existente, selecionando o nome dele.
  2. Selecione a instância para abrir a página Visão geral da instância.

    As sinalizações do banco de dados que foram configuradas estão listadas na seção Sinalizações do banco de dados.

gcloud

Veja o estado da instância:

gcloud sql instances describe [INSTANCE_NAME]

Na saída, as sinalizações do banco de dados são listadas em settings como a coleção databaseFlags. Para saber mais sobre a representação dos sinalizadores na saída, consulte Representação do recurso das instâncias.

cURL

Para listar as configurações de uma instância:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" 
--header 'Content-Type: application/json'
-X GET
https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>?fields=settings

Na saída, procure o campo databaseFlags.

Sinalizações aceitas

Para determinada sinalização, o Cloud SQL pode aceitar uma faixa diferente do parâmetro ou opção correspondente do PostgreSQL.

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

Sinalização do Cloud SQL Tipo
Valores aceitos e observações
Reiniciação
Obrigatório?
Em versão Beta?
autovacuum boolean
on | off
Não Não
autovacuum_analyze_scale_factor float
0 ... 100
Não Não
autovacuum_analyze_threshold integer
0 ... 2147483647
Não Não
autovacuum_freeze_max_age integer
100000 ... 2000000000
Sim Sim
autovacuum_max_workers integer
1 ... 262143
Sim Não
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
Sim Sim
autovacuum_naptime integer
1 ... 2147483 s
Não Não
autovacuum_vacuum_cost_delay integer
0 ... 100 ms ou -1 para usar o valor vacuum_cost_delay
Não Não
autovacuum_vacuum_cost_limit integer
0 ... 10000 ou -1 para usar o valor vacuum_cost_limit
Não Não
autovacuum_vacuum_scale_factor float
0 ... 100
Não Não
autovacuum_vacuum_threshold integer
0 ... 2147483647
Não Não
autovacuum_work_mem integer
0 ... 2147483647 KB ou -1 para usar o valor maintenance_work_mem
Não Sim
checkpoint_completion_target float
0.0 ... 1.0
Não Não
checkpoint_timeout integer
30 ... 86400 s
Não Sim
checkpoint_warning integer
0 ... 2147483647 s
Não Não
commit_delay integer
0 ... 100000
Não Não
commit_siblings integer
0 ... 1000
Não Não
constraint_exclusion enumeration
partition | on | off
Não Não
cpu_index_tuple_cost float
0.0 ... inf
Não Não
cpu_operator_cost float
0.0 ... inf
Não Não
cpu_tuple_cost float
0.0 ... inf
Não Não
cursor_tuple_fraction float
0.0 ... 1.0
Não Não
deadlock_timeout integer
1 ... 2147483647 ms
Não Não
default_statistics_target integer
1 ... 10000
Não Não
default_tablespace string Não Não
default_transaction_deferrable boolean
on | off
Não Não
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
Não Não
enable_bitmapscan boolean
on | off
Não Não
enable_hashagg boolean
on | off
Não Não
enable_hashjoin boolean
on | off
Não Não
enable_indexonlyscan boolean
on | off
Não Não
enable_indexscan boolean
on | off
Não Não
enable_material boolean
on | off
Não Não
enable_mergejoin boolean
on | off
Não Não
enable_nestloop boolean
on | off
Não Não
enable_seqscan boolean
on | off
Não Não
enable_sort boolean
on | off
Não Não
enable_tidscan boolean
on | off
Não Não
force_parallel_mode enumeration
off | on | regress
Não Não
from_collapse_limit integer
1 ... 2147483647
Não Não
geqo boolean
on | off
Não Não
geqo_effort integer
1 ... 10
Não Não
geqo_generations integer
0 ... 2147483647
Não Não
geqo_pool_size integer
0 ... 2147483647
Não Não
geqo_seed float
0.0 ... 1.0
Não Não
geqo_selection_bias float
1.5 ... 2.0
Não Não
geqo_threshold integer
2 ... 2147483647
Não Não
gin_fuzzy_search_limit integer
0 ... 2147483647
Não Não
gin_pending_list_limit integer
64 ... 2147483647 KB
Não Não
hot_standby_feedback boolean
on | off
Não Não
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
Não Não
join_collapse_limit integer
1 ... 2147483647
Não Não
lock_timeout integer
0 ... 2147483647 ms
Não Não
log_autovacuum_min_duration integer
0 ... 2147483647 ms ou -1 para desativar
Não Não
log_checkpoints boolean
on | off
Não Não
log_connections boolean
on | off
Não Não
log_disconnections boolean
on | off
Não Não
log_duration boolean
on | off
Não Não
log_error_verbosity enumeration
terse | default | verbose
Não Não
log_executor_stats boolean
on | off
Não Não
log_hostname boolean
on | off
Não Não
log_lock_waits boolean
on | off
Não Não
log_min_duration_statement integer
-1 ... 2147483647 ms
Não Não
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Não Não
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Não Não
log_parser_stats boolean
on | off
Não Não
log_planner_stats boolean
on | off
Não Não
log_replication_commands boolean
on | off
Não Não
log_statement enumeration
none | ddl | mod | all
Não Não
log_statement_stats boolean
Pode não estar ativado junto com log_parser_stats, log_planner_stats ou log_executor_stats.
Não Não
log_temp_files integer
0 ... 2147483647 KB ou -1 para desativar
Não Não
maintenance_work_mem integer
1024 ... 2147483647 KB
Não Sim
max_connections integer
14 ... 262143

O valor nas réplicas precisa ser >= o valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Sim Sim
max_locks_per_transaction integer
10 ... 2147483647

O valor nas réplicas precisa ser >= o valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Sim Sim
max_prepared_transactions integer
0 ... 262143

O valor nas réplicas precisa ser >= o valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Sim Sim
max_standby_archive_delay integer
0 ... 2147483647 ms ou -1 para aguardar para sempre
Não Não
max_standby_streaming_delay integer
0 ... 2147483647 ms ou -1 para aguardar para sempre
Não Não
max_wal_size integer
2 ... 2147483647

A unidade é 16 MB para Postgres 9.6. O tamanho padrão da unidade é 1 MB para o Postgres 11.1

Não Sim
min_parallel_relation_size integer
0 ... 715827882
Unidade é de 8 KB
Não Não
old_snapshot_threshold integer
0 ... 86400 min ou -1 para desativar
Sim Não
parallel_setup_cost float
0.0 ... inf
Não Não
parallel_tuple_cost float
0.0 ... inf
Não Não
pg_stat_statements.max integer
100 ... 2147483647
Sim Não
pg_stat_statements.save boolean
on | off
Não Não
pg_stat_statements.track enumeration
none | top | all
Não Não
pg_stat_statements.track_utility boolean
on | off
Não Não
random_page_cost float
0.0 ... inf
Não Não
replacement_sort_tuples integer
0 ... 2147483647
Não Não
standard_conforming_strings boolean
on | off
Não Não
synchronize_seqscans boolean
on | off
Não Não
temp_buffers integer
100 ... 1073741823
Unidade é de 8 KB
Não Sim
temp_file_limit integer
1048576 ... 2147483647 KB
Não Não
trace_notify boolean
on | off
Não Não
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
Não Não
trace_sort boolean
on | off
Não Não
track_activities boolean
on | off
Não Não
track_activity_query_size integer
100 ... 102400
Sim Não
track_commit_timestamp boolean
on | off
Sim Não
track_counts boolean
on | off
Não Não
track_functions enumeration
none | pl | all
Não Não
track_io_timing boolean
on | off
Não Não
vacuum_cost_delay integer
0 100 ms
Não Não
vacuum_cost_limit integer
1 ... 10000
Não Não
vacuum_freeze_min_age integer
0 ... 1000000000
Não Não
vacuum_freeze_table_age integer
0 ... 2000000000
Não Não
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
Não Não
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
Não Não
work_mem integer
64 ... 2147483647 KB
Não Sim

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud SQL para PostgreSQL