hum... no quesito procedures no Postgres um dificuldade que tive foi fazer um
laço que percorresse as colunas de uma tabela, exemplo:
No AfterPOST
while EOF -- percorre o registro
for i ate tabela.colunas.conta
se old.campo[i].valor <> new.campo[i].valor
...
No Firebird isso é facim com Fields se não me engano
isso é muito usado pra guardar logs de alteração em determinadas tabelas
hoje faço isso via sistema
Marcelo Silva
-------------------------------
From: Matheus de Oliveira
Sent: Friday, August 17, 2012 1:50 PM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] firebirs X postgres
2012/8/17 Alberto Radtke <[email protected]>
Bom, vou tentar esclarecer o ambiente e dai a problemática.
# Temos uma aplicação web, onde a partir do login (cliente) é
identificado qual base de dados ele deve acessar.
# As bases de dados ficam todas em um mesmo servidor e na mesma
estrutura de diretório.
# Cada base de dados corresponde a um arquivo separado
Então sem dúvida você terá um único cluster do PostgreSQL.
Quanto à usar bases de dados ou esquemas, vai ser uma questão de escolha,
parece que pra você qualquer um vai ter o mesmo trabalho na mudança.
Mas acho que vai ter muito mais vantagens com esquemas, já que você tem dados
que são "globais", ou seja, usado por todos.
Uma dica no caso de esquemas, seria que deixe um esquema para dados "globais" e
um para cada cliente, daí após o login você altera o search_path para casar com
o esquema do cliente.
Exemplo:
SET search_path TO esquema_cliente_xxx, esquema_global;
Estudo um pouco sobre schemas e search_path para entender melhor.
# Hoje o ambiente é Microsoft mas está em movimentação para Linux.
Ótimo!
# É utilizado intensamente procedures e trigres, então o maior
trabalho não é a migração da estrutura e os dados, mas sim as
procedures e trigres, que em alguns casos são bem complexas.
Não tem muito jeito, terás de fazer isso na "mão". Eu recomendo a PL/pgSQL
mesmo, que a sintaxe é semelhange à do Firebird.
Só uma dica, a forma de retorno de funções do Firebird seguem "exatamente" o
mesmo modelo que o RETURNS TABLE do PostgreSQL, isso vai te ajudar na
conversão. Daí você simplesmente trocará o comando SUSPEND por RETURN NEXT.
Não seria legal se alguém criasse uma linguagem para o PostgreSQL baseada na
sintaxe do Firebird?
Na teoria seria só adaptar a gramática da pgSQL, na prática eu dúvido que seja
tão simples assim.
Meu problema é que com o Firebird é em achar mão de obra e suporte
documental. Então estamos analisando o custo benefício da migração
para o PostgreSQL.
Ai vem a discussão que estou levantando aqui, para eu poder ter a
visão de muitas pessoas para tomar alguma decisão, pois em termos de
documentação oficial e números não achei nada para ajudar.
Não entendi. De que números está falando?
--
Matheus de Oliveira
--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral