2

我想备份一个 Firebird 数据库,但从备份中排除某些表,这可能吗?

如果没有,我想在 Firebird 数据库运行时制作一份副本(不进行备份和还原)

gbak 和 nbackup 似乎都不支持这样的事情,但是我们公司有一个可以进行选择性备份的软件,我只是不知道它是如何工作的。我想复制它的行为。

4

3 回答 3

1

您可以使用 fbexport http://fbexport.sourceforge.net导出表和查询

于 2012-10-31T07:21:54.943 回答
0

gbak 只能做一个完整的数据库,但可以在 Firebird 在线时运行。

在不备份的情况下使用 gbak 最接近的方法是通过管道 gbak -B 到 gbak -R 来跳过中间备份文件。这也应该节省一些时间,因为这两个操作同时发生。例如,

gbak -B dbhost:mydb stdout -user SYSDBA -password masterkey | gbak -R stdin /firebird/mydbcopy.fdb -user SYSDBA -password masterkey

否则,如果您只是想移动数据,您正在查看第 3 方工具。您还可以编写一个过程来利用ON EXTERNAL DATA SOURCE在本地刷新您选择的表。(仅限火鸟 2.5)

于 2012-10-31T20:31:21.140 回答
0

Firebird 版本 3 的 gbak 中有一个名为 skip_d 的新参数,您可以将正则表达式赋予此参数。

你可以在这里找到详细信息

例如:gbak -b -skip_d '(table1|table2|table3)' -user ...

于 2017-11-13T19:13:58.450 回答