我有来自不同数据库的表,我想创建一个数据仓库数据库,其中包含来自不同数据库的不同表的表副本。我希望仓库中的数据每天与其他表中的数据同步。我正在使用postgresql
我尝试使用psql执行此操作:
pg_dump -t table_to_copy source_db | psql target_db
然而它没有工作,因为它一直说明像表不存在的错误。 当我将整个dabatase不仅仅倾倒到一个表时,这一切都有效,但是我想要同步数据,我想从不同的数据库而不是整个数据库中复制表。
我该怎么做? 谢谢!
答案 0 :(得分:1)
可能你需要FDW - 外部数据包装器。您可以在本地数据库的不同模式中为不同的外部数据库创建外部表。本地查询可访问的所有表。对于存储快照,您可以使用仅INSERT INTO local_table_YYYY_MM SELECT * FROM remote_table;
的本地表。
答案 1 :(得分:0)
<强> 1 强>
$var = echo $row["fontsize"];
....
....
imagettftext($this->fond,$var,0,200,400,$textcolor,$font,$item_text);
(正确检查表格名称,它表示不存在,表格不存在)
<强> 2 强>
pg_dump只允许转储选择表:
(从数据库'databasename'转储'tablename'到pg_dumps二进制自定义格式的文件'output.dump')
您可以恢复pg_restore:
pg_dump -t <table name> <source DB> | psql -d <target DB>
如果表本身已存在于目标数据库中,则只能通过添加pg_dump -Fc -f output.dump -t tablename databasename
标志来导入行。
<强> DBLINK 强>
您无法执行SQL Server等跨数据库查询,PostgreSQL不支持此功能。 PostgreSQL的DbLink扩展,用于将一个数据库连接到另一个数据库。您必须安装和配置DbLink才能执行跨数据库查询。
以下是在PostgreSQL中执行跨数据库查询的分步脚本和示例。请访问此post: