PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Folha de referência de configuração do PostgreSQL


PostgreSQL vem com uma tonelada de definições de configuração, mas com documentação espalhada por todo o Manual! Aqui está uma folha de dicas útil de todas as opções de configuração do Postgres 10, divididas em categorias, com links clicáveis ​​que vão para a documentação oficial. Aproveite!

Autovacuum

autovácuo Inicia o subprocesso de autovacuum.
autovacuum_analyze_scale_factor Número de inserções, atualizações ou exclusões de tuplas antes da análise como uma fração de reltuplas.
autovacuum_analyze_threshold Número mínimo de inserções, atualizações ou exclusões de tuplas antes da análise.
autovacuum_freeze_max_age Idade em que uma tabela deve ser esvaziada automaticamente para evitar a quebra do ID da transação.
autovacuum_max_workers Define o número máximo de processos de trabalho de autovacuum em execução simultânea.
autovacuum_multixact_freeze_max_age Multixact idade para autovacuar uma tabela para evitar o multixact wraparound.
autovacuum_naptime Tempo para dormir entre execuções de autovacuum.
autovacuum_vacuum_cost_delay Atraso de custo de vácuo em milissegundos, para vácuo automático.
autovacuum_vacuum_cost_limit Valor do custo do aspirador disponível antes do cochilo, para o aspirador automático.
autovacuum_vacuum_scale_factor Número de atualizações ou exclusões de tuplas antes do vácuo como uma fração de reltuplas.
autovacuum_vacuum_threshold Número mínimo de atualizações ou exclusões de tuplas antes do vácuo.

Padrões de conexão do cliente/local e formatação

client_encoding Define a codificação do conjunto de caracteres do cliente.
Estilo de data Define o formato de exibição para valores de data e hora.
default_text_search_config Define a configuração de pesquisa de texto padrão.
extra_float_digits Define o número de dígitos exibidos para valores de ponto flutuante.
IntervalStyle Define o formato de exibição para valores de intervalo.
lc_collate Mostra a localidade da ordem de ordenação.
lc_ctype Mostra a classificação de caracteres e a localidade de conversão de maiúsculas e minúsculas.
lc_messages Define o idioma no qual as mensagens são exibidas.
lc_monetário Define a localidade para formatar valores monetários.
lc_numeric Define a localidade para formatar números.
lc_time Define a localidade para formatar valores de data e hora.
server_encoding Define a codificação do conjunto de caracteres do servidor (banco de dados).
Fuso Horário Define o fuso horário para exibir e interpretar carimbos de hora.
timezone_abbreviations Seleciona um arquivo de abreviações de fuso horário.

Padrões de conexão do cliente/outros padrões

dynamic_library_path Define o caminho para módulos carregáveis ​​dinamicamente.
gin_fuzzy_search_limit Define o resultado máximo permitido para pesquisa exata por GIN.
tcp_keepalives_count Número máximo de retransmissões de manutenção de atividade TCP.
tcp_keepalives_idle Tempo entre a emissão de keepalives TCP.
tcp_keepalives_interval Tempo entre retransmissões de manutenção de atividade TCP.

Padrões de conexão do cliente/pré-carregamento de biblioteca compartilhada

local_preload_libraries Lista bibliotecas compartilhadas sem privilégios para pré-carregar em cada back-end.
session_preload_libraries Lista as bibliotecas compartilhadas para pré-carregar em cada back-end.
shared_preload_libraries Lista as bibliotecas compartilhadas para pré-carregar no servidor.

Padrões de conexão do cliente/comportamento da instrução

bytea_output Define o formato de saída para bytea.
check_function_bodies Verifique os corpos das funções durante CREATE FUNCTION.
default_tablespace Define o tablespace padrão para criar tabelas e índices.
default_transaction_deferrable Define o status adiável padrão de novas transações.
default_transaction_isolation Define o nível de isolamento da transação de cada nova transação.
default_transaction_read_only Define o status padrão somente leitura de novas transações.
gin_pending_list_limit Define o tamanho máximo da lista pendente para o índice GIN.
idle_in_transaction_session_timeout Define a duração máxima permitida de qualquer transação inativa.
lock_timeout Define a duração máxima permitida de qualquer espera por um bloqueio.
search_path Define a ordem de pesquisa do esquema para nomes que não são qualificados pelo esquema.
session_replication_role Define o comportamento da sessão para acionadores e regras de reescrita.
statement_timeout Define a duração máxima permitida de qualquer instrução.
temp_tablespaces Define os tablespaces a serem usados ​​para tabelas temporárias e arquivos de classificação.
transaction_deferrable Se adiar uma transação serializável somente leitura até que possa ser executada sem possíveis falhas de serialização.
isolamento_transação Define o nível de isolamento da transação atual.
transaction_read_only Define o status somente leitura da transação atual.
vacuum_freeze_min_age Idade mínima em que VACUUM deve congelar uma linha da tabela.
vacuum_freeze_table_age Idade em que VACUUM deve varrer a tabela inteira para congelar tuplas.
vacuum_multixact_freeze_min_age Idade mínima em que VACUUM deve congelar um MultiXactId em uma linha da tabela.
vacuum_multixact_freeze_table_age Multixact age em que VACUUM deve varrer a tabela inteira para congelar tuplas.
xmlbinary Define como os valores binários devem ser codificados em XML.
xmloption Define se os dados XML em operações implícitas de análise e serialização devem ser considerados como documentos ou fragmentos de conteúdo.

Conexões e autenticação/Configurações de conexão

bonjour Permite anunciar o servidor via Bonjour.
bonjour_name Define o nome do serviço Bonjour.
listen_addresses Define o nome do host ou endereço(s) IP para escutar.
max_connections Define o número máximo de conexões simultâneas.
porta Define a porta TCP na qual o servidor escuta.
superuser_reserved_connections Define o número de slots de conexão reservados para superusuários.
unix_socket_directories Define os diretórios onde os soquetes de domínio Unix serão criados.
unix_socket_group Define o grupo proprietário do soquete do domínio Unix.
unix_socket_permissions Define as permissões de acesso do soquete do domínio Unix.

Conexões e autenticação / Segurança e autenticação

authentication_timeout Define o tempo máximo permitido para concluir a autenticação do cliente.
db_user_namespace Ativa nomes de usuário por banco de dados.
krb_caseins_users Define se os nomes de usuário Kerberos e GSSAPI devem ser tratados como não diferenciando maiúsculas de minúsculas.
krb_server_keyfile Define a localização do arquivo de chave do servidor Kerberos.
senha_encriptação Criptografar senhas.
row_security Ative a segurança de linha.
ssl Ativa conexões SSL.
ssl_ca_file Localização do arquivo de autoridade de certificação SSL.
ssl_cert_file Localização do arquivo de certificado do servidor SSL.
ssl_ciphers Define a lista de cifras SSL permitidas.
ssl_crl_file Localização do arquivo da lista de revogação do certificado SSL.
ssl_dh_params_file Localização do arquivo de parâmetros SSL DH.
ssl_ecdh_curve Define a curva a ser usada para ECDH.
ssl_key_file Localização do arquivo de chave privada do servidor SSL.
ssl_prefer_server_ciphers Dê prioridade à ordem do conjunto de cifras do servidor.

Opções do desenvolvedor

allow_system_table_mods Permite modificações na estrutura das tabelas do sistema.
ignore_checksum_failure Continua o processamento após uma falha na soma de verificação.
ignore_system_indexes Desativa a leitura de índices do sistema.
post_auth_delay Aguarda N segundos na inicialização da conexão após a autenticação.
pre_auth_delay Aguarda N segundos na inicialização da conexão antes da autenticação.
trace_notify Gera saída de depuração para LISTEN e NOTIFY.
trace_recovery_messages Ativa o registro de informações de depuração relacionadas à recuperação.
trace_sort Emitir informações sobre o uso de recursos na classificação.
wal_consistency_checking Define os gerenciadores de recursos do WAL para os quais as verificações de consistência do WAL são feitas.
zero_damaged_pages Continua processando cabeçalhos de página danificados.

Tratamento de erros

exit_on_error Encerre a sessão em caso de erro.
restart_after_crash Reinicialize o servidor após uma falha de back-end.

Locais de arquivos

config_file Define o arquivo de configuração principal do servidor.
diretório_dados Define o diretório de dados do servidor.
external_pid_file Grava o PID do postmaster no arquivo especificado.
hba_file Define o arquivo de configuração “hba” do servidor.
arquivo_ident Define o arquivo de configuração "ident" do servidor.

Gerenciamento de bloqueio

deadlock_timeout Define o tempo de espera em um bloqueio antes de verificar o impasse.
max_locks_per_transaction Define o número máximo de bloqueios por transação.
max_pred_locks_per_page Define o número máximo de tuplas bloqueadas por predicado por página.
max_pred_locks_per_relation Define o número máximo de páginas e tuplas bloqueadas por predicado por relação.
max_pred_locks_per_transaction Define o número máximo de bloqueios de predicado por transação.

Opções predefinidas

block_size Mostra o tamanho de um bloco de disco.
data_checksums Mostra se as somas de verificação de dados estão ativadas para este cluster.
debug_assertions Mostra se o servidor em execução tem verificações de asserção habilitadas.
integer_datetimes As datas são baseadas em números inteiros.
max_function_args Mostra o número máximo de argumentos de função.
max_identifier_length Mostra o comprimento máximo do identificador.
max_index_keys Mostra o número máximo de chaves de índice.
segment_size Mostra o número de páginas por arquivo de disco.
server_version Mostra a versão do servidor.
server_version_num Mostra a versão do servidor como um número inteiro.
wal_block_size Mostra o tamanho do bloco no log de gravação antecipada.
wal_segment_size Mostra o número de páginas por segmento de log de gravação antecipada.

Título do processo

cluster_name Define o nome do cluster, que está incluído no título do processo.
update_process_title Atualiza o título do processo para mostrar o comando SQL ativo.

Ajuste de consulta/Otimizador de consulta genética

geqo Ativa a otimização de consulta genética.
geqo_effort GEQO:o esforço é usado para definir o padrão para outros parâmetros GEQO.
geqo_generations GEQO:número de iterações do algoritmo.
geqo_pool_size GEQO:número de indivíduos na população.
geqo_seed GEQO:semente para seleção de caminho aleatório.
geqo_selection_bias GEQO:pressão seletiva dentro da população.
geqo_threshold Define o limite de itens FROM além do qual o GEQO é usado.

Ajuste de consulta/outras opções do planejador

exclusão_restrição Permite que o planejador use restrições para otimizar consultas.
cursor_tuple_fraction Define a estimativa do planejador da fração das linhas de um cursor que serão recuperadas.
default_statistics_target Define a meta de estatísticas padrão.
force_parallel_mode Força o uso de recursos de consulta paralela.
from_collapse_limit Define o tamanho da lista FROM além do qual as subconsultas não são recolhidas.
join_collapse_limit Define o tamanho da lista FROM além do qual as construções JOIN não são achatadas.

Ajuste de consulta/constantes de custo do planejador

cpu_index_tuple_cost Configura a estimativa do planejador do custo de processamento de cada entrada de índice durante uma verificação de índice.
cpu_operator_cost Configura a estimativa do planejador do custo de processamento de cada chamada de operador ou função.
cpu_tuple_cost Define a estimativa do planejador do custo de processamento de cada tupla (linha).
effective_cache_size Define a suposição do planejador sobre o tamanho do cache de disco.
min_parallel_index_scan_size Define a quantidade mínima de dados de índice para uma verificação paralela.
min_parallel_table_scan_size Define a quantidade mínima de dados da tabela para uma verificação paralela.
parallel_setup_cost Define a estimativa do planejador do custo de iniciar processos de trabalho para consultas paralelas.
parallel_tuple_cost Define a estimativa do planejador do custo de passar cada tupla (linha) do trabalhador para o back-end mestre.
random_page_cost Define a estimativa do planejador do custo de uma página de disco buscada não sequencialmente.
seq_page_cost Define a estimativa do planejador do custo de uma página de disco buscada sequencialmente.

Ajuste de consulta/configuração do método do planejador

enable_bitmapscan Ativa o uso de planos de varredura de bitmap pelo planejador.
enable_gathermerge Ativa o uso do planejador de reunir planos de mesclagem.
enable_hashagg Permite o uso do planejador de planos de agregação com hash.
enable_hashjoin Ativa o uso de planos de junção de hash pelo planejador.
enable_indexonlyscan Permite o uso do planejador de planos de varredura somente de índice.
enable_indexscan Ativa o uso do planejador de planos de verificação de índice.
enable_material Permite o uso da materialização pelo planejador.
enable_mergejoin Ativa o uso do planejador de planos de junção de mesclagem.
enable_nestloop Ativa o uso de planos de junção de loop aninhado pelo planejador.
enable_seqscan Permite o uso do planejador de planos de varredura sequencial.
enable_sort Permite que o planejador use etapas de classificação explícitas.
enable_tidscan Permite o uso do planejador de planos de varredura TID.

Replicação

track_commit_timestamp Coleta o tempo de confirmação da transação.

Replicação/Servidor mestre

synchronous_standby_names Número de standbys síncronos e lista de nomes de potenciais síncronos.
vacuum_defer_cleanup_age Número de transações pelas quais a limpeza VACUUM e HOT deve ser adiada, se houver.

Replicação/Servidores de envio

max_replication_slots Define o número máximo de slots de replicação definidos simultaneamente.
max_wal_senders Define o número máximo de processos do remetente WAL em execução simultânea.
wal_keep_segments Define o número de arquivos WAL mantidos para servidores em espera.
wal_sender_timeout Define o tempo máximo de espera pela replicação do WAL.

Replicação/Servidores em espera

hot_standby Permite conexões e consultas durante a recuperação.
hot_standby_feedback Permite feedback de um hot standby para o primário que evitará conflitos de consulta.
max_standby_archive_delay Configura o atraso máximo antes de cancelar consultas quando um servidor de espera ativa está processando dados WAL arquivados.
max_standby_streaming_delay Define o atraso máximo antes de cancelar consultas quando um servidor de espera ativa está processando dados WAL transmitidos.
wal_receiver_status_interval Define o intervalo máximo entre os relatórios de status do receptor WAL para o primário.
wal_receiver_timeout Define o tempo máximo de espera para receber dados do primário.
wal_retrieve_retry_interval Define o tempo de espera antes de tentar novamente recuperar o WAL após uma tentativa com falha.

Replicação / Assinantes

max_logical_replication_workers Número máximo de processos de trabalho de replicação lógica.
max_sync_workers_per_subscription Número máximo de workers de sincronização de tabela por assinatura.

Relatórios e registro / O que registrar

application_name Configura o nome do aplicativo a ser relatado em estatísticas e logs.
debug_pretty_print Recua a análise e as exibições da árvore de planos.
debug_print_parse Registra a árvore de análise de cada consulta.
debug_print_plan Registra o plano de execução de cada consulta.
debug_print_rewritten Registra a árvore de análise reescrita de cada consulta.
log_autovacuum_min_duration Define o tempo mínimo de execução acima do qual as ações de autovacuum serão registradas.
log_checkpoints Registra cada ponto de verificação.
log_connections Registra cada conexão bem-sucedida.
log_disconnections Registra o fim de uma sessão, incluindo a duração.
log_duration Registra a duração de cada instrução SQL concluída.
log_error_verbosity Define o detalhamento das mensagens registradas.
log_hostname Registra o nome do host nos logs de conexão.
log_line_prefix Controla as informações prefixadas em cada linha de log.
log_lock_waits Registra longas esperas de bloqueio.
log_replication_commands Registra cada comando de replicação.
log_statement Define o tipo de instruções registradas.
log_temp_files Registre o uso de arquivos temporários maiores que esse número de kilobytes.
log_timezone Define o fuso horário a ser usado nas mensagens de log.

Relatórios e registro / Quando registrar

client_min_messages Define os níveis de mensagem que são enviados ao cliente.
log_min_duration_statement Define o tempo mínimo de execução acima do qual as instruções serão registradas.
log_min_error_statement Faz com que todas as instruções que geram erros neste nível ou acima sejam registradas.
log_min_messages Define os níveis de mensagem que são registrados.

Relatórios e registro / Onde registrar

event_source Define o nome do aplicativo usado para identificar as mensagens do PostgreSQL no log de eventos.
log_destination Define o destino para a saída do log do servidor.
diretório_log Define o diretório de destino para arquivos de log.
log_file_mode Define as permissões de arquivo para arquivos de log.
log_filename Define o padrão de nome de arquivo para arquivos de log.
log_rotation_age A rotação automática do arquivo de log ocorrerá após N minutos.
log_rotation_size A rotação automática do arquivo de log ocorrerá após N kilobytes.
log_truncate_on_rotation Truncar arquivos de log existentes com o mesmo nome durante a rotação de log.
logging_collector Inicie um subprocesso para capturar a saída stderr e/ou csvlogs em arquivos de log.
syslog_facility Configura o "recurso" do syslog a ser usado quando o syslog estiver ativado.
syslog_ident Define o nome do programa usado para identificar as mensagens do PostgreSQL no syslog.
syslog_sequence_numbers Adicione o número de sequência às mensagens do syslog para evitar a supressão duplicada.
syslog_split_messages Divida as mensagens enviadas ao syslog por linhas para caber em 1024 bytes.

Uso de recursos/comportamento assíncrono

backend_flush_after Número de páginas após as quais as gravações executadas anteriormente são liberadas para o disco.
effective_io_concurrency Número de solicitações simultâneas que podem ser tratadas com eficiência pelo subsistema de disco.
max_parallel_workers Define o número máximo de trabalhadores paralelos que podem estar ativos ao mesmo tempo.
max_parallel_workers_per_gather Define o número máximo de processos paralelos por nó executor.
max_worker_processes Número máximo de processos de trabalho simultâneos.
old_snapshot_threshold Tempo antes que um instantâneo seja muito antigo para ler as páginas alteradas após a captura do instantâneo.

Uso de recursos / gravador de segundo plano

bgwriter_delay Tempo de suspensão do gravador em segundo plano entre as rodadas.
bgwriter_flush_after Número de páginas após as quais as gravações executadas anteriormente são liberadas para o disco.
bgwriter_lru_maxpages Número máximo do gravador em segundo plano de páginas LRU a serem liberadas por rodada.
bgwriter_lru_multiplier Vários do uso médio de buffer para liberar por rodada.

Uso de recursos/atraso de vácuo baseado em custo

vacuum_cost_delay Atraso do custo do vácuo em milissegundos.
vacuum_cost_limit Valor do custo do aspirador disponível antes do cochilo.
vacuum_cost_page_dirty Custo de vácuo para uma página suja por vácuo.
vacuum_cost_page_hit Custo de vácuo para uma página encontrada no cache do buffer.
vacuum_cost_page_miss Custo de vácuo para uma página não encontrada no cache do buffer.

Uso de recursos/disco

temp_file_limit Limite o tamanho total de todos os arquivos temporários usados ​​por cada processo.

Uso de recursos/Recursos do kernel

max_files_per_process Define o número máximo de arquivos abertos simultaneamente para cada processo do servidor.

Uso de recursos/memória

autovacuum_work_mem Configura a memória máxima a ser usada por cada processo de trabalho de autovacuum.
dynamic_shared_memory_type Seleciona a implementação de memória compartilhada dinâmica usada.
huge_pages Uso de páginas enormes no Linux.
maintenance_work_mem Configura a memória máxima a ser usada para operações de manutenção.
max_prepared_transactions Define o número máximo de transações preparadas simultaneamente.
max_stack_depth Define a profundidade máxima da pilha, em kilobytes.
replacement_sort_tuples Define o número máximo de tuplas a serem classificadas usando a seleção de substituição.
shared_buffers Define o número de buffers de memória compartilhada usados ​​pelo servidor.
temp_buffers Define o número máximo de buffers temporários usados ​​por cada sessão.
track_activity_query_size Define o tamanho reservado para pg_stat_activity.query, em bytes.
trabalho_mem Configura a memória máxima a ser usada para espaços de trabalho de consulta.

Estatísticas / Monitoramento

log_executor_stats Grava estatísticas de desempenho do executor no log do servidor.
log_parser_stats Grava estatísticas de desempenho do analisador no log do servidor.
log_planner_stats Grava estatísticas de desempenho do planejador no log do servidor.
log_statement_stats Grava estatísticas de desempenho cumulativo no log do servidor.

Estatísticas / Coletor de estatísticas de consulta e índice

stats_temp_directory Grava arquivos de estatísticas temporários no diretório especificado.
track_activities Coleta informações sobre a execução de comandos.
track_counts Coleta estatísticas sobre a atividade do banco de dados.
track_functions Coleta estatísticas em nível de função sobre a atividade do banco de dados.
track_io_timing Coleta estatísticas de tempo para atividade de E/S do banco de dados.

Compatibilidade de versão e plataforma / outras plataformas e clientes

transform_null_equals Trata "expr=NULL" como "expr IS NULL".

Compatibilidade de versão e plataforma/versões anteriores do PostgreSQL

array_nulls Ative a entrada de elementos NULL em arrays.
barra invertida Define se “'” é permitido em literais de string.
default_with_oids Crie novas tabelas com OIDs por padrão.
escape_string_warning Avisar sobre escapes de barra invertida em literais de string comuns.
lo_compat_privileges Ativa o modo de compatibilidade com versões anteriores para verificações de privilégios em objetos grandes.
operator_precedence_warning Emitir um aviso para construções que mudaram de significado desde o PostgreSQL 9.4.
quote_all_identifiers Ao gerar fragmentos SQL, cite todos os identificadores.
standard_conforming_strings Faz com que as strings ‘…’ tratem as barras invertidas literalmente.
sincronizar_seqscans Ative verificações sequenciais sincronizadas.

Registro/arquivamento de gravação antecipada

archive_command Define o comando shell que será chamado para arquivar um arquivo WAL.
archive_mode Permite o arquivamento de arquivos WAL usando archive_command.
archive_timeout Força uma mudança para o próximo arquivo WAL se um novo arquivo não for iniciado em N segundos.

Registro de gravação antecipada/pontos de verificação

checkpoint_completion_target Tempo gasto liberando buffers sujos durante o ponto de verificação, como fração do intervalo do ponto de verificação.
checkpoint_flush_after Número de páginas após as quais as gravações executadas anteriormente são liberadas para o disco.
checkpoint_timeout Define o tempo máximo entre os checkpoints WAL automáticos.
checkpoint_warning Ativa avisos se os segmentos de ponto de verificação forem preenchidos com mais frequência do que isso.
max_wal_size Define o tamanho do WAL que aciona um ponto de verificação.
min_wal_size Define o tamanho mínimo para reduzir o WAL.

Registro / configurações de gravação antecipada

commit_delay Define o atraso em microssegundos entre a confirmação da transação e a liberação do WAL para o disco.
commit_siblings Define o mínimo de transações abertas simultâneas antes de realizar commit_delay.
fsync Forces synchronization of updates to disk.
full_page_writes Writes full pages to WAL when first modified after a checkpoint.
synchronous_commit Sets the current transaction’s synchronization level.
wal_buffers Sets the number of disk-page buffers in shared memory for WAL.
wal_compression Compresses full-page writes written in WAL file.
wal_level Set the level of information written to the WAL.
wal_log_hints Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications.
wal_sync_method Selects the method used for forcing WAL updates to disk.
wal_writer_delay Time between WAL flushes performed in the WAL writer.
wal_writer_flush_after Amount of WAL written out by WAL writer that triggers a flush.