Juliano Ignácio Segunda-feira, 17 de março de 2003

Configuração do PostgreSQL

Quando baixamos os binários já compilados do PostgreSQL, ou quando não somos nós mesmos que instalamos o próprio, como saberemos com quais opções ele foi criado?
A resposta é simples: através do utilitário pg_config.

Com este utilitário distribuído juntamente com o PostgreSQL, é possível verificar quais foram as opções que foram instaladas na compilação do PostgreSQL.

pg_config --configure

Para maiores informações: pg_config --help ou então em http://www.ca.postgresql.org/users-lounge/docs/7.3/postgres/install-procedure.html (em inglês), onde apresenta a descrição de cada uma das opções disponíveis para a compilação do PostgreSQL.

LINGUAGENS DISPONÍVEIS PARA O POSTGRESQL

O PostgreSQL suporta diversas linguagens para criação de procedimentos armazenados (stored procedures e functions). Isso permite que você utilize a linguagem mais apropriada para uma tarefa específica. As linguagens suportadas definidas pelo postgresql.org são: SQL, C, PL/pgSQL, PL/Python, PL/Perl e PL/Tcl. As linguagens PL/Ruby, PL/sh e PL/Java são definidas por outros projetos. Há rumores da existência de um PL/bash também.

PL/Perl, PL/Tcl e PL/Python requerem a configuração dos seus respectivos servidores. O restante das linguagens suportadas pelo PostgreSQL existem por default. Funções em C requerem que sejam instalados os arquivos de cabeçalho (.h) para servidores como também para clientes.

PL/Perl é ótimo para manipulação de caracters (muito rápido, mas precisa saber utilizá-lo). PL/Python é ótimo para rodar agregados (aggregates) e gatilhos (triggers) (dada a sua versatilidade em termos de objeto). Alguns preferem Tcl. Funções em SQL são muito simples e diretas e, PL/pgSQL é o cavalo-de-batalha que disponibiliza um controle de processo básico com instruções em  SQL. Esta variedade é ótima não somente para as pessoas especialistas em uma determinada linguagem, como também para aquelas que se preocupam em implementar a melhor linguagem para uma determinada tarefa.

Nos links abaixo você encontrará maiores informações (em inglês) sobre cada uma dessas linguagens.

C http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/xfunc-c.html
SQL http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/xfunc-sql.html
PL/pgSQL http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/plpgsql.html
PL/Perl http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/plperl.html
PL/Tcl http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/pltcl.html
PL/Python http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/plpython.html
PL/sh http://webmail.postgresql.org/~petere/plsh.html
PL/R http://www.joeconway.com/plr/
PL/Java http://pljava.sourceforge.net/
PL/Ruby http://raa.ruby-lang.org/list.rhtml?name=pl-ruby

Contribuiram para este artigo: Roman Fail rfail at posportal.com, Joe Conway mail at joeconway.com, Neil Conway neilc at samurai.com, elein at varlena.com, Juliano S. Ignacio at imasters.com.br


Até semana que vem. Dúvidas, críticas e sugestões podem ser enviadas diretamente para meu e-mail, colocando no assunto (subject) "iMasters-PSQL".
Um abraço a todos.