Tag: postgresql

Exemplos práticos de SELECTs simples com o PostgreSQL

O SQL é uma linguagem padrão para os bancos de dados relacionais, como o MySQL e SQL Server, mas como a sintaxe pode mudar um pouco de um SGBD para outro, resolvi fazer esse pequeno artigo com alguns exemplos práticos de alguns selects simples com o PostgreSQL. Disponibilizei também uma base de testes, que você pode utilizar para testar os exemplos que vou mostrar aqui.

Exemplo 1:

SELECT mat_alu AS matricula, nom_alu AS nome
FROM alunos

No exemplo acima estou trazendo a matrícula e o nome dos alunos que constam na tabela alunos.

Exemplo 2:

SELECT mat_alu AS matricula, nom_alu AS nome
FROM alunos
WHERE cod_curso = 10

No exemplo 2, utilizei a clausula WHERE para trazer apenas os alunos do curso com código 10.

Exemplo 3:

SELECT mat_alu AS matricula, nom_alu AS nome
FROM alunos
WHERE cod_curso = 10 or cod_curso = 8

No exemplo 3, trago apenas os alunos de cursos dos cursos de código 8 ou 10

Exemplo 4:

SELECT mat_alu AS matricula, nom_alu AS nome
FROM alunos
WHERE nom_alu like 'A%'

No exemplo 4, trago todos os alunos que tem o nome começado pela letra 'A'


Controle Acadêmico: Banco de Dados PostgreSQL para Estudo/Treinamento com Estrutura em Português

Algum tempo atrás postei um artigo com um banco de dados de exemplo para MySQL. Agora resolvi postar um para PostgreSQL. Tem uma estrutura bem diferente: é um controle acadêmico (simplificado, é claro). É bastante útil se você estiver estudando o PostgreSQL ou ministrando um treinamento básico.

Para fazer o download da base de dados, clique aqui.

Caso você precise da base de dados para algum trabalho acadêmico ou qualquer outro uso, fique à vontade para usar!


Perdi a senha do PostgreSQL no Ubuntu! E agora!?

Há alguns meses atrás fiz um artigo explicando como recuperar a senha do MySQL no Ubuntu. Dessa vez vou fazer o mesmo no PostgreSQL. É tão simples quanto.

Abra o Terminal (Menu Principal / Acessórios / Terminal) e digite:

sudo -u postgres psql template1
alter user postgres with password 'NOVA_SENHA'
\q (para sair)

O procedimento foi testado no Ubuntu 10.04 LTS.

Fonte: http://forum.wmonline.com.br/topic/201179-instalei-postgre-no-ubuntu-mas-ele-nao-me-deu-a-senha/


Sakila: Banco de Dados MySQL para Estudo/Treinamento com Estrutura em Português

Algumas semanas atrás estava ministrando um treinamento de SQL Básico para os novos estagiários na empresa em que trabalho, e o conteúdo era formado basicamente por: SELECTs, INSERTs, UPDATEs e DELETEs. A criação de tabelas e bancos não fazia parte da ementa. Com isso me veio a seguinte dúvida:

Será que não existe nenhuma base de dados que possa ser usado como exemplo num caso como esses? Uma base que já venha preenchida – com dados fictícios – para que seja melhor compreendido o uso de SELECTs utilizando JOINS, por exemplo?

Foi aí que encontrei um projeto chamado Sakila, desenvolvido para o MySQL, que é exatamente o que eu estava procurando. Trata-se de uma base de dados de uma locadora fictícia, e contém filmes, atores, clientes, locações, funcionários e tudo mais que uma sistema de locadora teria direito. Bastante útil para o que eu precisava. Você pode baixar o Sakila original em inglês aqui e outras bases de exemplo aqui.

O único "problema" é que a estrutura do Sakila é toda em inglês. Na verdade, não é exatamente um problema, mas isso pode dificultar um pouco a compreensão de quem não é muito bom em inglês.

Para resolver isso, eu traduzi a estrutura da base, ou seja, nomes de tabelas, colunas e chaves. O projeto original também possui outros recursos, como triggers, views e procedures, mas como não era do meu interesse no momento, eu removi esses recursos da base.

Para fazer o download do Sakila com estrutura em português, clique aqui.

Futuramente pretendo criar versões do Sakila para outros SGBD's, como o PostgreSQL e SQL Server, mas por causa do meu pouco tempo, não posso precisar uma data. Se você tiver interesse de colaborar com outros usuários do blog e fazer uma versão diferente, terei prazer em colocar o link aqui. 🙂

Caso você precise da base de dados para algum trabalho acadêmico ou qualquer outro uso, fique à vontade para usar!


Exemplo prático de como criar tabela com chaves estrangeiras no PostgreSQL

O PostgreSQL, assim como cada banco, tem suas particularidades. O conceito de criação de tabelas é basicamente o mesmo de banco pra banco, mas às vezes a sintaxe muda. Nesse artigo vou mostrar um pequeno exemplo prático de como criar duas tabelas, onde uma referencia a outra por meio de uma chave estrangeira (foreign key). Se você está procurando uma documentação mais completa, pode encontrar aqui e aqui. E vamos ao exemplo:

A primeira tabela a ser criada é uma tabela de estados. Ela possui uma chave primária (ds_sigla_estado):

CREATE TABLE tb_estado (
 ds_sigla_estado char(2) NOT NULL,
 ds_nome_estado character varying(100) NOT NULL,
 CONSTRAINT tb_estado_pkey PRIMARY KEY (ds_sigla_estado)
)

A segunda tabela é tb_município, que possui uma chave primária (id_municipio) e faz referência (chave estrangeira) ao campo ds_sigla_estado em tb_estado.

CREATE TABLE tb_municipio (
 id_municipio serial NOT NULL,
 ds_municipio character varying(100) NOT NULL,
 ds_sigla_estado char(2) NOT NULL references tb_estado(ds_sigla_estado),
 CONSTRAINT tb_municipio_pkey PRIMARY KEY (id_municipio)
)

Entendeu? Se não, utilize os comentários e tire suas dúvidas ou então leia mais sobre o assunto aqui e aqui.


EnterpriseDB lança versão comercial e ferramentas de segurança para o PostgreSQL 9

Essa semana a EnterpriseDB, a maior empresa prestadora de suporte comercial ao banco de dados PostgreSQL – o mais importante banco de dados livre atualmente – lançou o Postgres Plus Standard Server 9, que é uma versão comercial do PostgreSQL 9 lançado pela comunidade em setembro de 2010. A empresa também lançou ferramentas desenvolvidas para auxiliar os usuários do banco a ter mais segurança em suas bases e seus códigos.

“O Postgres Plus Standard Server 9 inclui todas as atualizações liberadas desde setembro”, informa Robin Schumacher, diretor de estratégia de produto na EnterpriseDB para a InternetNews.com.

Foram lançada três ferramentas. São elas:

Fonte: http://itmanagement.earthweb.com/secu/article.php/3921476/EnterpriseDB-Releases-New-Postgres-Plus-Security-Tools.htm


Maiores Patrocinadores do PostgreSQL

Pra quem nunca ouviu falar, o PostgreSQL é um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto. Tem mais de 15 anos de desenvolvimento ativo e uma arquitetura que comprovadamente ganhou forte reputação de confiabilidade, integridade de dados e conformidade a padrões.  Roda em todos os grandes sistemas operacionais, incluindo GNU/Linux, Unix e Windows.

Platinum

Command Prompt, Inc. (Estados Unidos)
EnterpriseDB (Estados Unidos)
Red Hat, Inc. (Estados Unidos)

Gold

2ndQuadrant (Reino Unido)
credativ GmbH (Alemanha)
Dalibo (França)
NTT Group (Japão)

Silver

conova communications GmbH (Áustria)
OverBlog (França)
Sun Microsystems, Inc. (Estados Unidos)

Bronze

Fujitsu (Austrália)
HP (Estados Unidos)
OTG (Estados Unidos)
Skype (Luxemburgo)

Fonte: http://www.postgresql.org/about/sponsors


Conectar ao PostgreSQL com o PHP e escolher um banco de dados

Diferente do MySQL, todas as informações são passadas em uma única string. Substitua servidor, banco_de_dados, usuario e senha por seus dados.
Veja como fazer:

$conexao = pg_connect("host=servidor dbname=banco_de_dados user=usuario password=senha") 
or die (pg_last_error());

Utilizando a função now() do MySQL ou PostgreSQL

Algumas vezes é necessário fazer o registro do momento em que um INSERT (cadastro) foi feito.

Para fazer isso existe a função now() do MySQL ou do PostgreSQL. Essa função pode ser utilizada em um campo de data (DATE, DATETIME etc.). Basta colocar como valor no seu INSERT a função now() (sem as aspas), que ele vai cadastrar a data (ou data e hora, se for DATETIME) do servidor na hora em que o registro foi criado.

INSERT INTO `pessoas`
(`nome`, `data_registro`)
VALUES
('Tiago Passos', now())

  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress