Viva,<br>a minha sugestão é fazer isso logo no Postgres.... ;-)<br>é bastante simples, exemplo: (em bold o SQL a correr depois de alterar nomes de tabelas e de campos)<br><br>1 - criar uma cópia da tabela = tabela de log :<br>
<br><b>SELECT * INTO log_tabela FROM tabela</b><br><br>2 - adicionar campos: data (será a data de alteração), utilizador (i.e. o login que irá alterar os dados) <br><b><br>ALTER TABLE log_tabela ADD COLUMN data_alter timestamp without time zone;<br>
ALTER TABLE log_tabela ADD COLUMN utilizador  text;</b><br><br>3 - Criar a função de trigger para registar as alterações na tabela. <br>Alterar os nomes de campos com base sua tabela... neste exemplo, a tabela tem campos gid, nome e the_geom<br>
<br><b>CREATE OR REPLACE FUNCTION f_tabela() RETURNS TRIGGER AS $$<br>BEGIN<br>    IF (TG_OP = &#39;UPDATE&#39;) THEN <br>        INSERT INTO log_tabela<br>        (<br>        gid, nome, the_geom, data_alter,utilizador  <br>
        )<br>        VALUES (<br>        OLD.gid, OLD.nome, now(),current_user<br>        );<br>    END IF;<br>RETURN NULL;<br>END;<br>$$<br>language &quot;plpgsql&quot; volatile</b><br><br><br>4 - Declarar o trigger para quando acontecer um evento na tabela:<br>
<br><b>CREATE TRIGGER trig_log_tabela<br>AFTER INSERT OR UPDATE OR DELETE ON tabela<br>FOR EACH ROW EXECUTE PROCEDURE f_tabela();</b><br><br><br>5 - melhorias:<br>se for necessário registar os INSERTs ou DELETEs, é só alterar a função....<br>
Muito flexível!<br><br><br><br><br><br><div class="gmail_quote">2010/4/22 Giovanni Manghi <span dir="ltr">&lt;<a href="mailto:giovanni.manghi@gmail.com">giovanni.manghi@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Olá,<br>
<br>
a minha sugestão é de por a questão directamente ao developer, através<br>
da mailing list qgis-developer ou qgis-user. Se o dev estiver disponível<br>
há sempre o &quot;risco&quot; que o bug ou a feature pedidos sejam<br>
resolvidos/implementados em pouco tempo.<br>
<br>
Se for um bug o conselho é sempre o de explicar passo a passo<br>
(possivelmente com um pequeno dataset) a forma de o reproduzir.<br>
<br>
Neste ultimo caso o sitio certo onde reportar o problema é o qgis bug<br>
tracker:<br>
<br>
<a href="https://trac.osgeo.org/qgis/report" target="_blank">https://trac.osgeo.org/qgis/report</a><br>
<br>
<br>
cumprimentos<br>
<font color="#888888"><br>
-- Giovanni --<br>
</font><div class="im"><br>
<br>
On Thu, 2010-04-22 at 04:39 -0800, cremat0rio wrote:<br>
&gt; Muito obrigado Giovanni,<br>
&gt;<br>
&gt; Já instalei e funciona bem, à excepção de um ponto.<br>
&gt; É que ele altera-me a tabela principal.<br>
&gt; Será que não há forma de criar uma tabela _hist à parte que armazenaria o<br>
&gt; histórico? Ou terei mesmo que alterar o código gerado pelo Postgis Manager?<br>
&gt;<br>
&gt; Obrigado.<br>
&gt; David<br>
&gt;<br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
Portugal mailing list<br>
<a href="mailto:Portugal@lists.osgeo.org">Portugal@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
</div></div></blockquote></div><br>