- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 SymmetricDS(开源版本)在 2 个 Postgres 服务器之间复制数据时遇到问题。以下是了解我的问题的相关信息:
我已经用 Vagrant 部署了 3 个服务器:
在 symmetricds.local
服务器中,我将 SymmetricDS 安装为一项服务。在 postgres##.local
服务器上安装 postgres 11 并加载 Sakila data (示例数据)。
然后我在 symmetricds.local
服务器中创建以下配置文件:
cat <<EOF >>/opt/symmetric-server-3.12.10/engines/postgres01.properties
engine.name=postgres01
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://192.168.44.10:5432/postgres?stringtype=unspecified
db.user=postgres
db.password=postgres
registration.url=
sync.url=http://192.168.44.9:31415/sync/postgres01
group.id=primary
external.id=postgres01
auto.registration=true
initial.load.create.first=true
EOF
cat <<EOF >>/opt/symmetric-server-3.12.10/engines/postgres02.properties
engine.name=postgres02
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://192.168.44.11:5432/postgres?stringtype=unspecified
db.user=postgres
db.password=postgres
registration.url=http://192.168.44.9:31415/sync/postgres01
sync.url=http://192.168.44.9:31415/sync/postgres02
group.id=primary
external.id=postgres02
EOF
之后我启动 SymmetricDS 服务:
sudo /opt/symmetric-server-3.12.10/bin/sym_service start
此时所有 sym_
表都在两个 Postgres 服务器中创建。
我在 postgres01.local
服务器中添加了一些数据,以便在两个 Postgres 服务器之间进行复制:
INSERT INTO sym_node_group_link (source_node_group_id,target_node_group_id,data_event_action)
VALUES ('primary','primary','P');
INSERT INTO sym_trigger (trigger_id, source_schema_name, source_table_name, channel_id, sync_on_update, sync_on_insert, sync_on_delete, sync_on_update_condition, sync_on_insert_condition, sync_on_delete_condition, last_update_time, create_time)
VALUES ('public.all', 'public', '*', 'default', 1, 1, 1, '1=1', '1=1', '1=1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
INSERT INTO sym_router (router_id,source_node_group_id,target_node_group_id,router_type,router_expression,sync_on_update,sync_on_insert,sync_on_delete,use_source_catalog_schema,create_time,last_update_by,last_update_time)
VALUES ('primary_2_primary', 'primary', 'primary', 'default', NULL, 1, 1, 1, 0, CURRENT_TIMESTAMP, 'console', CURRENT_TIMESTAMP);
INSERT INTO sym_trigger_router (trigger_id, router_id, enabled, initial_load_order, create_time, last_update_time)
VALUES ('public.all', 'primary_2_primary', 1, 10, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
最后,我在 symmetricds.local
服务器中运行它以允许注册:
sudo /opt/symmetric-server-3.12.10/bin/symadmin -e postgres01 open-registration primary postgres02
几分钟后,创建触发器并在 sym_
表之间共享数据。但不会复制用户数据(Sakila 表)。
我尝试强制重新加载表:
INSERT INTO sym_table_reload_request (source_node_id, target_node_id, trigger_id, router_id, create_time, last_update_time) VALUES ('postgres01', 'postgres02', 'ALL', 'ALL', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
但随后我在 SymmetricDS 日志中收到此错误:
2021-07-01 15:03:19,097 ERROR [postgres01] [InitialLoadService] [postgres01-job-11] Error while queuing initial loads StackTraceKey.init [SymmetricException:46596748] org.jumpmind.symmetric.SymmetricException: Unable to issue an update for sym_node_security. Check the sym_trigger_hist for sym_node_security.
at org.jumpmind.symmetric.service.impl.DataService.insertNodeSecurityUpdate(DataService.java:2230)
at org.jumpmind.symmetric.service.impl.DataService.insertSqlEventsPriorToReload(DataService.java:1227)
at org.jumpmind.symmetric.service.impl.DataService.insertReloadEvents(DataService.java:1006)
at org.jumpmind.symmetric.service.impl.InitialLoadService.processTableRequestLoads(InitialLoadService.java:282)
at org.jumpmind.symmetric.service.impl.InitialLoadService.queueLoads(InitialLoadService.java:98)
at org.jumpmind.symmetric.job.InitialLoadJob.doJob(InitialLoadJob.java:43)
at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:227)
at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:298)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2021-07-01 15:03:29,118 INFO [postgres01] [InitialLoadService] [postgres01-job-14] Found 1 table reload requests to process.
2021-07-01 15:03:29,131 INFO [postgres01] [InitialLoadService] [postgres01-job-14] Cancelling load 2 for node postgres02
2021-07-01 15:03:29,134 INFO [postgres01] [InitialLoadService] [postgres01-job-14] Marked 1 load requests as OK for node postgres02
2021-07-01 15:03:29,136 INFO [postgres01] [InitialLoadService] [postgres01-job-14] Marked 0 extract requests as OK for node postgres02
2021-07-01 15:03:29,137 INFO [postgres01] [InitialLoadService] [postgres01-job-14] Marked 0 batches as OK for node postgres02
2021-07-01 15:03:29,147 INFO [postgres01] [DataService] [postgres01-job-14] Queueing up an initial load to node postgres02
2021-07-01 15:03:29,175 ERROR [postgres01] [InitialLoadService] [postgres01-job-14] Error while queuing initial loads StackTraceKey [SymmetricException:46596748]
仍然没有任何内容被复制,sym_trigger_hist
表在 postgres01
上是空的,但在 postgres02
上充满了所有表。
Cloud 你能帮助我了解我的配置问题吗?
最佳答案
您应该在 postgres01 上运行 symadmin sync-triggers
命令来构建触发器。检查日志以查看是否有任何错误。如果触发器创建成功,sym_trigger_hist
表应该填充到 postgres01 中。
构建触发器要执行的命令是:
symadmin sync-triggers -e postgres01
关于postgresql - 使用 SymmetricDS 的主动-主动 PostgreSQL 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68213144/
我目前正在使用 SymmetricDS 3.8.27。我有一个逗号分隔的文件,其中包含数据库表的数据。是否可以使用 SymmetricDS 将该数据从 CSV 文件复制到 MySql 数据库表中?如果
我有一个运行 SymmetricDS 的 3 服务器。假设我的节点 1 是主节点,节点 2.node 3 是子节点。 当一些数据被插入到节点 2 时,它被同步到节点 1,类似地,节点 3 的数据正在与
我正在尝试使用 SymmetricDS pro v 3.7.23 配置一个复制的备份数据库 我使用 2 个文件:master.properties 用于主数据库: "external.id=serve
我感觉有点傻,我搜索答案并没有发现其他人遇到这个问题。 假设我有 NodeHQ、Node1 和 Node2。我已经创建了触发器来在 3 个之间同步 TableA,如下所示: Node1 NodeHQ
我已使用 Azure SQL 在 Azure Windows Server 2016 上为主数据库和从数据库设置了 SymmetricDS 节点。我现在想要在高可用性模式下设置 SymmetricDS
我需要为 SymmetricDS 创建一种新方言,以将数据从 MySQl/MSSql/Oracle 复制到新数据库(现在没有方言)。这个数据库有特定的sql。我已阅读http://www.symmet
我们正在尝试使用 SymmetricDS 将我们的 Microsoft SQL Server 模式复制到 MySQL 服务器, 我让它运行并且工作正常,但我需要采取的下一步是将 SymmetricDS
我们有一个 corp 节点和许多用于文件同步的存储节点。我们有从每个商店节点到公司节点的同步文件。不同店铺的源码目录不同。 我们可以使用 bean shell 脚本或任何扩展来动态更改文件触发器的基本
我正在使用对称 DS toll 进行数据库同步。每当我将一些字段插入主节点时,它应该流向从节点。 我检查了 sym_data 表,数据正在创建,但从属节点中没有更新数据,也没有存在错误的传出批处理。
我需要将数据从oracle迁移并同步到mysql。另外,我想要在同步和迁移期间进行数据转换,因为 mysql 的表设计与 oracle 不同。 我正在尝试使用 symmetryds 来实现我的目标,但
我有两个数据库:oracle 和 postgres。 SymmetricDS 在两个方向上同步表。似乎一切正常。但是我需要一个基于触发器的逻辑来“即时”更正插入/更新的行。此触发器必须位于 oracl
我将 SymmetricDS 与许多商店节点和一个公司节点一起使用。 我必须在存储节点中的表与公司节点中的表之间进行转换同步,并使用 sym_transform_table 和 sym_transfo
我需要编写代码,使用 SymmetricDS 并在按下按钮时同步两个数据库。 IE。我需要按下按钮,它显示它正在同步,然后当没有更多变化时它会说“一切正常”并让我继续操作。 除了确定一切都已同步的方法
我正在配置 SymmetricDS 3.6.12 的两个实例。服务器实例在 Glassfish 3 服务器中工作,使用 8181 端口作为 https。客户端实例作为服务运行(在 jetty 中),h
嗯,我正在尝试将数据从内存中的 DB1 迁移到我的 DB2。为此,我使用 SymmetricDS,其配置方式是,当 SymmetricDS 启动时,它将执行从 DB1 到 DB2 的初始加载。此外,每
我正在测试 SymmetricDS,我对应该使用哪种方法来同步某些特定的表有一些疑问。我有两个应用程序,第一个是 ERP,第二个是 PDV。有些表可以同步到所有 PDV 数据库,但是,在某些表中,行应
我正在尝试使用 SymmetricDS 为一个中心节点和许多客户端实现多主机双向同步。客户端仅与中央节点(星形拓扑)通信。我在处理主键冲突时遇到问题。 例如数据库包含带有列 id、name 的表“pe
INFO [client-001-job-3] o.j.s.s.impl.DataLoaderService - Using registration URL of http://localhost
我一直在尝试与 SymmetricDS 进行条件同步。问题是,无论我做什么,它都会忽略应该有条件同步的表,而只会无条件同步表。 所以我想,我错误地使用了这些条件。我在当前版本的用户指南中找不到此 Ma
我一直在从事一个涉及使用对称 ds 同步两个数据库的小项目。我的数据库之一是 mysql,另一个是 h2。我希望我的程序在单击时更新 h2 数据库。但是,更新函数会生成类似以下内容的错误: org.h
我是一名优秀的程序员,十分优秀!