Hoje estarei apresentando algumas ferramentas de projeto, administração e modelagem, que facilitam a vida de quem trabalha com o banco de dados PostgreSQL. Agradeço antecipadamente a Diogo Biazus, membro do Grupo Global de Desenvolvimento do PostgreSQL, pela contribuição dada a esta coluna.
PGAccess
http://www.pgaccess.org
A maioria das plataformas
Este é a interface gráfica para usuário (GUI) original do PostgreSQL, no estilo do navegador de banco de dados do MS Access, escrito em Tcl/Tk. Permite navegar, adicionar e editar tabelas, visões, funções, seqüências, bases de dados e usuários, assim como consultas auxiliadas por gráficos (QBE).
phpPgAdmin
http://sourceforge.net/projects/phppgadmin
Multiplataforma baseado em navegador, requer servidor de internet
Um clone do popular phpMyAdmin, otimizado para o PostgreSQL. Como o próprio nome já diz, foi criado em PHP. Esta é uma ferramenta administrativa muito boa, robusta, e existe uma versão totalmente em português. Funciona muito bem, têm muitas funcionalidades e é código livre.
PGAdmin II
http://pgadmin.postgresql.org
Somente plataforma Windows com acesso via ODBC
Uma interface completa de administração do PostgreSQL, similar ao Microsoft Enterprise Manager e escrito em VB com ADO. Permite o gerenciamento de praticamente todos os objetos do banco de dados e consultas ad-hoc.
OpenOffice.org
http://www.openoffice.org
Plataformas Windows, Linux e Solaris
Um pacote de aplicativos para escritório de código aberto com um navegador de banco de dados limitado através de interfaces de "Origens de Dados" (ODBC). Consegue gerar moderadamente complexos relatórios e formulários de entrada de dados simples.
Red Hat
http://sources.redhat.com/rhdb
Plataforma Linux
Um tanto quanto polêmico, mas a Red Hat lançou seu banco de dados baseado no PostgreSQL, beneficiando-nos com novas ferramentas gráficas para projeto e administração de bases de dados.
Xpg
http://www.kazak.ws/xpg
A maioria das plataformas que rodem uma máquina virtual Java
Interface de administração do banco de dados PostgreSQL baseado em Java, com acesso a tabelas e entrada de dados, interface para consultas e habilidade para exportar o resultado das mesmas para relatórios em HTML.Porém tem algumas limitações, algumas funções como criação de índices não podem ser feitas visualmente.É de código livre e tem um instalador RPM.
TOra
http://freshmeat.net/projects/tora
Plataforma Linux
Originalmente, uma interface de administração de banco de dados Oracle, com habilidades limitadas para administrar bases de dados PostgreSQL (tabelas, visões e funções, somente). Porém, o sofisticado editor de funções do TOra irá funcionar para o PostgreSQL.
DBVisualizer
http://www.minq.se
Plataforma Windows
Para quem quer uma ferramenta que funcione com vários bancos de dados diferentes, seja simples para rodar comandos SQL e visualizar a estrutura do banco de dados essa é a ferramenta certa. Não possui funcionalidades administrativas, é um visualizador.
PGExplorer
http://www.pgexplorer.com
Plataforma Windows
Esta é outra interface de administração de banco de dados PostgreSQL, muito parecida com o PGAdmin II.
DBTools
http://www.dbtools.com.br
Plataforma Windows
É uma ferramenta de gerenciamento com ótima usabilidade,
desenvolvida por uma empresa brasileira, mas o software e a documentação
estão em inglês. Se você for um usuário do antigo DBManager (versão
1.0.15 ou anterior) você irá se surpreender com o DBTools.
Zeos Database Explorer
http://www.zeoslib.org
Plataforma Windows
Permite a administração do banco de dados PostgreSQL com a ajuda de uma interface aperfeiçoada com controles avançados. O número de conjuntos de comandos incluem serviços de migração de bases de um ambiente para outro, assim como, um utilitário de cópia de segurança da base de dados e restauração da mesma.
PgManager
http://www.ems-hitech.com/pgmanager
Plataforma Windows
Basicamente, uma versão com mais recursos dos conhecidos PGAdmin II e PGAccess. Agrega suporte a edição de gatilhos e restrições, acha metadados e monitora consultas. Também inclui ferramentas de importação/exportação de múltiplos formatos de dados.
Data Architect
http://www.thekompany.com/products/dataarchitect
Plataforma Linux
Ferramenta de modelagem, pode ser usada para gerar bases a partir de um modelo ER (Entidade de Relacionamento). Gera o script SQL e funciona bem com o PostgreSQL, conecta com o banco através do Unix ODBC. Não é código aberto, mas o preço é muito bom para o potencial da ferramenta.
tedia2sql
http://tedia2sql.tigris.org
Múltiplas plataformas
Conversor de diagramas UML do programa Dia (muito utilizado em plataformas Linux/Unix) para scripts SQL. Esta é a ferramenta que permite criar diagramas de entidade relacional no Dia, e depois converter este modelo para um script SQL, inclusive para PostgreSQL.
Sybase Power Designer
http://sybase.com/products/enterprisemodeling/powerdesigner
Múltiplas plataformas
Ferramenta avançada de modelagem com suporte ao PostgreSQL, incluindo tabelas, visões, gatilhos, restrições e integridade referencial.
Microsoft Access
http://office.microsoft.com
Somente plataforma Windows com acesso via ODBC
Exatamente! Você pode usar o Microsoft Access como interface para administração de um banco de dados PostgreSQL. Contudo, você terá que conviver com as limitações impostas pelo ODBC com relação aos recursos que o programa oferece.
ERWin
http://www3.ca.com/Solutions/Product.asp?ID=260
Plataforma Windows
Aparentemente, um dos mais avançados e utilizados modeladores de entidade relacional. Não possui suporte direto ao PostgreSQL, porém, seus recursos flexíveis geram, com pouquíssimas alterações, scripts prontos para o PostgreSQL.
Para que o ERWin gere um
script compatível com o PostgreSQL, basta criar os domínios necessários
em "Domain Dictionary" no menu "Model"
para este banco de dados, como por exemplo SERIAL, INT2 ou SMALLINT,
INT4 ou INTEGER, etc.
EXEMPLO - criar um novo domínio "Serial":
Em "Domain Dictionary", na ficha "General"
ao lado, escolha em "Domain Parent" a opção "Number"
(nas versões mais recentes um botão "New..." abre uma
caixa com esta mesma função);
Na ficha "ORACLE", em "Oracle Datatype"
substitua o conteúdo que estiver aparecendo por "SERIAL";
Clique em OK.
A partir daí, pode-se criar as tabelas com campos de tipos específicos
para o PostgreSQL, ou seja, ao criar as colunas em uma tabela
através da caixa "Columns", na ficha "General"
basta escolher o domínio que criou (no caso "Serial"),
que então, o tipo relacionado aparecerá automaticamente na caixa
"ORACLE" ("SERIAL").
Ficam somente alguns poucos detalhes a serem corrigidos ao gerar
o script
1. Substituir "ASC" por ""
quando gerar índices;
2. Substituir "ADD (" por "ADD " e ") ;" por " ;" (ambos sem os
parênteses) na criação de restrições (constraints);
3. Para criar gatilhos (triggers), use o código abaixo
na caixa "Triggers", ficha "Code":
DROP TRIGGER %TriggerName ON %TableName;
CREATE TRIGGER %TriggerName
%Fire %Actions(" OR ")
ON %TableName
%Scope
EXECUTE PROCEDURE f_%TriggerName();
...o nome da função será o nome do gatilho precedido de "f_" (detalhes
sobre gatilhos veja na documentação do PostgreSQL). Depois é só
escrever a função.
e pronto!
DeZign for Databases
http://www.datanamic.com/dezign/index.html
Plataforma Windows
Esta é uma ferramenta de desenvolvimento de banco de dados que usa diagramas de entidade de relacionamento para modelagem e, gera automaticamente esquemas em SQL inclusive para o PostgreSQL. Suporta domínios, gera relatórios e dicionário de dados.
Case Studio 2
http://www.casestudio.com
Plataforma Windows
Esta é outra ferramenta de gerenciamento e projeto de banco de dados utilizando modelagem de diagramas de entidade relacional, também gera scripts SQL para o PostgreSQL e contém alguns recursos diferenciais como por exemplo, suporte a JScript e VBScript.
Estes não são todos, mas uma lista dos mais usados
ou comentados programas que auxiliam na administração do banco
de dados PostgreSQL. Dúvidas, críticas e sugestões podem ser enviadas
diretamente para o meu e-mail, colocando no assunto (subject)
"iMasters-PSQL".
Um abraço a todos, e até a próxima semana.
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Juliano Ignácio é Gerente de Arquitetura de Dados na Prosoft Tecnologia e participa da coordenação do projeto PostreSQL Brasil.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.