PostgreSQL: comandos básicos

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.

[ Hits: 241.401 ]

Por: Laudelino em 05/07/2004


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):
  1. Saímos do PostgreSQL usando: \q
  2. 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):
  1. Saia do PostgreSQL: \q
  2. 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!
Página anterior    

Páginas do artigo
   1. Introdução
   2. Criando, acessando e adicionando dados: banco de dados e tabela
Outros artigos deste autor

Método de Newton e PHP

Programando PostgreSQL + PHP

Criptografando mensagens com PHP

Leitura recomendada

Como migrar banco de dados MySQL para PostgreSQL

Instalando PostgreSQL 8.1 com extensão para dados espaciais (PostGis) e interface de gerenciamento (PgAdmin3)

Criando um banco de dados espacial com PostgreSQL + PostGIS

Microsiga Protheus com Postgres

Partição de tabelas no PostgreSQL

  
Comentários
[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:

- pg_dumpall
- psql
- createuser
- dropdb
- dropuser
- clusterdb
- vacuumdb
- createdb
- pg_dump
- pg_restore
- readpgenv
- psql-wm

A partir daí você pode criar uma database assim:

$ createdb vivaolinux

E por aí vai! Cada comando da lista acima possui sua man page, divirta-se!

[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.

[]'s

[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.

[6] Comentário enviado por neliocelso em 16/11/2004 - 13:10h

Por enquanto não vou falar nada porque prefiro avaliar o conteudo oferecido para mais tarde opinar.

[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

[8] Comentário enviado por germano_silva em 24/02/2005 - 21:54h

Uma coisa a ressaltar é que:

Vc primeiro deve criar a estrutura do banco;
depois definir o acesso ao mesmo;
Criar os usuarios e senha;

e só depois entaum poderá partir para o que foi relatado no artigo, pq se naum vc faz tudo bonitinho e depois naum consegue acessar o mesmo.

[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?

[10] Comentário enviado por tihgre em 09/05/2006 - 13:54h

Uma coisa a adicionar e que quando eu estava aprendendo achei difícil de encontrar. Como modificar a senha do usuário postgres....

logue no console do postgre:
# su - postgres
$ psql postgres
postgres=# alter user postgres with encrypted password 'sua-senha';

:-)

[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

[12] Comentário enviado por louiselima em 09/10/2014 - 08:57h

Nossa... Me ajudou bastante. *-* Obrigada.

[13] Comentário enviado por celso_linuxer em 26/01/2015 - 00:52h

legal


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts