如何转储postgres数据库,不包括一个特定的表?

mem*_*und 7 postgresql

我想pg_dump用来备份postgres数据库内容.我只想忽略一个包含几百GB缓存数据的特定表.

我怎么能用pg_dump实现这个目标?

Lon*_*Rob 11

根据文档,有一个选项可以--exclude-table通过匹配模式从转储中排除表(即它允许使用通配符):

-T table --exclude-table = table不要转储与表模式匹配的任何表.根据与-t相同的规则解释模式.-T可以多次给出以排除匹配任何几种模式的表.

当同时给出-t和-T时,行为是仅转储匹配至少一个-t开关但没有-T开关的表.如果-T没有-t,则匹配-T的表将从正常转储中排除.

有几个例子在这里.

  • FWIW,由于表上存在一些键等,--exclude-table 对我来说是有问题的,但 --exclude-table-data 对我来说工作得很好。 (21认同)