log_destination (string)
#
O PostgreSQL oferece suporte a vários
métodos para registrar mensagens do servidor, incluindo
stderr, csvlog,
jsonlog e
syslog.
No Windows, também há
suporte para eventlog.
Deve-se definir este parâmetro como uma lista de destinos
desejados separados por vírgulas.
O padrão é registrar apenas na saída de erro padrão
(stderr).
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
Se csvlog estiver presente em
log_destination, as entradas de registro
serão geradas no formato “valor separado por vírgula”
(CSV), conveniente para carregar
registros em tabelas.
Veja Uso da saída de registro no formato CSV
para obter detalhes.
Para gerar a saída de registro no formato CSV,
o parâmetro logging_collector deverá estar
ativo.
Se jsonlog estiver incluído em
log_destination, as entradas de registro
serão geradas no formato JSON, conveniente
para carregar registros em programas.
Veja Uso da saída de registro no formato JSON
para obter detalhes.
Para gerar a saída de registro no formato JSON,
o parâmetro logging_collector deverá estar
ativo.
Quando stderr,
csvlog ou jsonlog
estiverem presentes, será criado o arquivo
current_logfiles para registrar a localização
do(s) arquivo(s) de registro em uso no momento pelo coletor de
registros e o destino de registro associado.
Isto oferece uma maneira conveniente de encontrar os registro
em uso no momento pela instância.
A seguir está um exemplo do conteúdo deste arquivo:
stderr log/postgresql.log csvlog log/postgresql.csv jsonlog log/postgresql.json
o arquivo current_logfiles será recriado
quando um novo arquivo de registro for criado como efeito da rotação,
e quando log_destination for recarregado.
Ele será removido quando nenhum entre stderr,
csvlog ou jsonlog
estiver incluído em log_destination, e quando
o coletor de registros está inativo.
Na maioria dos sistemas Unix,
é necessário alterar a configuração do daemon
syslog do sistema para poder usar a opção
syslog em
log_destination.
O PostgreSQL pode registrar mensagens
nas “facilidades”
(facility) de
syslog de
LOCAL0 até LOCAL7
[127]
(veja syslog_facility),
mas a configuração padrão do syslog,
na maioria das plataformas, irá descartar todas estas mensagens.
Será necessário adicionar algo como
local0.* /var/log/postgresql
no arquivo de configuração do daemon syslog para funcionar.
No Windows, ao usar a
opção eventlog em
log_destination, deve-se registrar a
origem dos eventos e a biblioteca no sistema operacional,
para que o
Visualizador de eventos do Windows
possa mostrar as mensagens de registro de forma limpa.
Veja Registro de eventos no Windows para obter detalhes.
logging_collector (boolean)
#
Este parâmetro ativa o coletor de registros
(logging collector), que é um
processo em segundo plano que captura as mensagens de registro
enviadas para stderr, e as redireciona
para os arquivos de registro.
Esta abordagem é geralmente mais útil do que registrar em
syslog, porque alguns tipos de
mensagens podem não aparecer na saída do
syslog.
(Um exemplo comum são as mensagens de falha do vinculador
dinâmico; outra são as mensagens de erro produzidas por scripts
como archive_command.)
Este parâmetro só pode ser definido na ativação do servidor.
É possível escrever na saída de erro padrão (stderr) sem usar o coletor de registros; as mensagens de registro vão apenas para onde a stderr do servidor for direcionada. No entanto, este método é adequado apenas para volumes de registro baixos, porque não fornece uma maneira conveniente de rotacionar os arquivos de registro. Além disso, em algumas plataformas, não usar o coletor de registros pode resultar em saída de registro perdida ou distorcida, porque vários processos que escrevem simultaneamente no mesmo arquivo de registro podem sobrescrever a saída uns dos outros.
O coletor de registros foi projetado para nunca perder mensagens. Isto significa que, em caso de carga extremamente alta, os processos servidores podem ser bloqueados ao tentar enviar mensagens de registro adicionais quando o coletor ficar atrasado. Em contraste, syslog prefere descartar as mensagens se não puder escrevê-las, significando que pode falhar ao registrar algumas mensagens nesses casos, mas não irá bloquear o restante do sistema.
log_directory (string)
#
Quando logging_collector está ativo, este
parâmetro determina o diretório onde os arquivos de registro
serão criados.
Pode ser especificado como um caminho absoluto, ou relativo ao
diretório de dados da instância.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
O padrão é log.
log_filename (string)
#
Quando logging_collector está ativo, este
parâmetro define os nomes dos arquivos de registro criados.
Como o valor é tratado como um padrão para a função
strftime, então podem ser usados escapes de
% para especificar nomes de arquivos que
variam no tempo.
(Note-se que se houver algum escape % dependente
da zona horária, o cálculo será feito na zona especificada por
log_timezone.)
Os escapes de % com suporte são semelhantes
aos listados na especificação da função
strftime do
Open Group.
Note-se que a função strftime do sistema não
é usada diretamente, portanto extensões específicas da plataforma
(fora do padrão) não funcionam.
O padrão é postgresql-%Y-%m-%d_%H%M%S.log.
Se for especificado um nome de arquivo sem escapes, deve-se
planejar usar um utilitário de rotação de
log para evitar acabar enchendo
todo o disco.
Nas versões anteriores à 8.4, se não estivesse presente nenhum
escape %, o PostgreSQL
acrescentaria a hora do momento de criação do novo arquivo de
registro, mas isto não é mais o caso.
Se a saída no formato CSV estiver ativa em
log_destination, será anexado
.csv ao nome do arquivo de registro
com data e hora, para criar o nome do arquivo de saída no formato
CSV.
(Se log_filename terminar em
.log, o sufixo será substituído em vez disso.)
log_destination, será anexado
.json ao nome do arquivo de registro
com data e hora, para criar o nome do arquivo de saída no formato
JSON.
(Se log_filename terminar em
.log, o sufixo será substituído em vez disso.)
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_file_mode (integer)
#
Nos sistemas Unix, este
parâmetro define as permissões para os arquivos de registro de
eventos quando logging_collector está ativo.
(No Microsoft Windows
este parâmetro é ignorado.)
É esperado que o valor do parâmetro seja um modo numérico
especificado no formato aceito pelas chamadas de sistema
chmod e umask.
(Para usar o formato octal habitual, o número deve começar com
0 (zero).)
As permissões padrão são 0600, significando
que apenas o usuário dono do servidor pode ler ou escrever os
arquivos de registro.
A outra configuração comumente útil é 0640,
permitindo que membros do grupo dono leiam os arquivos.
Note, entretanto, que para usar esta configuração, é necessário
alterar log_directory para armazenar os
arquivos em algum lugar fora do diretório de dados da instância.
Em qualquer caso, não é aconselhável tornar os arquivos de
registro legíveis por todos, porque podem conter dados
confidenciais.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_rotation_age (integer)
#
Quando logging_collector está ativo, este
parâmetro determina o tempo máximo para usar um arquivo de
registro individual, após o qual será criado um novo
arquivo de registro.
Se o valor for especificado sem unidade, será considerado
sendo minutos.
O padrão é 24 horas.
Definir como zero desativa a criação de novos arquivos de
registro com base no tempo.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_rotation_size (integer)
#
Quando logging_collector está ativo, este
parâmetro determina o tamanho máximo de um arquivo de registro
individual.
Após esta quantidade de dados ter sido escrita em um arquivo de
registro, será criado um novo arquivo de registro.
Se o valor for especificado sem unidade, será considerado
sendo quilobytes.
O padrão é 10 megabytes.
Definir como zero desativa a criação de novos arquivos de
registro com base no tamanho.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_truncate_on_rotation (boolean)
#
Quando logging_collector está ativo, este
parâmetro faz com que o PostgreSQL
trunque (sobrescreva), em vez de anexar ao arquivo de
registro existente com o mesmo nome.
Entretanto, o truncamento ocorre somente quando estiver sendo
aberto um novo arquivo devido à rotação baseada em tempo, e não
durante a ativação do servidor ou rotação baseada em tamanho.
Quando este parâmetro não está ativo, os arquivos pré-existentes
são anexados em todos os casos.
Por exemplo, usar esta configuração em combinação com
log_filename definido como
postgresql-%H.log, resulta na geração de
arquivos de registro de vinte e quatro horas e, em seguida,
sobrescrevendo-os ciclicamente.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
Exemplo: para manter 7 dias de registro, um arquivo de registro
por dia com os nomes server_log.Mon,
server_log.Tue, etc., e sobrescrever
automaticamente o registro da semana anterior pelo registro dessa
semana, deve-se definir log_filename como
server_log.%a,
log_truncate_on_rotation como
on, e log_rotation_age
como 1440 (ou 1d, N. do T.).
Exemplo: para manter 24 horas de registro, um arquivo de registro
por hora, mas também alternar antes se o tamanho do
arquivo de registro exceder 1 GB, deve-se definir
log_filename como server_log.%H%M,
log_truncate_on_rotation como on,
log_rotation_age como 60, e
log_rotation_size como 1000000.
Incluir %M em log_filename
permite que possa ocorrer qualquer rotação controlada por tamanho
para selecionar um nome de arquivo diferente do nome de arquivo
inicial da hora.
syslog_facility (enum)
#
Quando os registros têm syslog como
destino, este parâmetro determina a “facilidade” do
syslog a ser usada.
Pode-se escolher entre LOCAL0,
LOCAL1, LOCAL2,
LOCAL3, LOCAL4,
LOCAL5, LOCAL6, ou
LOCAL7;
O padrão é LOCAL0
[128].
Veja também a documentação do
daemon syslog do sistema operacional.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
syslog_ident (string)
#
Quando os registros têm syslog como
destino, este parâmetro determina o nome do programa usado para
identificar as mensagens do PostgreSQL
nos registros de syslog.
O padrão é postgres.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
syslog_sequence_numbers (boolean)
#
Quando os registros têm syslog como
destino, e este parâmetro está ativo (o padrão), então cada
mensagem é prefixada por um número de sequência crescente
(tal como [2]).
Isto evita a supressão do tipo
“--- última mensagem repetida N vezes ---”,
que muitas implementações de syslog
fazem por padrão.
Nas implementações de syslog mais
modernas, a supressão de mensagens repetidas pode ser configurada
(por exemplo, $RepeatedMsgReduction
em rsyslog), então esta configuração
pode não ser necessária.
Além disso, pode-se desativar este recurso se realmente for
desejado suprimir as mensagens repetidas.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
syslog_split_messages (boolean)
#Quando os registros têm syslog como destino, este parâmetro determina como as mensagens são entregues ao syslog. Quando ativo (o padrão), as mensagens são divididas por linhas, e as linhas longas são divididas para caberem em 1.024 bytes, que é um limite de tamanho típico para implementações de syslog tradicionais. Quando inativo, as mensagens de registro do servidor PostgreSQL são entregues ao serviço syslog como estão, cabendo ao serviço syslog lidar com as mensagens potencialmente volumosas.
Se syslog estiver escrevendo em um arquivo de texto, então o efeito será o mesmo de qualquer maneira, sendo melhor deixar a configuração ativa, já que a maioria das implementações de syslog não podem lidar com mensagens grandes, ou precisariam ser especialmente configuradas para lidar com elas. Mas se syslog estiver escrevendo em algum outro meio, poderá ser necessário, ou mais útil, manter as mensagens juntas logicamente.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
event_source (string)
#
Quando os registros têm um
programa para receber registros
como destino, este parâmetro determina o nome do programa usado
para identificar as mensagens do
PostgreSQL
no registro.
O padrão é PostgreSQL.
Este parâmetro só pode ser definido na ativação do servidor.
log_min_messages (enum)
#
Controla quais
níveis de mensagem
são escritos no registro do servidor.
Os valores válidos são DEBUG5, DEBUG4,
DEBUG3, DEBUG2, DEBUG1,
INFO, NOTICE, WARNING,
ERROR, LOG, FATAL, e
PANIC.
Cada nível inclui todos os níveis que o seguem.
Quanto mais alto for o nível, menos mensagens são enviadas
para o registro.
O padrão é WARNING.
Note-se que LOG tem uma classificação diferente
aqui do que tem em client_min_messages.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_min_error_statement (enum)
#
Controla quais instruções SQL que causam uma
condição de erro são registradas no registro do servidor.
A instrução SQL corrente é incluída na entrada
de registro para qualquer mensagem com a
severidade
especificada, ou maior.
Os valores válidos são DEBUG5,
DEBUG4, DEBUG3,
DEBUG2, DEBUG1,
INFO, NOTICE,
WARNING, ERROR,
LOG,
FATAL, e PANIC.
O padrão é ERROR, significando que instruções
que causam erros, mensagens de LOG, erros
fatais, ou pânicos, são registradas.
Para desativar inteiramente o registro de instruções com falha,
deve-se definir este parâmetro como PANIC.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_min_duration_statement (integer)
#
Faz com que a duração de cada instrução concluída seja
registrada, se a instrução for executada por pelo menos
a quantidade de tempo especificada.
Por exemplo, se for definido como 250ms,
então todas as instruções SQL que executam
em 250ms ou mais serão registradas.
A ativação desse parâmetro pode servir para rastrear
consultas não otimizadas nas aplicações.
Se o valor for especificado sem unidade, será considerado
sendo milissegundos.
Definir como zero registra todas as durações das instruções.
O valor -1 (o padrão), desativa o registro
das durações das instruções.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
Esta opção se sobrepõe a log_min_duration_sample, significando que as consultas com duração superior a esta configuração não estão sujeitas à amostragem, sendo sempre registradas.
Para os clientes que usam protocolo de consulta estendido, as durações das etapas de Analisar (Parse), Vincular (Bind) e Executar (Execute), são registradas de forma independente.
Ao usar esta opção acompanhada por
log_statement, o texto das instruções
registradas devido a log_statement não
será repetido na mensagem de registro de duração.
Se não estiver sendo usado o syslog,
é recomendado que se registre o PID ou ID da sessão usando
log_line_prefix, para que se possa
vincular a mensagem de instrução à mensagem de duração posterior
usando o ID do processo ou o ID da sessão.
log_min_duration_sample (integer)
#
Ativa amostrar a duração de instruções concluídas, executadas
durante pelo menos a quantidade de tempo especificada.
Produz o mesmo tipo de entradas de registro que
log_min_duration_statement, mas apenas
para um subconjunto de instruções executadas, com taxa de
amostragem controlada por
log_statement_sample_rate.
Por exemplo, se for definido como 100ms,
então todas as instruções SQL que executam
em 100ms, ou mais, serão consideradas para amostragem.
A ativação desse parâmetro pode servir quando o tráfego for
muito alto para registrar todas as consultas.
Se o valor for especificado sem unidade, será considerado
sendo milissegundos.
Definir como zero amostra todas as durações das instruções.
O valor -1 (o padrão), desativa a amostragem
das durações das instruções.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
Esta configuração tem prioridade mais baixa que
log_min_duration_statement, significando
que as instruções com durações superiores a
log_min_duration_statement não estão
sujeitas a amostragem, sendo sempre registradas.
Outras notas para log_min_duration_statement
também se aplicam a esta configuração.
log_statement_sample_rate (floating point)
#
Determina a fração de instruções com duração superior a
log_min_duration_sample que serão
registradas.
A amostragem é
estocástica, por exemplo, 0,5
significa que há estatisticamente uma chance em duas de que
qualquer instrução seja registrada.
O padrão é 1.0, o que significa
registrar todas as instruções amostradas.
Definir como zero desativa o registro de duração de instrução
amostrado, o mesmo que definir
log_min_duration_sample como
-1.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_transaction_sample_rate (floating point)
#
Define a fração de transações cujas instruções são todas
registradas, além das instruções registrados por outros motivos.
Se aplica a cada nova transação, independentemente da duração
das suas instruções.
A amostragem é estocástica, por exemplo, 0.1
significa que há estatisticamente uma chance em dez de que
qualquer transação seja registrada.
O parâmetro log_transaction_sample_rate
pode servir para construir uma amostra de transações.
O padrão é 0, significando não
registrar instruções de quaisquer transações adicionais.
Definir como 1 registra todas as instruções
de todas as transações.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
Como todas as opções de registro de instruções, esta opção pode adicionar uma sobrecarga considerável.
log_startup_progress_interval (integer)
#
Define o tempo após o qual o processo de ativação irá registrar
uma mensagem sobre uma operação de longa duração ainda em
andamento, bem como o intervalo entre mensagens de
progresso subsequentes para esta operação.
O padrão é 10 segundos.
Uma configuração de 0 desativa o recurso.
Se este valor for especificado sem unidade, será considerado
sendo milissegundos.
Esta configuração é aplicada separadamente a cada operação.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
Por exemplo, se a sincronização do diretório de dados levar 25 segundos e, posteriormente, a redefinição de relações não registradas levar 8 segundos, e se esta configuração tiver o valor padrão de 10 segundos, então, mensagens serão registradas para a sincronização do diretório de dados após o processo estar em andamento há 10 segundos e novamente após 20 segundos, mas nada será registrado quanto à reinicialização de relações não registradas no registro.
A Tabela 19.2 explica os níveis de severidade de mensagem usados pelo PostgreSQL. Se a saída de registro for enviada para syslog, ou eventlog no Windows, os níveis de severidade serão convertidos conforme mostrado nesta tabela.
Tabela 19.2. Níveis de severidade da mensagem
| Severidade | Uso | syslog | eventlog |
|---|---|---|---|
DEBUG1 .. DEBUG5 | Fornece informações sucessivamente mais detalhadas para uso dos desenvolvedores. | DEBUG | INFORMATION |
INFO | Fornece informações solicitadas implicitamente pelo usuário,
por exemplo, a saída do comando
VACUUM VERBOSE. | INFO | INFORMATION |
NOTICE | Fornece informações que possam ser úteis para os usuários, por exemplo, o aviso de truncamento de identificadores longos. | NOTICE | INFORMATION |
WARNING | Fornece avisos sobre problemas prováveis, por exemplo,
COMMIT fora de um bloco de transações. | NOTICE | WARNING |
ERROR | Informa o erro que fez com que o comando corrente fosse interrompido. | WARNING | ERROR |
LOG | Informa informações de interesse para os administradores, por exemplo, atividade de ponto de verificação. | INFO | INFORMATION |
FATAL | Informa o erro que fez com que a sessão corrente fosse interrompida. | ERR | ERROR |
PANIC | Informa o erro que fez com que todas as sessões do banco de dados fossem interrompidas. | CRIT | ERROR |
O que se escolhe registrar pode ter implicações de segurança; veja Manutenção de arquivo de registro.
application_name (string)
#
O parâmetro application_name pode ser qualquer
cadeia de caracteres com menos de NAMEDATALEN
caracteres (64 caracteres em uma construção padrão).
Normalmente é definido pela aplicação na conexão com o servidor.
O nome será mostrado na visão
pg_stat_activity, e incluído
nas entradas de registro CSV.
Também pode ser incluído em entradas de registro regulares por
meio do parâmetro log_line_prefix.
Somente podem ser usados caracteres ASCII
imprimíveis no valor de application_name.
Os demais caracteres são substituídos por
sequências de escape hexadecimais no estilo C.
debug_print_parse (boolean)
debug_print_rewritten (boolean)
debug_print_plan (boolean)
#
Estes parâmetros permitem que sejam produzidas várias saídas de
depuração.
Quando definidos, mostram a árvore de análise resultante,
a saída do reescritor de consultas, ou o plano de execução
para cada consulta executada.
Estas mensagens são produzidas no nível de mensagem
LOG, portanto, por padrão, aparecem no
registro do servidor, mas não são enviadas ao cliente.
É possível mudar esta situação ajustando
client_min_messages e/ou
log_min_messages.
Estes parâmetros estão inativos por padrão.
debug_pretty_print (boolean)
#
Quando definido, debug_pretty_print cria recuos
nas mensagens produzidas por debug_print_parse,
debug_print_rewrite e
debug_print_plan.
Resulta em uma saída mais legível, mas muito mais longa do que
o formato “compacto” usado quando está inativo.
Está ativo por padrão.
log_autovacuum_min_duration (integer)
#
Faz com que cada ação executada pelo
autovacuum seja
registrada se tiver durado pelo menos o tempo especificado.
Definir este valor como zero registra todas as ações do
autovacuum.
-1 desativa o registro de ações do
autovacuum.
Se este valor for especificado sem unidade, será considerado
sendo milissegundos.
Por exemplo, se for definido como 250ms,
todas as operações automáticas de vacuum e
analyze que levarem 250 ms ou mais para
serem executadas serão registradas.
Além disso, quando este parâmetro é definido com qualquer valor
diferente de -1, será registrada uma mensagem
se uma ação de autovacuum for ignorada devido
a um bloqueio conflitante ou a uma relação removida simultaneamente.
O padrão é 10min.
Ativar este parâmetro pode ser útil para monitorar a atividade
do autovacuum.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando do
servidor; mas a configuração pode ser sobreposta para tabelas
alterando individualmente os parâmetros de armazenamento da tabela.
log_checkpoints (boolean)
#
Faz com que os pontos de verificação e de reinicialização sejam
registrados no registro do servidor.
São incluídas algumas estatísticas nas mensagens de registro,
incluindo o número de buffers
escritos e o tempo gasto para escrevê-los.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
O padrão é on.
log_connections (string)
#
Faz com que sejam registrados os aspectos de cada conexão com
o servidor.
O padrão é uma cadeia de caracteres vazia,
'', que desativa todo o registro de conexões.
As opções a seguir podem ser especificadas isoladamente ou em
uma lista separada por vírgulas:
Tabela 19.3. Opções de registro de conexão
| Nome | Descrição |
|---|---|
receipt | Registra o recebimento de uma conexão. |
authentication | Registra a identidade original usada por um método de autenticação para identificar o usuário. Geralmente a cadeia de caracteres de identidade corresponde ao nome de usuário do PostgreSQL, mas alguns métodos de autenticação de terceiros podem alterar o identificador de usuário original antes que o servidor o armazene. As falhas de autenticação são sempre registradas, independentemente do valor desta configuração. |
authorization | Registra a conclusão bem-sucedida da autorização. Neste ponto, a conexão foi estabelecida, mas o processo servidor em segundo plano (backend) ainda não está inteiramente configurado. A mensagem de registro inclui o nome de usuário autorizado, bem como o nome do banco de dados e o nome da aplicação, se aplicável. |
setup_durations | Registra o tempo gasto no estabelecimento da conexão e na configuração do processo servidor em segundo plano até que a conexão esteja pronta para executar sua primeira consulta. A mensagem de registro inclui três durações: a duração total da configuração (começando quando o processo postmaster aceita a conexão de entrada, e terminando quando a conexão está pronta para consultas); o tempo levado para criar a ramificação do novo processo servidor em segundo plano; e o tempo que levou para autenticar o usuário. |
all |
Um alias de conveniência equivalente a especificar todas as
opções.
Se for especificado all em uma lista de
outras opções, todos os aspectos da conexão serão registrados.
|
O registro de desconexões é controlado separadamente por log_disconnections.
Para manter a compatibilidade com versões anteriores,
on, off,
true, false,
yes, no,
1 e 0
ainda têm suporte.
Os valores positivos equivalem a especificar as opções
receipt, authentication e
authorization.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar este parâmetro
no início da sessão, e ele não pode ser alterado de forma
alguma durante a sessão.
Alguns programas clientes, como o psql, tentam se conectar duas vezes ao verificar se é necessário usar uma senha; portanto, mensagens duplicadas de “conexão recebida” não indicam necessariamente um problema.
log_disconnections (boolean)
#
Faz com que os encerramentos de sessão sejam registrados.
A saída do registro fornece informações semelhantes a
log_connections, além da duração da sessão.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar este parâmetro
no início da sessão, e ele não pode ser alterado de forma alguma
durante a sessão.
O padrão é off.
log_duration (boolean)
#
Faz com que seja registrada a duração de cada instrução concluída.
O padrão é off.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
Para os clientes que usam o protocolo de consulta estendido, as durações das etapas de Analisar (Parse), Vincular (Bind) e Executar (Execute) são registradas de forma independente.
A diferença entre ativar log_duration e
definir log_min_duration_statement como
zero, é que exceder log_min_duration_statement
força o texto da consulta ser registrado, mas esta opção não.
Assim, se log_duration estiver definido como
on, e log_min_duration_statement
tiver um valor positivo, todas as durações serão registradas,
mas o texto da consulta será incluído apenas para as instruções
que excedam o limite.
Este comportamento pode servir para coletar estatísticas
em instalações de alta carga.
log_error_verbosity (enum)
#
Controla a quantidade de detalhes escritos no registro
do servidor para cada mensagem registrada.
Os valores válidos são TERSE,
DEFAULT, e VERBOSE,
cada um adicionando mais campos às mensagens mostradas.
TERSE exclui o registro de informações de
erro de DETAIL, HINT,
QUERY, e CONTEXT.
A saída VERBOSE inclui o código de erro
SQLSTATE
(veja também Códigos de erro do PostgreSQL), o nome do
arquivo de código-fonte, o nome da função, e o número da linha
que gerou o erro.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_hostname (boolean)
#
Por padrão, as mensagens de registro de conexão mostram apenas
o endereço IP do hospedeiro conectado.
Ativar este parâmetro também causa o registro do nome do hospedeiro.
Note-se que, dependendo da configuração da resolução do nome do
hospedeiro, este parâmetro pode impor uma penalidade de
desempenho não desprezível.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_line_prefix (string)
#
Esta é uma cadeia de caracteres no estilo da função
printf, mostrada no início de cada
linha de registro.
Os caracteres % iniciam
“sequências de escape”, substituídas por
informações de status conforme descrito abaixo.
Os escapes não reconhecidos são ignorados.
Os demais caracteres são copiados diretamente para a linha de
registro.
Alguns escapes são reconhecidos apenas por processos de sessão,
sendo tratados como vazios por processos em segundo plano,
como o processo principal do servidor.
As informações de status podem ser alinhadas à esquerda ou à
direita, especificando um literal numérico após o caractere
%, e antes da opção.
Um valor negativo faz com que as informações de status sejam
preenchidas à direita com espaços à esquerda para fornecer uma
largura mínima, enquanto um valor positivo será preenchido à
esquerda.
O preenchimento pode servir para ajudar a leitura
por humanos nos arquivos de registro.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
O padrão é '%m [%p] ', que registra o
carimbo de data e hora e o identificador do processo.
| Escape | Efeito | Somente sessão |
|---|---|---|
%a | Nome da aplicação | sim |
%u | Nome do usuário | sim |
%d | Nome do banco de dados | sim |
%r | Nome do hospedeiro remoto, ou endereço IP e porta remota | sim |
%h | Nome do hospedeiro remoto, ou endereço IP | sim |
%L | Endereço local (o endereço IP no servidor ao qual o cliente se conectou) | sim |
%b | Tipo do processo servidor (back-end) | não |
%p | Identificador do processo | não |
%P | Identificador do processo líder do grupo paralelo, se este processo for um processo trabalhador de consulta paralela | não |
%t | Carimbo de data e hora sem milissegundos | não |
%m | Carimbo de data e hora com milissegundos | não |
%n | Carimbo de data e hora com milissegundos (como uma época do Unix) | não |
%i | Etiqueta de comando: tipo do comando corrente da sessão | sim |
%e | Código de erro SQLSTATE | não |
%c | Identificador da sessão: veja abaixo | não |
%l | Número da linha de registro para cada sessão ou processo, começando em 1 | não |
%s | Carimbo de data e hora do início do processo | não |
%v | ID da transação virtual (procNumber/localXID); veja Transações e identificadores | não |
%x | ID da transação (0 se nenhum for atribuído); veja Transações e identificadores | não |
%q | Não produz saída, mas informa aos processos que não são de sessão para parar neste ponto da cadeia de caracteres; ignorado pelos processos de sessão | não |
%Q | Identificador de consulta da consulta corrente. Os identificadores de consulta não são calculados por padrão, portanto, este campo será zero, a menos que o parâmetro compute_query_id esteja ativo, ou um módulo de terceiros que calcule identificadores de consulta esteja configurado. | sim |
%% | % literal | não |
O tipo de processo servidor corresponde à coluna
backend_type na visão
pg_stat_activity,
mas podem aparecer tipos adicionais no registro que não
aparecem nesta visão.
O escape %c imprime um identificador de
sessão quase-único, consistindo em dois números hexadecimais
de 4 bytes (sem zeros à esquerda) separados por um ponto.
Os números são a hora de início do processo e o identificador
do processo, então %c também pode ser usado
como uma forma de mostrar estes itens com economia de espaço.
Por exemplo, para gerar o identificador de sessão de
pg_stat_activity, pode-se usar esta consulta:
SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' ||
to_hex(pid)
FROM pg_stat_activity;
Se for definido um valor não vazio para
log_line_prefix, normalmente deverá se fazer
com que seu último caractere seja um espaço, para fornecer uma
separação visual do resto da linha de registro.
Também pode ser usado um caractere de pontuação.
Syslog produz seu próprio registro de data e hora e informações de identificador de processo, então, provavelmente não será desejado incluir estes escapes se estiver sendo usado o syslog.
O escape %q é útil ao incluir informações
que estão disponíveis apenas no contexto da sessão
(processo servidor), como o nome do usuário ou do banco de dados.
Por exemplo:
log_line_prefix = '%m [%p] %q%u@%d/%a '
O escape %Q sempre reporta um identificador
zero para linhas produzidas por log_statement,
porque log_statement gera a saída antes que o
identificador possa ser calculado, incluindo instruções inválidas
para as quais o identificador não pode ser calculado.
log_lock_waits (boolean)
#
Controla se é produzida uma mensagem de registro quando uma
sessão espera mais de deadlock_timeout
para adquirir um bloqueio.
Serve para determinar se as esperas de bloqueio estão causando
baixo desempenho.
O padrão é off.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_lock_failures (boolean)
#
Controla se é gerada uma mensagem de registro detalhada quando
a aquisição de um bloqueio falha.
Isto é útil para analisar as causas de falhas de bloqueio.
No momento, apenas falhas de bloqueio devido a
SELECT NOWAIT têm suporte.
O padrão é off.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_recovery_conflict_waits (boolean)
#
Controla se é produzida uma mensagem de registro quando o
processo de ativação aguarda mais do que
deadlock_timeout por conflitos de recuperação.
Serve para determinar se os conflitos de recuperação impedem a
recuperação de aplicar o WAL.
O padrão é off.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
log_parameter_max_length (integer)
#
Se for maior que zero, cada valor de parâmetro de ligação
(bind) registrado com uma
mensagem de registro de instrução sem erro será reduzido para
este número de bytes.
Zero desativa o registro de parâmetros de ligação para registros
de instruções sem erros.
O valor -1 (o padrão), permite que os
parâmetros de ligação sejam registrados por completo.
Se o valor for especificado sem unidade, será considerado sendo
bytes.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
Esta configuração afeta apenas mensagens de registro mostradas como resultado de log_statement, log_duration, e configurações relacionadas. Os valores dessa configuração diferentes de zero adicionam alguma sobrecarga, principalmente se os parâmetros forem enviados no formato binário, porque será necessária a conversão para texto.
log_parameter_max_length_on_error (integer)
#
Se for maior que zero, cada valor de parâmetro de ligação relatado
nas mensagens de erro será reduzido para este número de bytes.
Zero (o padrão) desativa a inclusão de parâmetros de ligação
em mensagens de erro.
O valor -1 permite que os parâmetros de
ligação sejam mostrados por completo.
Se o valor for especificado sem unidade, será considerado sendo
bytes.
Os valores dessa configuração diferentes de zero adicionam sobrecarga, porque o PostgreSQL precisará armazenar as representações textuais dos valores dos parâmetros na memória no início de cada instrução, independentemente de um erro ocorrer ou não. A sobrecarga é maior quando os parâmetros de ligação são enviados no formato binário do que quando são enviados como texto, uma vez que o primeiro caso requer conversão de dados, enquanto o último requer apenas a cópia da cadeia de caracteres.
log_statement (enum)
#
Controla quais instruções SQL são registradas.
Os valores válidos são none (off),
ddl, mod e
all (todas as instruções).
ddl registra todas as instruções de definição
de dados, tais como as instruções CREATE,
ALTER e DROP.
mod registra todas as instruções de
ddl, além das instruções de modificação de
dados, tais como as instruções INSERT,
UPDATE, DELETE,
TRUNCATE e COPY FROM.
As instruções PREPARE,
EXECUTE e EXPLAIN ANALYZE,
também serão registradas, se o comando contido for de um tipo
apropriado.
Para os clientes que usam o protocolo de consulta estendido,
o registro ocorre quando é recebida uma mensagem
Execute, e os valores dos parâmetros
Bind são incluídos
(com quaisquer apóstrofos incorporados duplicados).
O padrão é none.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
As instruções que contêm erros de sintaxe simples não são
registradas, mesmo com a configuração
log_statement = all,
porque a mensagem de registro é produzida somente após a análise
básica ter sido feita para determinar o tipo de instrução.
No caso do protocolo de consulta estendido, esta configuração
também não registra instruções que falham antes da fase
Execute
(ou seja, durante a fase de análise ou planejamento).
Deve-se definir log_min_error_statement como
ERROR (ou inferior) para registrar estas
instruções.
As instruções registradas podem revelar dados sensíveis e até mesmo conter senhas em texto puro.
log_replication_commands (boolean)
#
Faz com que cada comando de replicação e a aquisição/liberação
de encaixe de replicação de cada processo
walsender sejam
registrados no servidor.
Veja Seção 54.4 para obter mais
informações sobre o comando de replicação.
O padrão é off.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_temp_files (integer)
#
Controla o registro de nomes e tamanhos de arquivos temporários.
Os arquivos temporários podem ser criados para classificações,
hashes, e resultados de consultas
temporárias.
Se ativado por esta configuração, uma entrada de registro será
produzida para cada arquivo temporário, com o tamanho do arquivo
especificado em bytes, quando este for excluído.
O valor zero registra todas as informações de arquivos temporários,
enquanto valores positivos registram apenas arquivos cujo tamanho
é maior ou igual à quantidade de dados especificada.
Se o valor for especificado sem unidade, será considerado sendo
quilobytes.
O padrão é -1, que desativa este registro.
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
log_timezone (string)
#
Define a zona horária usado para carimbos de data e hora
escritos no registro do servidor.
Ao contrário de TimeZone, este valor
abrange toda a instância, para que todas as sessões relatem
carimbos de data e hora de forma homogênea.
O padrão integrado é GMT, mas é normalmente
sobreposto no arquivo postgresql.conf;
O initdb instala uma configuração
correspondente ao ambiente do sistema operacional.
Veja Zonas horárias para obter mais
informações.
Este parâmetro só pode ser definido no arquivo
postgresql.conf ou na linha de comando
do servidor.
Incluir csvlog na lista
log_destination fornece uma maneira
conveniente de importar arquivos de registro para
uma tabela de banco de dados.
Esta opção produz linhas de registro no formato de valores
separados por vírgula (CSV), com as seguintes
colunas:
carimbo de data e hora com milissegundos,
nome do usuário,
nome do banco de dados,
identificador do processo,
número do hospedeiro:porta do cliente,
identificador da sessão,
número de linha por sessão,
etiqueta de comando,
hora de início da sessão,
identificador de transação virtual,
identificador de transação regular,
severidade do erro,
código SQLSTATE,
mensagem de erro,
detalhe da mensagem de erro,
dica,
consulta interna que levou ao erro (se houver),
o número de caracteres para chegar à posição do erro,
contexto do erro,
consulta do usuário que levou ao erro (se houver, e ativado por
log_min_error_statement),
o número de caracteres para chegar à posição do erro,
localização do erro no código-fonte do
PostgreSQL
(se log_error_verbosity estiver definido como
verbose),
nome da aplicação, tipo de processo servidor, identificador do
processo líder do grupo paralelo, e identificador da consulta.
A seguir está um exemplo de definição de tabela para armazenar
a saída de registro no formato CSV:
CREATE TABLE postgres_log ( log_time timestamp(3) with time zone, user_name text, database_name text, process_id integer, connection_from text, session_id text, session_line_num bigint, command_tag text, session_start_time timestamp with time zone, virtual_transaction_id text, transaction_id bigint, error_severity text, sql_state_code text, message text, detail text, hint text, internal_query text, internal_query_pos integer, context text, query text, query_pos integer, location text, application_name text, backend_type text, leader_pid integer, query_id bigint, PRIMARY KEY (session_id, session_line_num) );
Para importar um arquivo de registro para esta tabela,
pode-se usar o comando COPY FROM:
COPY postgres_log FROM '/caminho/completo/para/logfile.csv' WITH csv;
Também é possível acessar o arquivo como uma tabela estrangeira, usando o módulo file_fdw fornecido.
Há algumas coisas que se precisa fazer para simplificar a importação de arquivos de registro no formato CSV:
Definir log_filename e
log_rotation_age para fornecer um esquema
de nomes consistente e previsível para os arquivos de
registro.
Isto permite prever qual será o nome do arquivo, e saber
quando um arquivo de registro individual estará
completo e, portanto, pronto para ser importado.
Definir log_rotation_size como 0 (zero),
para desativar a rotação de registro baseada
em tamanho, porque isto dificulta prever o nome do
arquivo de registro.
Definir log_truncate_on_rotation como
on, para que os dados de registro
antigos não sejam misturados com os novos no mesmo arquivo.
A definição da tabela acima inclui uma especificação de chave
primária.
Isto serve para proteger contra a importação acidental da
mesma informação duas vezes.
O comando COPY efetiva todos os dados que
importa de uma vez, portanto, qualquer erro causará falha de
toda a importação.
Se for importado um arquivo de registro parcial,
e posteriormente importado o arquivo novamente quando estiver
concluído, a violação de chave primária causará falha na
importação.
Deve-se aguardar até que o arquivo de registro
esteja concluído e fechado antes de importar.
Este procedimento também protege contra a importação acidental
de uma linha parcial que não tenha sido inteiramente escrita,
o que também causaria falha no COPY.
Exemplo 19.4. Exemplo do tradutor
Uso da saída de registro no formato CSV
Neste exemplo é mostrada a configuração do arquivo
postgresql.conf para produzir
registros no formato CSV, depois é criada a
tabela postgres_log,
conforme visto acima, carregada com o primeiro arquivo
gerado após a ativação do servidor e mostrada suas primeiras
7 linhas.
Foi usado o PostgreSQL 18 instalado
através de comandos apt-get install no
sistema operacional
Debian 12.
$ sudo su - postgres $ nano /etc/postgresql/18/main/postgresql.conf log_destination = 'csvlog' logging_collector = on log_directory = 'log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.csv' log_file_mode = 0600 log_rotation_age = 1d log_rotation_size = 0 log_truncate_on_rotation = on log_min_messages = warning log_min_error_statement = error log_min_duration_statement = 0 log_checkpoints = on log_disconnections = on log_statement = 'all' log_timezone = 'America/Sao_Paulo' $ systemctl restart postgresql $ psql psql (18.4 (Debian 18.4-1.pgdg12+1)) Digite "help" para obter ajuda. postgres=# CREATE TABLE postgres_log ... -- visto acima CREATE TABLE postgres=# COPY postgres_log FROM '/var/lib/postgresql/18/main/log/postgresql-2026-07-08_063012.csv' WITH csv; COPY 39 postgres=# SELECT log_time, message FROM postgres_log LIMIT 7\gx -[ RECORD 1 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.114-03 message | terminando saída do log para stderr -[ RECORD 2 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.114-03 message | iniciando PostgreSQL 18.4 (Debian 18.4-1.pgdg12+1) ↵ on x86_64-pc-linux-gnu, compiled by gcc ↵ (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit -[ RECORD 3 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.114-03 message | escutando no endereço IPv4 "0.0.0.0", porta 5432 -[ RECORD 4 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.114-03 message | escutando no endereço IPv6 "::", porta 5432 -[ RECORD 5 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.119-03 message | escutando no soquete Unix "/var/run/postgresql/.s.PGSQL.5432" -[ RECORD 6 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.152-03 message | sistema de banco de dados foi desligado em 2026-07-08 06:28:31 -03 -[ RECORD 7 ]---------------------------------------------------------------- log_time | 2026-07-08 06:30:12.163-03 message | sistema de banco de dados está pronto para aceitar conexões
Incluir jsonlog na lista
log_destination oferece uma maneira conveniente
de importar arquivos de registro para diversos programas.
Esta opção gera linhas de registro no formato JSON
[129].
Campos de cadeia de caracteres com valores nulos são excluídos
da saída.
No futuro poderão ser adicionados mais campos.
Aplicações de usuário que processem a saída de
jsonlog devem ignorar campos desconhecidos.
Cada linha de registro é serializada como um objeto JSON com o conjunto de chaves e seus valores associados mostrados na Tabela 19.4.
Tabela 19.4. Chaves e valores de entradas de registro JSON
| Nome da chave | Tipo | Descrição |
|---|---|---|
timestamp | cadeia de caracteres | Carimbo de data e hora com milissegundos |
user | cadeia de caracteres | Nome do usuário |
dbname | cadeia de caracteres | Nome do banco de dados |
pid | número | ID do processo |
remote_host | cadeia de caracteres | Hospedeiro cliente |
remote_port | número | Porta do cliente |
session_id | cadeia de caracteres | ID da sessão |
line_num | número | Número da linha por sessão |
ps | cadeia de caracteres | Exibição atual do ps |
session_start | cadeia de caracteres | Hora de início da sessão |
vxid | cadeia de caracteres | ID da transação virtual |
txid | cadeia de caracteres | ID da transação regular |
error_severity | cadeia de caracteres | Gravidade do erro |
state_code | cadeia de caracteres | Código SQLSTATE |
message | cadeia de caracteres | Mensagem de erro |
detail | cadeia de caracteres | Detalhes da mensagem de erro |
hint | cadeia de caracteres | Dica da mensagem de erro |
internal_query | cadeia de caracteres | Consulta interna que causou o erro |
internal_position | número | Índice do cursor na consulta interna |
context | cadeia de caracteres | Contexto do erro |
statement | cadeia de caracteres | Cadeia de caracteres da consulta fornecida pelo cliente |
cursor_position | número | Índice do cursor na cadeia de caracteres da consulta |
func_name | cadeia de caracteres | Nome da função onde ocorreu o erro |
file_name | cadeia de caracteres | Nome do arquivo do local do erro |
file_line_num | número | Número da linha do arquivo onde ocorreu o erro |
application_name | cadeia de caracteres | Nome da aplicação cliente |
backend_type | cadeia de caracteres | Tipo do processo servidor |
leader_pid | número | ID do processo do líder para trabalhadores paralelos ativos |
query_id | número | Query ID |
Exemplo 19.5. Exemplo do tradutor
Uso da saída de registro no formato JSON
Este exemplo é idêntico ao anterior para o formato CSV, só que para o formato JSON.
$ sudo su - postgres $ nano /etc/postgresql/18/main/postgresql.conf log_destination = 'csvlog,jsonlog' $ systemctl restart postgresql $ ls -l /var/lib/postgresql/18/main/log/ total 24 -rw------- 1 postgres postgres 6269 jul 8 14:21 postgresql-2026-07-08_142114.csv -rw------- 1 postgres postgres 10522 jul 8 14:21 postgresql-2026-07-08_142114.json -rw------- 1 postgres postgres 180 jul 8 14:21 postgresql-2026-07-08_142114.log $ cat /var/lib/postgresql/18/main/log/postgresql-2026-07-08_142114.log 2026-07-08 14:21:14.122 -03 [20663] LOG: terminando saída do log para stderr 2026-07-08 14:21:14.122 -03 [20663] DICA: Saída futura do log será enviada para "csvlog,jsonlog". $ psql psql (18.4 (Debian 18.4-1.pgdg12+1)) Digite "help" para obter ajuda. postgres=# CREATE TABLE postgres_jsonlog ( log_line jsonb ); CREATE TABLE postgres=# COPY postgres_jsonlog (log_line) FROM '/var/lib/postgresql/18/main/log/postgresql-2026-07-08_142114.json' csv quote e'\x01' delimiter e'\x02'; COPY 37 postgres=# SELECT log_line->>'timestamp' AS timestamp, log_line->>'message' AS message FROM postgres_jsonlog LIMIT 7\gx -[ RECORD 1 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.122 -03 message | terminando saída do log para stderr -[ RECORD 2 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.122 -03 message | iniciando PostgreSQL 18.4 (Debian 18.4-1.pgdg12+1) ↵ on x86_64-pc-linux-gnu, compiled by gcc ↵ (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit -[ RECORD 3 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.122 -03 message | escutando no endereço IPv4 "0.0.0.0", porta 5432 -[ RECORD 4 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.122 -03 message | escutando no endereço IPv6 "::", porta 5432 -[ RECORD 5 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.126 -03 message | escutando no soquete Unix "/var/run/postgresql/.s.PGSQL.5432" -[ RECORD 6 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.138 -03 message | sistema de banco de dados foi desligado em 2026-07-08 14:21:13 -03 -[ RECORD 7 ]----------------------------------------------------------------- timestamp | 2026-07-08 14:21:14.149 -03 message | sistema de banco de dados está pronto para aceitar conexões
Estas configurações controlam como os títulos dos processos servidores são modificados. Os títulos dos processos são normalmente vistos usando programas como o ps no Unix, ou o Gerenciador de Processos no Windows. Veja Ferramentas padrão do Unix para obter detalhes.
cluster_name (string)
#Define um nome que identifica este agrupamento de bancos de dados (instância) para diversas finalidades. O nome da instância aparece no título do processo para todos os processos servidores nesta instância. Além disso, é o nome padrão da aplicação para uma conexão em espera (veja synchronous_standby_names.)
O nome pode ser qualquer sequência de caracteres com menos de
NAMEDATALEN caracteres
(64 caracteres em uma construção padrão).
Apenas caracteres ASCII imprimíveis podem ser
usados no valor de cluster_name.
Os demais caracteres são substituídos por
sequências de escape hexadecimais no estilo C.
Nenhum nome será mostrado se este parâmetro for definido como
uma cadeia de caracteres vazia ''
(o padrão).
Este parâmetro só pode ser definido na ativação do servidor.
update_process_title (boolean)
#
O nome pode ser qualquer cadeia de caracteres com menos de
NAMEDATALEN caracteres
(64 caracteres em uma construção padrão).
Somente podem ser usados caracteres ASCII
imprimíveis no valor cluster_name.
Os demais caracteres são substituídos por pontos de
interrogação (?).
Nenhum nome será mostrado se este parâmetro estiver definido
como uma cadeia de caracteres vazia ''
(o padrão).
Apenas superusuários e usuários com o privilégio
SET apropriado podem alterar esta configuração.
[127] RFC 5424 – The Syslog Protocol (N. T.)
[129] Para ler um arquivo JSON contendo aspas (") incorporadas, as aspas internas devem ser precedidas por contrabarras (\"), ou pré-processadas para corrigir a formatação. Como muitas mensagens de registro contém aspas internas não precedidas por contrabarra, acabam acontecendo erros do tipo sintaxe de entrada inválida para o tipo de dados json como, por exemplo Token "csvlog" is invalid. Veja Importing JSON data (N. T.)