I was wondering if dropping a table is more efficient in PostgreSQL
8.x in comparison to deleting it's content ?
To put you in the picture - I want to schedule via cron job some daily
data materialization. With the resource I got there are only those two
ways:
1) DROP statement:
a) DROP TABLE tmp;
b) CREATE TABLE tmp AS select * from ....;
2) DELETE statement:
a) DELETE FROM tmp;
b) INSERT INTO tmp SELECT * from ....;
tmp table doesn't have any index nor constraints.
The thing is, postgresql may leave some invalid content behind in both
situations. The real question is - which of those two options leaves
less garbage to be vaccumed ? At this point I don't relay care about
cost based efficiency but cutting down pg background work.