postgres

Nome

postgres -- executa o servidor PostgreSQL no modo monousuário

Sinopse

postgres [-A 0 | 1 ] [-B número_de_buffers] [-c nome=valor] [-d nível_de_depuração] [--describe-config] [-D diretório_de_dados] [-e] [-E] [-f s | i | t | n | m | h ] [-F] [-N] [-o nome_do_arquivo] [-O] [-P] [-s | -t pa | pl | ex ] [-S memória_de_trabalho] [-W segundos] [--nome=valor] nome_do_banco_de_dados
postgres [-A 0 | 1 ] [-B número_de_buffers] [-c nome=valor] [-d nível_de_depuração] [-D diretório_de_dados] [-e] [-f s | i | t | n | m | h ] [-F] [-o nome_do_arquivo] [-O] [-p nome_do_banco_de_dados] [-P] [-s | -t pa | pl | ex ] [-S memória_de_trabalho] [-v protocolo] [-W segundos] [--nome=valor]

Descrição

O executável postgres é o verdadeiro processo servidor PostgreSQL que processa os comandos. Normalmente não é chamado diretamente; em vez deste é iniciado o servidor multiusuário postmaster .

A segunda forma acima é como o postgres é chamado pelo postmaster (somente conceitualmente, porque o postmaster e o postgres são, na verdade, o mesmo programa); não deve ser chamado diretamente desta maneira. A primeira forma chama o servidor diretamente no modo monousuário interativo. A principal utilização deste modo é durante a inicialização pelo initdb . Algumas vezes é utilizada para depuração ou para recuperação de desastre.

Quando chamado no modo interativo a partir da linha de comando, o usuário pode entrar com comandos e os resultados são mostrados na tela, mas de uma forma que é mais útil para os desenvolvedores do que para os usuários finais. Deve-se notar que executar o servidor em modo monousuário não é inteiramente adequado para a depuração do servidor, uma vez que não acontecerá nenhuma comunicação entre processos e bloqueio de fato.

Ao executar o servidor autônomo, o usuário da sessão será definido como o usuário com o identificador 1. Não há necessidade deste usuário existir e, portanto, o servidor autônomo pode ser usado para recuperar manualmente certos tipos de dano acidentais dos catálogos do sistema. Poderes implícitos de superusuário são concedidos ao usuário com identificador igual a 1 no modo autônomo.

Opções

Quando o postgres é iniciado pelo postmaster , herda todas as opções definidas por este. Além disso, opções específicas do postgres podem ser passadas pelo postmaster usando a chave -o.

Pode-se evitar a digitação destas opções definindo um arquivo de configuração. Veja a Seção 16.4 para obter detalhes. Algumas opções (seguras) também podem ser definidas, por um modo dependente da aplicação, pelo cliente se conectando. Por exemplo, se a variável de ambiente PGOPTIONS estiver definida, então os clientes baseados na libpq passam esta cadeia de caracteres para o servidor, que irá interpretá-la como opções de linha de comando do postgres.

Finalidade geral

As opções -A, -B, -c, -d, -D, -F e --nome possuem o mesmo significado que no postmaster , exceto que -d 0 impede o nível de log do postmaster ser propagado para o postgres.

-e
Define, para os campos de entrada de data, o estilo padrão da data como "European", que é a ordem DMY. Também faz o dia vir antes do mês em certos formatos de saída de data. Veja a Seção 8.5 para obter mais informações.
-o nome_do_arquivo
Envia toda saída do log do servidor para nome_do_arquivo. Se o postgres estiver executando sob o postmaster esta opção será ignorada, e a stderr herdada do postmaster será utilizada.
-P
Ignora os índices do sistema ao ler as tabelas do sistema (mas continua atualizando os índices ao modificar as tabelas). É útil ao se fazer a recuperação por causa de índices do sistema corrompidos.
-s
Mostra a informação de tempo, e outras estatísticas, ao final de cada comando. Útil para avaliações ou para definir o número de buffers.
-S memória_de_trabalho
Especifica a quantidade de memória a ser usada pelas ordenações e hashes internos, antes de recorrer a arquivos temporários em disco. O valor é especificado em kilobytes, sendo o padrão 1024. Deve ser observado que para uma consulta complexa, podem ser executadas em paralelo diversas ordenações e/ou hashes, podendo cada uma utilizar a quantidade de memória_de_trabalho kilobytes antes de começar a escrever os dados em arquivos temporários.

Opções para o modo autônomo

nome_do_banco_de_dados
Especifica o nome do banco de dados a ser acessado. Se for omitido o padrão é o nome do usuário.
-E
Mostra todos os comandos.
-N
Desabilita o uso do caractere de nova-linha como delimitador do comando.

Opções semi-internas

Existem várias outras opções que podem ser especificadas, usadas principalmente para fins de depuração, mostradas apenas para uso pelos desenvolvedores de sistema do PostgreSQL. A utilização de qualquer uma destas opções é altamente desaconselhada. Além disso, qualquer uma destas opções poderá mudar ou desaparecer em uma versão futura sem nenhum aviso.

-f { s | i | m | n | h }
Proíbe o uso de um determinado método de varredura ou de junção: s e i desabilitam a varredura seqüencial e de índice, respectivamente, enquanto n, m e h desabilitam as junções de laço-aninhado, mesclagem e hash, respectivamente.
Nota: Nem as varreduras seqüenciais nem as junções de laço aninhado podem ser desabilitadas completamente; as opções -fs e -fn simplesmente desencorajam o uso pelo otimizador de planos deste tipo, se houver alguma outra alternativa.
-O
Permite modificar a estrutura das tabelas do sistema. Usada pelo initdb.
-p nome_do_banco_de_dados
Indica que este processo foi iniciado pelo postmaster e especifica o banco de dados a ser utilizado, etc.
-t pa[rser] | pl[anner] | e[xecutor]
Mostra estatísticas de tempo para cada comando, relacionando com cada um dos principais módulos do sistema. Esta opção não pode ser usada junto com a opção -s.
-v protocolo
Especifica o número da versão do protocolo cliente/servidor a ser usado por esta sessão.
-W segundos
Tão logo esta opção seja encontrada, o processo adormece pela quantidade especificada de segundos, dando ao desenvolvedor tempo para anexar o depurador ao processo servidor.
--describe-config
Esta opção mostra as variáveis de configuração internas do servidor, descrições e padrões, em um formato delimitado por tabulação do COPY. Foi projetado para ser utilizado principalmente por ferramentas de administração.

Ambiente

PGDATA
Localização padrão do diretório de dados.

Para as outras variáveis de ambiente, com pouca influência durante o modo monousuário, veja o postmaster .

Observações

Para cancelar a execução de um comando, deve ser enviado o sinal SIGINT para o processo postgres executando este comando.

Para fazer o postgres recarregar os arquivos de configuração, deve ser enviado o sinal SIGHUP. Normalmente é melhor enviar o sinal SIGHUP para o postmaster que, por sua vez, enviará o sinal SIGHUP para cada um de seus descendentes. Mas em alguns casos pode-se querer que apenas um processo postgres recarregue os arquivos de configuração.

O postmaster utiliza SIGTERM para comunicar a um processo postgres que termine normalmente, e SIGQUIT para que termine sem a limpeza normal. Estes sinais não devem ser utilizados pelos usuários. Também não é aconselhável enviar um SIGKILL para um processo postgres — o postmaster vai interpretar como sendo uma queda do postgres, e vai obrigar todos os processos postgres descendentes terminarem como parte de seu procedimento padrão de recuperação de quedas.

Utilização

Inicie o servidor autônomo com um comando do tipo:

postgres -D /usr/local/pgsql/data outras_opções meu_banco_de_dados

Forneça o caminho correto para o diretório do banco de dados com -D, ou garanta que a variável de ambiente PGDATA esteja definida. Também especifique o nome do banco de dados em que deseja trabalhar.

Normalmente, o servidor autônomo trata o caractere de nova-linha como fim da entrada do comando; não existe inteligência sobre ponto-e-vírgula, como existe no psql. Para continuar o comando por várias linhas, deve ser digitado uma contrabarra (\) logo antes de cada nova-linha, exceto a última.

Mas se for usada a chave de linha de comando -N, o caractere de nova-linha não termina a entrada do comando. Neste caso, o servidor lê a entrada padrão até a marca de fim-de-arquivo (EOF) e, então, processa a entrada como sendo a cadeia de caracteres de um único comando. A seqüência contrabarra nova-linha não recebe tratamento especial neste caso.

Para sair da sessão tecle EOF (Control+D, geralmente). Se for utilizado -N, serão necessários dois EOF consecutivos para sair.

Deve ser observado que o servidor autônomo não oferece funcionalidades sofisticadas para edição de linha (não existe o histórico dos comandos, por exemplo).

Veja também

initdb , ipcclean , postmaster

SourceForge.net Logo