Forsell Sistemas wrote:

> Então mesmo um Delete from seguido de vacuum não resolve? achei que os dados 
> iam se embaralhar, se reordenar na hora de tirar os espaços com o vacuum.
> então a única possibilidade de alguma informação de tabela não ficar no pc 
> ainda é o desfragmentador? (ha, estou falando de pc com windows instalado, o 
> xp mais expecificamente). 
> 
Não. O PostgreSQL não apaga os registros removidos mesmo após um 
'vacuum' (essa é uma operação muita cara e desnecessária do ponto de 
vista do SGBD). O que ele faz é marcar que aquele item (aka registro) 
pode ser reutilizado.
Tenha em mente que todas as operações que você executa ficam gravadas no 
  log de transação também. Então mesmo que você remova o arquivo, pode 
ser possível ler a informação a partir dos arquivos do log de transação.
Eu não sou nenhum especialista forense mas para apagar qualquer vestígio 
dos dados inseridos você deve:
(i) DELETE FROM sigilo WHERE ...;
(ii) descobrir o oid da tabela sigilo e o oid do banco de dados;
(iii) CREATE TABLE foo AS SELECT * from sigilo; -- vai criar um outro oid;
(iv) DROP TABLE sigilo;
(v) CHECKPOINT; -- removendo arquivo(s) da tabela sigilo
(vi) parar o banco;
(vii) reescrever várias vezes o(s) arquivo(s) 
$PGDATA/base/oiddobanco/oidsigilo* e depois removê-lo(s) em definitivo 
-- tentativa de evitar prática forense;
(viii) descobrir todos os arquivos em $PGDATA/pg_xlog;
(iv) pg_resetxlog $PGDATA;
(x) reescrever várias vezes os arquivos que estavam no passo (viii) e 
depois removê-los em definitivo -- tentativa de evitar prática forense;
(xi) iniciar o banco;
(xii) ALTER TABLE foo RENAME TO sigilo; -- voltando o nome inicial da 
relação.

Como não sou especialista forense não sei te dizer se os passos (vii) e 
(x) garantirão que os dados nunca mais sejam recuperados.
No mais, acho que isso é paranóia desnecessária. :-) Tenha em mente que 
você perderá os logs de transação de várias transações o que pode 
impossibilitar uma possível recuperação de outros dados.


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a