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]
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 é necessário este usuário existir e, portanto, o servidor autônomo pode ser usado para recuperar manualmente certos tipos de danos acidentais dos catálogos do sistema. No modo autônomo são concedidos poderes implícitos de superusuário ao usuário com identificador igual a 1.
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. Consulte a Seção 16.4 para obter detalhes. Também podem ser definidas algumas opções (seguras) a partir do cliente que se conecta, de uma forma dependente do aplicativo, aplicadas apenas para a sessão. Por exemplo, se a variável de ambiente PGOPTIONS estiver definida, então os clientes baseados na biblioteca libpq passarão esta cadeia de caracteres para o servidor, que irá interpretá-la como opções de linha de comando do postgres.
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.
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. Consulte a Seção 8.5 para obter informações adicionais.
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.
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 devido a índices do sistema danificados.
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.
Especifica a quantidade de memória a ser usada pelas ordenações e hashes internos, antes de recorrer a arquivos temporários em disco. Consulte a descrição do parâmetro de configuração work_mem na Seção 16.4.3.1.
Especifica o nome do banco de dados a ser acessado. Se for omitido o padrão é o nome do usuário.
Mostra todos os comandos.
Desativa o uso do caractere de nova-linha como delimitador do comando.
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.
Proíbe o uso de um determinado método de varredura ou de junção: s e i desativam a varredura seqüencial e de índice, respectivamente, enquanto n, m e h desativam 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 desativadas completamente; as opções -fs e -fn simplesmente desencorajam o uso pelo otimizador de planos destes tipos, se houver alguma outra alternativa.
Permite modificar a estrutura das tabelas do sistema. Usada pelo initdb.
Indica que este processo foi iniciado pelo postmaster e especifica o banco de dados a ser utilizado, etc.
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.
Especifica o número da versão do protocolo cliente/servidor a ser usado por uma determinada sessão.
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.
Esta opção mostra as variáveis de configuração internas do servidor, descrições e padrões, no formato delimitado por tabulação do COPY. Esta opção foi projetada para ser utilizada principalmente por ferramentas de administração.
Local padrão do diretório de dados.
Para as outras variáveis de ambiente, com pouca influência durante o modo monousuário, consulte o postmaster.
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.
Inicie o servidor autônomo com um comando do tipo:
postgres -D /usr/local/pgsql/data outras_opções meu_banco_de_dados
Deve ser fornecido o caminho correto para o diretório de dados do banco de dados através da chave -D, ou ter certeza que a variável de ambiente PGDATA está definida. Também deve ser especificao o nome do banco de dados com o qual se 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 do fim da 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 (por exemplo, não existe o histórico dos comandos).