我有一个具有数百万行的表。我想释放空间并同时备份它。但是,如果(步骤1)我pg_dump表,然后(步骤2)截断它,它也会删除那些在步骤1和步骤2之间插入的行。
要转储单个表,请使用以下命令:-
pg_dump --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "<abstract_file_path>" --table public.tablename dbname
并截断:-
TRUNCATE TABLE tablename;
按照上述2个步骤,它还将删除在这2个步骤之间添加的行。
如何仅删除转储的行?
PS:这是一个可以在X间隔后运行的cronjob。 X也可以更改加班时间。