Resolvi fazer este pequeno artigo sobre o PostgreSQL para ajudar aos necessitados (eu também sou um) que estão começando agora e não conheçam os comandos básicos (básicos mesmo) dessa extraordinária ferramenta.
Criando, acessando e adicionando dados: banco de dados e tabela
Para criar um banco de dados, fazemos:
CREATE DATABASE nosso_banco_de_dados;
// utiliza-se ponto-e-vírgula no final de cada comando SQL
Para acessar este banco de dados que acabamos de criar (único modo que sei fazer):
Saímos do PostgreSQL usando: \q
Retornamos ao PostgreSQL usando o comando:
psql nosso_banco_de_dados
Agora que estamos acessando nosso banco de dados, iremos criar uma simples tabela nele.
CREATE TABLE tabela_noticia (
titulo VARCHAR(90), -- título da notícia
conteudo TEXT -- texto da notícia
);
Alguns comentários:
'CREATE TABLE' é o comando utilizado para criar uma tabela.
'tabela_noticia' é o nome da tabela.
'titulo' é uma coluna da tabela_noticia e 'VARCHAR(90)' é o tipo de variável desta coluna (VARCHAR(X) = X caracteres).
'conteudo' outra coluna da tabela_noticia e 'TEXT' é o tipo da variável desta coluna.
Dois traços '--' introduz um comentário, o PostgreSQL ignora o que vem depois deles.
Para saber mais sobre o comando 'CREATE TABLE' digite:
\h CREATE TABLE
Para inserir uma notícia com o título: 'minha primeira noticia' e com o conteúdo: 'esta eh a minha primeira noticia', devemos usar o seguinte comando:
INSERT INTO tabela_noticia (titulo, conteudo) VALUES ('minha primeira noticia', 'esta eh a minha primeira noticia');
Pronto, se tudo correu bem, sem nenhum erro, então temos um banco de dados, uma tabela e dados inseridos nesta tabela. Para vermos os dados salvos nesta tabela, ou seja, para lermos as notícias gravadas, digitamos o comando:
SELECT * FROM tabela_noticia;
Receberemos o texto de resposta:
titulo | conteudo
------------------------+----------------------------------
minha primeira noticia | esta eh a minha primeira noticia
(1 row)
Minha pequena ajuda acaba por aqui. Sim, só pra concluir, se não gostou desta tabela, para excluí-la faça:
DROP TABLE tabela_noticia;
e para apagar o BANCO DE DADOS (único modo que sei fazer):
Saia do PostgreSQL: \q
Volte ao PostgreSQL: psql
Depois digite:
DROP DATABASE nosso_banco_de_dados;
\q
Se você tiver alguma dica para melhorar este artigo, não hesite, envie agora mesmo!
[1] Comentário enviado por fabio em 05/07/2004 - 05:05h
Olá! O PostgreSQL quando instalado cria um usuário chamado "postgres", que possui uma shell com permissões totais de gerenciamento do banco de dados. Como "root", digite:
# su - postgres
Verifique:
$ whoami
postgres
Jóia! Agora você possui uma série de comandos que podem ser usados para gerenciar o PostgreSQL:
[2] Comentário enviado por fabmas em 05/07/2004 - 08:49h
como usuario postgres, acesse o arquivo /var/lib/pgsql/data/postgres.conf.
Ele é o principal arquivo de configuração do Banco...Algumas variaveis importantes:
- tcpip_socket -> deixe-a como true
- max_connections-> o Padrao é 32. Caso tenha mais maqs 'penduradas',
altere-a.
-port - > O padrão é 5432. Se houver necessidade, altere-a.
Outro arquivo importante é o /var/lib/pgsql/data/pg_hba.conf. É nele que vc determina quais maqs e usuarios terão acesso aos seus bancos.
Boa diversão...
[3] Comentário enviado por removido em 05/07/2004 - 14:27h
E quanto a relacionamentos?
Na empresa que trabalho utilizamos ASP com SQLServer, mas gosto mesmo de programar com PHP, tanto é que todos os meus projetos fora da empresa são em PHP. Porém trabalho sempre com MySQL, e sinto falta de poder fazer relacionamentos nas tabelas diretamente no banco de dados. Existem alguma forma de fazê-los em PostgreSQL? E quanto a Stored Procedures, isso existe em PHP também?
[4] Comentário enviado por jllucca em 06/07/2004 - 09:25h
Opa, gostei do artigo!
Mas, o postgreSQL não necessita senhas como o MySQL?? Ou essa foi uma parte abstraida?
Sobre ele ser parecido com o MySQL e com o SqlServer(da MS) é porque tanto um quanto outro descendem dá mesma linguagem SQL. Fato sugerido pelo proprio nome dos SGDB, mas cada um com seu dialeto e peculiaridade.
[5] Comentário enviado por laudelino7 em 07/07/2004 - 10:24h
mauorowil,
tem um outro artigo meu que está em estado de "espera" para ser publicado e ele comenta exatamente sobre isso que você quer saber: a comunicação do PHP com o PostgreSQL.
[7] Comentário enviado por rbmzion em 04/01/2005 - 11:39h
não estou conseguindo usar meu psql, tenho mandrake 10.1 e no processo da instalação eu mandei ele instalar, mas não sei como usar! alguem pode me ajudar
[9] Comentário enviado por hnpjunior em 08/03/2005 - 08:48h
No mysql (3.23), eu uso o php para fazer as checagens de integridade quando uso mais de uma tabela em um relacionamento. Como posso fazer para usar o psgl, fazendo relacionamentos diretamente entre as tabelas?
[11] Comentário enviado por lineugo em 14/04/2008 - 14:39h
cara é o seguinte estou meio perdeido..
onde eu digito esses comandos ja enetendi como funciona mas não sei onde e como escrevo estes comandos para acessar meu DB no postgresql