Académique Documents
Professionnel Documents
Culture Documents
http://pgdocptbr.sourceforge.net/pg82/tutorial-cre...
Captulo 1. Incio
Fim
Prxima
Se esta resposta for mostrada ento esta etapa foi bem sucedida, podendo-se pular o restante da seo. Se aparecer uma mensagem semelhante a
createdb: comando no encontrado
ento o PostgreSQL no foi instalado da maneira correta, ou no foi instalado, ou o caminho de procura no foi definido corretamente. Tente executar o comando utilizando o caminho absoluto:
$ /usr/local/pgsql/bin/createdb meu_bd
O caminho na sua mquina pode ser diferente. Fale com o administrador, ou verifique novamente as instrues de instalao para corrigir a situao. [1] Outra resposta pode ser esta: [2]
1 de 4
13-09-2011 02:54
http://pgdocptbr.sourceforge.net/pg82/tutorial-cre...
createdb: could not connect to database postgres: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? -- Traduo da mensagem (N. do T.) createdb: no foi possvel conectar com o banco de dados postgres: no foi possvel conectar com o servidor: Arquivo ou diretrio inexistente O servidor est executando localmente e aceitando conexes no soquete do domnio Unix "/tmp/.s.PGSQL.5432"?
Significando que o servidor no foi inicializado, ou que no foi inicializado onde o createdb esperava que fosse. Novamente, verifique as instrues de instalao ou consulte o administrador. Outra resposta pode ser esta:
createdb: could not connect to database postgres: FATAL: role "joel" does not exist -- Traduo da mensagem (N. do T.) createdb: no foi possvel conectar com o banco de dados postgres: FATAL: o papel "joel" no existe
onde mencionado o nome de seu login. Isto acontecer se o administrador no tiver criado uma conta de usurio no PostgreSQL para seu uso (As contas de usurio do PostgreSQL so distintas das contas de usurio do sistema operacional). Se voc for o administrador, obtenha ajuda para criar contas no Captulo 18. Ser necessrio se tornar o usurio do sistema operacional que instalou o PostgreSQL (geralmente postgres) para criar a primeira conta de usurio. Tambm pode ter sido atribudo para voc um nome de usurio do PostgreSQL diferente do nome de usurio do sistema operacional; neste caso, ser necessrio utilizar a chave -U, ou definir a varivel de ambiente PGUSER, para especificar o nome de usurio do PostgreSQL. Caso se possua uma conta de usurio, mas esta conta no possua o privilgio necessrio para criar bancos de dados, ser exibida a seguinte mensagem:
createdb: database creation failed: ERROR: permission denied to create database -- Traduo da mensagem (N. do T.) createdb: a criao do banco de dados falhou: ERRO: negada a permisso para criar banco de dados
Nem todo usurio possui autorizao para criar bancos de dados. Se o PostgreSQL se recusar a criar o banco de dados, ento o administrador do banco de dados dever conceder permisso
2 de 4
13-09-2011 02:54
http://pgdocptbr.sourceforge.net/pg82/tutorial-cre...
para voc criar bancos de dados. Consulte o administrador caso isto ocorra. Caso tenha instalado o PostgreSQL por si prprio, ento voc dever se conectar ao PostgreSQL sob a mesma conta de usurio do sistema operacional utilizada para inicializar o servidor, para as finalidades deste tutorial. [3] Tambm podem ser criados bancos de dados com outros nomes. O PostgreSQL permite a criao de qualquer nmero de bancos de dados em uma instalao. Os nomes dos bancos de dados devem ter o primeiro caractere alfabtico, sendo limitados a um comprimento de 63 caracteres. Uma escolha conveniente criar o banco de dados com o mesmo nome do usurio corrente do sistema operacional. Muitas ferramentas assumem este nome de banco de dados como sendo o nome padro, evitando a necessidade de digit-lo. Para criar este banco de dados deve ser digitado simplesmente:
$ createdb
Se no desejar mais utilizar o seu banco de dados, voc poder remov-lo. Por exemplo, se voc for o dono (criador) do banco de dados meu_bd, poder remov-lo utilizando o seguinte comando:
$ dropdb meu_bd
Para este comando o nome de usurio do sistema operacional no utilizado como nome padro do banco de dados: o nome sempre deve ser especificado. Esta ao remove fisicamente todos os arquivos associados ao banco de dados no podendo ser desfeita, portanto esta operao somente deve ser feita aps um longo perodo de reflexo. Podem ser encontradas informaes adicionais sobre os utilitrios createdb e dropdb em createdb e dropdb, respectivamente. Notas
[1]
soquete As chamadas de sistema para estabelecer a conexo so um tanto diferentes para o cliente e para o servidor, mas ambas envolvem basicamente a construo de um soquete. O soquete uma extremidade do canal de comunicao entre processos. Cada um dos dois processos estabelece seu prprio soquete. Para criar o soquete, o programa precisa especificar o domnio de endereo e o tipo de soquete. Dois processos podem se comunicar somente se seus soquetes so do mesmo tipo e do mesmo domnio. Existem dois domnios de endereo amplamente utilizados: o domnio Unix, no qual dois processos compartilham um arquivo do sistema em comum para se comunicar; e o domnio Internet, no qual dois processos executando em dois hospedeiros quaisquer na Internet se comunicam. Cada um destes domnios possui seu prprio formato de endereo. O endereo de soquete do domnio Unix uma cadeia de caracteres, que basicamente uma entrada no sistema de arquivos. O endereo de soquete do domnio Internet consiste no endereo de Internet da mquina hospedeira (todo computador na Internet possui um endereo nico de 32 bits, geralmente chamado de endereo de IP). Adicionalmente, no domnio Internet, cada soquete necessita do nmero da porta no hospedeiro. Sockets Tutorial (N. do T.)
3 de 4
13-09-2011 02:54
http://pgdocptbr.sourceforge.net/pg82/tutorial-cre...
[3]
Uma explicao do motivo pelo qual isto funciona: Os nomes de usurio do PostgreSQL so distintos das contas de usurio do sistema operacional. Ao estabelecer a conexo com um banco de dados, pode ser escolhido o nome do usurio do PostgreSQL com o qual se deseja fazer a conexo; Se isto no for feito, o padro utilizar um nome igual ao da conta atual do sistema operacional. Como isto ocorre, sempre existir uma conta de usurio do PostgreSQL com nome igual ao do usurio do sistema operacional que inicializou o servidor; acontece, tambm, que este usurio sempre tem permisso para criar banco de dados. Em vez de conectar como este usurio, pode ser especificada a chave -U em todos os aplicativos para escolher o nome do usurio do PostgreSQL com o qual se deseja conectar.
Anterior Principal Acima Prxima
Fundamentos da arquitetura
4 de 4
13-09-2011 02:54