从 Postgresql 中的相同 table (Database2) 更新 table (Database1)
Update a table (Database1) from the same table (Database2) in Postgresql
我有两个具有相似数据的数据库,但我想做的是将 sample_table 的更改从 Database2 更新为 sample_table 的数据库 1.
示例:
数据库1
[sample_table]
ID Reference Name
0001 Ref0001 Test1
0002 Ref0002 Test2
数据库2
[sample_table] - 有变化
ID Reference Name
0001 Ref0001 Name1
0002 Ref0002 Name2
在Database2的sample_table中,我更改了Name字段中的数据,我想应用[=38中的更改=] 在数据库 1 中。要执行什么 SQL 查询来执行此操作?我正在使用 pgAdminIII 和 pgAdmin4。 (两个数据库在同一台服务器上)
如有任何问题,请在下方评论。
这个问题没有单一的答案,您可以通过多种方式解决它。让我们列举几个:
为 Database2 创建一个简单的 sql 转储,编辑 table 名称以不同于 Database1 tables。执行修改后的 sql 转储到 Database1 中,将所有数据放入同一个数据库中。通过 id.
执行从导入的 tables 到原始 joining/matching 元组的更新
像建议的那样:创建一个 postgres_fdw 类型的外部数据包装器作为 described 以使用它直接从外部数据源更新原始 tables postgres.
创建一个连接到两个数据库的简单外部脚本,以从一个数据库读取并更新到另一个数据库。
使用一种(ETL,或Replication)软件系统可以保持数据库更新。 Bucardo or Kettle(Pentaho Data Integration) 之类的东西可以解决问题。
一切都取决于您需要多复杂或多简单的解决方案,一次或几次使用还是长期使用
我有两个具有相似数据的数据库,但我想做的是将 sample_table 的更改从 Database2 更新为 sample_table 的数据库 1.
示例:
数据库1 [sample_table]
ID Reference Name
0001 Ref0001 Test1
0002 Ref0002 Test2
数据库2 [sample_table] - 有变化
ID Reference Name
0001 Ref0001 Name1
0002 Ref0002 Name2
在Database2的sample_table中,我更改了Name字段中的数据,我想应用[=38中的更改=] 在数据库 1 中。要执行什么 SQL 查询来执行此操作?我正在使用 pgAdminIII 和 pgAdmin4。 (两个数据库在同一台服务器上)
如有任何问题,请在下方评论。
这个问题没有单一的答案,您可以通过多种方式解决它。让我们列举几个:
为 Database2 创建一个简单的 sql 转储,编辑 table 名称以不同于 Database1 tables。执行修改后的 sql 转储到 Database1 中,将所有数据放入同一个数据库中。通过 id.
执行从导入的 tables 到原始 joining/matching 元组的更新
像建议的那样:创建一个 postgres_fdw 类型的外部数据包装器作为 described 以使用它直接从外部数据源更新原始 tables postgres.
创建一个连接到两个数据库的简单外部脚本,以从一个数据库读取并更新到另一个数据库。
使用一种(ETL,或Replication)软件系统可以保持数据库更新。 Bucardo or Kettle(Pentaho Data Integration) 之类的东西可以解决问题。
一切都取决于您需要多复杂或多简单的解决方案,一次或几次使用还是长期使用