0

我有 postgresql 9.5 和 postgresql-plperl-9.5 和 bucardo 版本 5.4.1

bucardo 安装后

Current connection settings:
1. Host:           localhost
2. Port:           5432
3. User:           postgres
4. Database:       postgres
5. PID directory:  /var/run/bucardo

我正在尝试开始 bucardo

但错误是“ DBD::Pg::st 执行失败:错误:关系“bucardo.bucardo_config”不存在第 1 行:从 bucardo.bucardo_config 选择设置 WHERE LOWER(name)... ^ at /usr/bin/bucardo第 545 行。“这里哪里有问题?

4

3 回答 3

0

请在 postgresql bucardo 数据库中使用以下查询创建表

CREATE TABLE bucardo.bucardo_config (
  name     TEXT        NOT NULL, -- short unique name, maps to %config inside Bucardo
  setting  TEXT        NOT NULL,
  about    TEXT            NULL, -- long description
  type     TEXT            NULL, -- sync or goat
  item     TEXT            NULL, -- which specific sync or goat
  cdate    TIMESTAMPTZ NOT NULL DEFAULT now()
);
COMMENT ON TABLE bucardo.bucardo_config IS $$Contains configuration variables for a specific Bucardo instance$$;

CREATE UNIQUE INDEX bucardo_config_unique ON bucardo.bucardo_config(LOWER(name)) WHERE item IS NULL;

CREATE UNIQUE INDEX bucardo_config_unique_name ON bucardo.bucardo_config(name,item,type) WHERE item IS NOT NULL;

ALTER TABLE bucardo.bucardo_config ADD CONSTRAINT valid_config_type CHECK (type IN ('sync','goat'));

ALTER TABLE bucardo.bucardo_config ADD CONSTRAINT valid_config_isolation_level
CHECK (name <> 'isolation_level' OR (setting IN ('serializable','repeatable read')));
于 2017-08-18T08:45:26.297 回答
0

您需要创建 bucardo 用户和数据库。跟随

https://www.installvirtual.com/how-to-install-bucardo-for-postgres-replication/

于 2017-07-16T10:39:48.743 回答
0

如果为 postgresql 设置自定义连接配置,则需要在每个 'bucardo' 命令之后指定它。只有这样,'bucardo' 才会在正确的位置寻找它的桌子。例如:

bucardo -U bucardo -d bucardo -p 5000 -P my_password install

此外,请确保您事先执行了以下操作:

CREATE USER bucardo SUPERUSER PASSWORD 'my_password';
CREATE DATABASE bucardo;
GRANT ALL ON DATABASE bucardo TO bucardo;
于 2018-11-22T13:06:36.270 回答