3

我正在为操作系统窗口 7 使用 PostgreSQL 版本 9.3。

我在 postgresql PgAdmin III 中显示选项作业时遇到问题。

这是我尝试过的图片:

在此处输入图像描述

设置 pgAgent Jobs 检查后,我重新启动服务器和服务,然后:

在此处输入图像描述

问题是什么?

4

3 回答 3

2

找到适用于 pgAdmin 1.20.0~beta2-1 (Debian Jessie 8.1) 的解决方案。

要显示 Jobs 节点,您需要使用 2 个强制参数值创建新的服务器连接:

  • 用户名:postgres
  • 维护数据库:postgres

在此处输入图像描述

于 2016-02-02T13:42:19.883 回答
1

好像您在 PostgreSQL 9.3 中总共有 9 个数据库。从 9 开始,只有一个是维护数据库。所以您必须通过右键单击服务器来创建新服务器,并且您必须将维护数据库作为您执行 pgAgent.sql 文件的数据库。

之后只需启动该服务器,您将获得作业节点。

希望这会有所帮助:)

于 2017-11-22T12:14:48.420 回答
0

我从一个论坛中找到了答案,并且在下面应该做什么:

根据代码,如果在选项对话框中选中该选项并且维护数据库的模式 pgagent 中存在表 pga_job,则会显示“pgAgent Jobs”节点。此外,用于连接的用户必须具有 pgagent 模式的 USAGE 权限。

报价来源

我已经向维护数据库添加了新架构,并且在架构中,添加了没有任何列的 pga_job 表,并且 Jobs 节点变得可见,但现在出现了错误:

ERROR:  relation "pgagent.pga_jobclass" does not exist
LINE 1: ...s AS joblastresult   FROM pgagent.pga_job j JOIN  pgagent.pg...

出现此错误是因为创建架构并不能完全解决问题。之后,我在pgagent模式中创建了 4 个表:1。

CREATE TABLE pgagent.pga_job
(
  jclid integer NOT NULL,
  jobjclid integer NOT NULL,
  jobagentid integer NOT NULL,
  jlgstatus integer NOT NULL,
  jobid integer NOT NULL,
  jobname character varying(255) NOT NULL
)
WITH (
  OIDS=FALSE
);
ALTER TABLE pgagent.pga_job
  OWNER TO postgres;

2.

CREATE TABLE pgagent.pga_jobagent
(
  jagpid integer NOT NULL,
  jlgstatus integer NOT NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE pgagent.pga_jobagent
  OWNER TO postgres;

3.

CREATE TABLE pgagent.pga_jobclass
(
  jclid integer NOT NULL,
  jlgstatus integer NOT NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE pgagent.pga_jobclass
  OWNER TO postgres;

4.

CREATE TABLE pgagent.pga_joblog
(
  joblogid integer NOT NULL,
  jlgstatus integer NOT NULL,
  jlgjobid integer NOT NULL,
  jlgid integer NOT NULL
)
WITH (
OIDS=FALSE
);
ALTER TABLE pgagent.pga_joblog
  OWNER TO postgres;

问题解决了。

于 2016-12-17T06:21:07.260 回答