postgres

Name

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

Synopsis

postgres [-A 0 | 1 ] [-B num_buffers] [-c nome=valor] [-d nível_de_depuração] [-D diretório_de_dados] [-e] [-E] [-f s | i | t | n | m | h ] [-F] [-i] [-N] [-o nome_do_arquivo] [-O] [-P] [-s | -t pa | pl | ex ] [-S memória_para_ordenação] [-W segundos] [--nome=valor] banco_de_dados
postgres [-A 0 | 1 ] [-B num_buffers] [-c nome=valor] [-d nível_de_depuração] [-D diretório_de_dados] [-e] [-f s | i | t | n | m | h ] [-F] [-i] [-o nome_do_arquivo] [-O] [-p banco_de_dados] [-P] [-s | -t pa | pl | ex ] [-S memória_para_ordenação] [-v versão_do_protocolo] [-W segundos] [--nome=valor]

Descrição

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

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

Quando chamado em modo interativo a partir da shell, o usuário pode entrar com comandos e os resultados são exibidos na tela, mas em 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 é muito apropriado para a depuração do servidor, porque não vai acontecer nenhuma comunicação entre processos e bloqueio genuínos.

Ao executar o servidor autônomo, o usuário da sessão será definido como o usuário com o identificador 1. Este usuário não necessita existir, portanto o servidor autônomo pode ser usado para recuperar manualmente certos tipos de danos 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 para este. Adicionalmente, opções específicas do postgres podem ser passadas pelo postmaster usando a chave -o.

Pode-se evitar digitar a maior parte destas opções usando um arquivo de configuração. Consulte o Guia do Administrador para obter detalhes. Algumas opções (seguras) também podem ser definidas pelo cliente ao se conectar, de um modo dependente do aplicativo. 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 vai interpretá-la como uma opção de linha de comando do postgres.

Finalidade geral

As opções -A, -B, -c, -d, -D, -F e --name possuem o mesmo significado que têm para o postmaster.

-e

Define o estilo padrão da data como "European", indicando que a regra "dia precedendo o mês" (em vez de mês precedendo o dia) deve ser usada para interpretar a entrada de datas ambíguas, e que o dia precede o mês em certos formatos de exibição de data. Consulte o Guia do Usuário do PostgreSQL para obter mais informações.

-o nome_do_arquivo

Envia toda a saída de depuração e de erros para o nome_do_arquivo. Se o processo servidor estiver executando sob o postmaster então esta opção será ignorada, e a stderr herdada do postmaster será usada.

-P

Ignora os índices do sistema ao varrer/atualizar as tuplas do sistema. O comando REINDEX para as tabelas/índices do sistema requer que esta opção seja utilizada.

-s

Exibe a informação de tempo e outras estatísticas ao final de cada comando. Útil para efetuar medições ou para definir o número de buffers.

-S memória_para_ordenação

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 valor padrão 512 kilobytes. Observe que para uma consulta complexa, diversas ordenações e/ou hashes podem ser executados em paralelo, podendo cada um utilizar o tanto de memória_para_ordenação kilobytes antes de começar a escrever os dados em arquivos temporários.

Opções para o modo autônomo

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

Exibe todos os comandos.

-N

Desativa 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, que estão mostradas aqui somente para o 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 versões futuras sem nenhum aviso.

-f { s | i | m | n | h }

Proíbe o uso de um método de varredura ou de junção em particular: s e i desativam as varreduras seqüenciais e de índices respectivamente, enquanto que n, m e h desativam as junções de laço-aninhado, mesclagem e hash respectivamente.

Note: 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 otimizador de usar estes tipos de plano se houver alguma outra alternativa.

-i

Proíbe a execução da consulta, mas mostra a árvore do plano.

-O

Permite modificar a estrutura das tabelas do sistema. Usado pelo initdb.

-p banco_de_dados

Indica que este servidor foi inicializado pelo postmaster fazendo suposições diferentes sobre o gerenciamento do buffer pool, descritores de arquivos, etc...

-t pa[rser] | pl[anner] | e[xecutor]

Exibe 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 versão_do_protocolo

Especifica o número da versão do protocolo cliente/servidor a ser usado por esta sessão em particular.

-W segundos

Tão logo esta opção seja encontrada, o processo adormece a quantidade especificada de segundos, dando ao desenvolvedor tempo para ligar o depurador ao processo servidor.

Utilização

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

postgres -D $PGDATA outras_opções meu_bd

Forneça o caminho correto para a área de 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 término da entrada; não existe inteligência com relação ao ponto-e-vírgula, como existe no psql. Para continuar um comando por várias linhas, deve-se digitar 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. O servidor vai ler a entrada padrão até a marca de fim-de-arquivo (EOF) e, então, vai processar 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 (geralmente Control+D). Se for usado o -N, então dois EOFs consecutivos são necessários para sair.

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

Consulte também

initdb, ipcclean, postmaster