Vous êtes sur la page 1sur 4

Criao de banco de dados

http://pgdocptbr.sourceforge.net/pg82/tutorial-cre...

Documentao do PostgreSQL 8.2.0


Anterior Incio

Captulo 1. Incio

Fim

Prxima

1.3. Criao de banco de dados


O primeiro teste para verificar se possvel acessar o servidor de banco de dados tentar criar um banco de dados. Um servidor PostgreSQL pode gerenciar muitos bancos de dados. Normalmente utilizado um banco de dados em separado para cada projeto ou para cada usurio. Possivelmente, o administrador j criou um banco de dados para seu uso. Ele deve ter dito qual o nome do seu banco de dados. Neste caso esta etapa pode ser omitida, indo-se direto para a prxima seo. Para criar um novo banco de dados, chamado meu_bd neste exemplo, deve ser utilizado o comando:
$ createdb meu_bd

Que deve produzir a seguinte resposta:


CREATE DATABASE

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

Criao de banco de dados

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

Criao de banco de dados

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]

/usr/bin/createdb no RedHat, Fedora, Mandrake, Debian e SuSE. (N. do T.)


[2]

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

Criao de banco de dados

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

Acesso a banco de dados

4 de 4

13-09-2011 02:54

Vous aimerez peut-être aussi