小编Sam*_*la 的帖子

在两个 PostgreSQL 数据库之间一致同步表

我有 2 个数据库: postgres (新);tnpm(旧)。目前,我需要将数据从[tnpm]复制到[postgres]。我可以使用以下方法复制它:

   INSERT INTO ip_cpu_mn(datetime, resource_name, cpu_utilization)

   SELECT cpu_mn.datetime,resource_name, cpu_utilization
   FROM dblink('host=10.0.32.175 user=postgres password=postgres dbname=TNPM_EXT',
 'SELECT datetime, resource_name, cpu_utilization
   FROM ext_ip.cpu_mn WHERE datetime =(SELECT MAX (datetime) - interval ''10 minutes'' as maxdate FROM ext_ip.cpu_mn)')

AS cpu_mn( datetime timestamp without time zone,
  resource_name character varying(150),
  cpu_utilization numeric(6,2))
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我开始在这些数据库之间进行验证时,新数据库中的数据不一致,似乎丢失了。复制过程使用 crontab 运行 5 分钟。我怎样才能避免这种情况?

在此输入图像描述

postgresql replication

4
推荐指数
1
解决办法
2万
查看次数

使用 dblink 更新列

我使用下面的参考来更新表 cust_eq_memory_dy 中的 2 列(客户名称、服务)。

表 msrouterlistfinal2 处的环回将匹配 cust_eq_memory_dy 处的地址。

当我在“FROM”处或附近遇到语法错误时,有人可以帮助我吗?

使用 dblink 在 2 个数据库之间更新不起作用

UPDATE cust_eq_memory_dy B 
SET customername = A.customername 
WHERE B.ipaddress = A.loopbackip 
FROM ( 
  SELECT *
  FROM DBLINK ( 'host= 10.X.80.160 user=123 password=123 dbname=postgres',
'select customername, serviceid, loopbackip FROM msrouterlistfinal2 ')
 as temp (
 customername character varying (100),
 serviceid character varying (50),
 loopbackip character varying (30) )
 )A
Run Code Online (Sandbox Code Playgroud)

postgresql inner-join

3
推荐指数
1
解决办法
2567
查看次数

标签 统计

postgresql ×2

inner-join ×1

replication ×1