2014-09-30 19:37 GMT-03:00 Fabrízio de Royes Mello <fabri...@timbira.com.br> :
> > Boa Tarde, gostaria de saber como fazer para zerar os dados de uma > database > > sem apagar a estrutura. Se alguém tiver alguma dica agradeço.. > > > > Você tem algumas alternativas: > > 3) Rodar um TRUNCATE em todas as tabelas (esse acho mais interessante > pois recria o datafile em disco) Essa opção é legal, porque dá pra zerar as sequences de campos tipo serial também, além de poder usar o CASCADE e não ter que se preocupar com a ordem das dependências (como faria com DELETE). Eu faria algo do tipo (não testado): 1) Executa a consulta: SELECT format('TRUNCATE TABLE %I.%I RESTART IDENTITY CASCADE;', schemaname, tablename) FROM pg_tables WHERE schemaname !~ '^(pg_.*|information_schema)$'; 2) Salva o resultado num arquivo, confere e executa (uma boa ideia colocar numa transação também). Dá até pra fazer direto (meio arriscado): $ psql dbname -c "SELECT format('TRUNCATE TABLE %I.%I RESTART IDENTITY CASCADE;', schemaname, tablename) FROM pg_tables WHERE schemaname !~ '^(pg_.*|information_schema)$';" | psql dbname --single-transaction Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral