我试图用pushdelta在主 – 从设置中设置bucardo,但是在尝试创build同步时,我仍然遇到以下错误。
bash-4.1$ bucardo_ctl add sync dns source=dns_tables type=pushdelta targetgroup=dns_slaves WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=dns;port=5432 at line 191. CONTEXT: PL/Perl function "validate_sync" SQL statement "SELECT validate_sync('dns')" PL/Perl function "validate_sync" Failed to add sync: DBD::Pg::st execute failed: ERROR: DBD::Pg::st execute failed: ERROR: permission denied for schema bucardo LINE 1: SELECT 1 FROM bucardo.bucardo_delta_targets WHERE tablename=... ^ at line 191. at line 30. CONTEXT: PL/Perl function "validate_sync" at /usr/sbin/bucardo_ctl line 3362.
这是因为我没有正确设置远程部分或?,主人的hba / ident如下所示:
# TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only #local all postgres trust host all postgres 127.0.0.1/32 ident local all postgres ident local all bucardo ident map=bucardo local dns dns md5 host all all 127.0.0.1/32 md5
# MAPNAME SYSTEM-USERNAME PG-USERNAME bucardo postgres bucardo bucardo bucardo bucardo
# TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident host all all 127.0.0.1/32 ident # 10.0.1.2 is the master host bucardo bucardo 10.0.1.2/32 ident
我真的不知道我在做什么错,但是这可能与远程端没有正确设置有关,但是我一直没能find很多。
出于某种原因,我完全忽略了,在添加了成功启用同步之后,您必须在从机上为bucardo创build一个超级用户。