我想备份Firebird数据库但是从备份中排除某些表,这可能吗?
如果没有,我想在Firebird数据库正在运行时复制它(不进行备份,然后进行恢复)
gbak和nbackup似乎都不支持这样的东西,但我们公司里面有一个可以进行选择性备份的软件,我根本不知道它是如何工作的。我想复制它的行为。
答案 0 :(得分:0)
您可以使用fbexport导出表格和查询 http://fbexport.sourceforge.net
答案 1 :(得分: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
否则,如果您只是想移动数据,那么您正在查看第三方工具。您还可以编写一个过程来利用ON EXTERNAL DATA SOURCE在本地刷新所选表。 (仅限Firebird 2.5)
答案 2 :(得分:0)
在Fireb的版本3中,gbak中有一个名为skip_d的新参数,您可以为此参数提供正则表达式。
您可以在here
中找到详细信息例如:gbak -b -skip_d'(table1 | table2 | table3)' - 用户......