问题标签 [slony]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - postgres 主从数据库上的 slony-I 复制问题
我有两个系统,操作系统为 windows 8 和 windows XP。我在两个系统上都安装了用于数据库复制的 postgres plus 高级服务器。我按照这个链接进行了整个过程。但是我有一个问题要运行以.sk文件扩展名编写的脚本。我在 google 和 stackoverflow 上进行了搜索,但没有得到任何合适的解决方案。
任何人都可以帮我解决这个问题。如果有任何疑问,请坦率地问。
注意:- 这个问题可能在 stackoverflow 或任何其他问题上重复。两者都在 LAN 上使用,XP 有域管理员帐户,Windows 8 有本地系统管理员帐户。
postgresql - Slony“重复键值违反唯一约束”错误
我有一个持续更长时间的问题。我使用 slony 将数据库从主服务器复制到从服务器,然后从该从服务器复制到其他三个备份服务器。每隔 2-3 周就会出现一个关键重复问题,该问题仅发生在一个特定的表上(数据库中的大但不是最大的)。
它开始像一年前在 Postgres 8.4 和 slony 1 上发生,我们切换到 2.0.1。后来我们把它升级到2.0.4,我们成功地将slony升级到2.1.3,它是我们当前的版本。我们在同一台计算机上开始了新的复制,直到今天一切顺利。我们在同一张表上得到了相同的重复键错误(当然每次都有不同的键)。
清理它的解决方案只是删除从属服务器上的无效密钥(它分布在所有节点上),然后一切都恢复正常了。数据未损坏。但问题的根源仍未解决。
在谷歌中,我没有发现与此问题相关的任何内容(我们没有在任何表上使用截断,我们没有更改表的结构)。
有什么想法可以做些什么吗?
postgresql - PostgreSQL:设置集群 Slony I 路径
我已经安装了已安装 slony 的 PostgreSQL 企业,我尝试在 Options Slony-I 中设置路径...因为当我尝试创建新集群时,我看到消息:
slony-i 创建脚本不可用,只能加入
我设置了路径C:\PostgresPlus\9.3AS\share , C:\PostgresPlus\9.3AS\lib , C:\PostgresPlus\9.3AS
,但没有更改,我再次看到新消息并且无法创建集群。谁能帮我?什么是正确的道路?
谢谢
ubuntu-12.04 - 使用 pgadmin+slony+ubuntu 进行复制
我正在使用 postgres 9.2 和 slony1-2.0.0-rc1。问题是,每当我创建 slony-I 集群时,它都会显示 slony-I 创建脚本不可用,只能加入。
我还设置了二进制路径 usr/bin/postgresql 但仍然无法正常工作。请帮我解决这个问题。
提前致谢。
postgresql - slony1-2.2.1 安装错误
我正在尝试在 ubuntu 12.04 + postgresql-9.3 中安装 slony1-2.2.1。配置完成,但是当我触发“make all”命令时,显示以下错误:
root@administrator:/home/priyatam/Desktop/icons/slony1-2.2.1# make all
make[1]: 进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src'
make[2]: Entering directory
/home/priyatam/Desktop/icons/slony1-2.2.1/src/parsestatements' ./test-scanner < /dev/null > emptytestresult.log ./test-scanner < ./test_sql. sql > test_sql.log `
./test-scanner < ./cstylecomments.sql > cstylecomments.log
make[2]: Leaving directory
/home/priyatam/Desktop/icons/slony1-2.2.1/src/parsestatements'make[2]:进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/slon'
make[2]: Nothing to be done for
all'。make[2]: 离开目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/slon'
make[2]: Entering directory
/home/priyatam/Desktop/icons/slony1-2.2.1/src/slonik' make[2]: 无事可做all'.
make[2]: Leaving directory
/home/priyatam/Desktop/icons/slony1-2.2.1 /src/slonik' make[2]: 进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/backend'
gcc -g -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../.. -fpic -I/usr/include/postgresql -c -o slony1_funcs.o slony1_funcs.c
slony1_funcs.c:23:23: fatal error: miscadmin.h: No such file or directory
compilation terminated.
make[2]: *** [slony1_funcs.o] Error 1
make[2]: Leaving directory
/home/priyatam/Desktop/icons/slony1-2.2.1/src/backend' make[1]: * [all] Error 2 make[1]: Leaving directory ` /home/priyatam/Desktop/icons/slony1-2.2.1/src' 制作:* [全部] 错误 2
请帮帮我。
triggers - dblink 无法在更新后触发器中更新同一数据库上的表
我正在研究使用 slony 复制的数据库,并尝试创建一个触发器,该触发器将在INSERT
对表进行操作后触发。
在此触发器中,我尝试使用 dblink 更新同一数据库的另一个表。但是我收到一条错误消息,说当我尝试更新第二个表时,我刚刚插入到第一个表中的值不存在。
我正在使用 dblink,因为如果我使用常规 UPDATE 语句更新第二个表,则不会触发 slony 同步。
第一张表:
第二张表:
扳机:
触发功能:
至于错误信息,我不知道如何让PostgreSQL打印英文信息。
基本上它说SHIPPING_ID
外键不存在于运输表中。
奇怪的是,当我尝试在不使用dblink_exec
它的情况下进行更新时效果很好。但正如我之前所说,我需要通过 dblink 进行此更新,以确保 slony 会注意到更新。
slony - Slony 同步到 14 个从站,13 个从站运行良好,但 1 个从站慢
我在我的 15 台机器上安装了 Slony,所有 slon --version 都是 2.2.2,我下载源代码并自己编译 slon 和 slonik。
1个Master和14个Slave,slave位于diff办公室,连接都是通过互联网
13 个从站运行良好,几乎立即同步。
1 个从机行为有线,这个有线从机可以与主同步,但似乎延迟了几个小时
例如,一个名为“accounts”的表,所有其他从站都已同步,此有线从站要等到 30 分钟~3 小时后。
我知道有一个参数 slon -l lag 间隔,但我不使用 lag 参数
和 iostate, htop, 似乎是正常的。
我在下面找到了警告消息并用谷歌搜索了这条消息,但徒劳无功,没有帮助
有什么我可以检查这个有线奴隶的吗?
windows - Slony 错误,复制 Postgres - Slonik:PGRES_FATAL_ERROR load '$libdir/slony1_funcs.2.2.0
到目前为止,我已经成功地在单台计算机上完成了 Postrong 的 Slony 复制(主从服务器都驻留在同一台计算机上,即本地主机)。
我在 Ubuntu 12.04、Suse Enterprise server 11 和 Windows 中做过。我遵循了此链接中的示例步骤。http://www.linuxjournal.com/article/7834?page=0,0这个_
我什至能够在两个不同的 Windows 计算机主 IP 之间执行此步骤:192.168.0.3 从属 IP 192.168.0.8)
但是当我在运行slonik C:\Slony\mtscript.txt时尝试 Windows 和 Suse 之间的 Slony 复制( Master: Windows(192.168.0.3)和Slave:Suse(192.168.0.9) ) ,我得到了这个错误
C:\Slony\mtscript.txt:8: PGRES_FATAL_ERROR 加载 '$libdir/slony1_funcs.2.2.0'; - 错误:无法访问文件“$libdir/slony1_funcs.2.2.0”:没有这样的文件或目录
C:\Slony\mtscript.txt:8: 错误:无法在数据库'dbname=repdb_slave host=192.168.0.9 port=5432 user=postgres password=root'中加载 Slony-I C 函数的扩展
当我用谷歌搜索这个错误时,我发现了很多,我只是通过破坏命令 ./pg_config 我才知道,
(1)windows slony1_funcs.2.2.0.dll在LIBDIR = C:/PROGRA~2/POSTGR~1/9.3/lib (即C:\Program Files (x86)\PostgreSQL\9.3\lib)
(2)并且在 Suse中slony1_funcs.2.2.0.so在PKGLIBDIR = /opt/PostgreSQL/9.3/lib/postgresql
编辑 :
我的脚本文件:mtscript.txt
我已经安装了相同版本的 Postgres(版本 9.3.5.1)和 slony(2.2.0-1)。(都从这里下载32 位版本)
Windows Postgres 安装目录是 C:\Program Files (x86)\PostgreSQL\9.3
suse Postgres 安装目录是 /opt/PostgreSQL/9.3/bin
那么如何解决这个错误呢?如何在 windows 和 linux(suse) 之间执行 Slony 复制?
任何帮助将不胜感激。
提前致谢
windows - PG Admin III Slony-I 创建脚本不可用
我已经通过 Windows 平台上的 Stack Builder 安装了 PostgreSQL 9.4 (x86)、PG Admin 1.20 和 Slony-I 2.2.3。尝试在 pgAdmin 中创建新的 Slony 集群时,我收到“Slony-I 创建脚本不可用”错误消息。
1) 我有设置选项 Slony-I 到
-->:C:\Program Files (x86)\PostgreSQL\9.4\share的路径
所有 slony1_*.sql 脚本所在的位置,但我仍然遇到相同的错误。
2) 使用 procmon 我看到 PGAdmin 尝试访问
“slony1_funcs.sql”和“slony1_funcs.2.2.0.sql”,这些都在我的 \share 目录中不存在
安装的 funcs 脚本是“slony1_funcs.2.2.3.sql”、“slony1_funcs.v83.2.2.3.sql”、slony1_funcs.v84.2.2.3.sql,基本脚本是“slony1_base.2.2.3.sql” , "slony1_base.v83.2.2.3.sql", slony1_base.v84.2.2.3.sql
3)我试图将“slony1_funcs.2.2.3.sql”重命名为“slony1_funcs.2.2.0.sql”和“slony1_funcs.sql”,我现在收到一个新错误“无法测试 Slony 版本。假设1.2.0”和“Slony-I 创建脚本不可用”错误消息
有谁知道如何让它工作?
postgresql - slony 中表 id 的限制是什么?
我正在使用 slony 设置 postgres 复制。我有许多包含相同(或非常相似)表集的模式,因此我为每个模式创建单独的复制集。每个模式都有特定的唯一编号,因此该编号成为集合的 id。
然后我将表添加到复制中。据我所知,每个表都必须在所有表中具有唯一的 ID。因为每个月都会创建表,所以表的 id 由年、月和集合 id 连接而成。一切正常,但是当 set id 有四位数字时(例如,表 id 将是:)2015051162
,在将表添加到复制后给我一个错误:
在我看来,这个表 id 太大了,因为对于具有个位数 id 的集合,一切都正确复制。表 id 是否有任何限制,除了它在复制集群中必须是唯一的?