我正在为操作系统窗口 7 使用 PostgreSQL 版本 9.3。
我在 postgresql PgAdmin III 中显示选项作业时遇到问题。
这是我尝试过的图片:
设置 pgAgent Jobs 检查后,我重新启动服务器和服务,然后:
问题是什么?
我正在为操作系统窗口 7 使用 PostgreSQL 版本 9.3。
我在 postgresql PgAdmin III 中显示选项作业时遇到问题。
这是我尝试过的图片:
设置 pgAgent Jobs 检查后,我重新启动服务器和服务,然后:
问题是什么?
好像您在 PostgreSQL 9.3 中总共有 9 个数据库。从 9 开始,只有一个是维护数据库。所以您必须通过右键单击服务器来创建新服务器,并且您必须将维护数据库作为您执行 pgAgent.sql 文件的数据库。
之后只需启动该服务器,您将获得作业节点。
希望这会有所帮助:)
我从一个论坛中找到了答案,并且在下面应该做什么:
根据代码,如果在选项对话框中选中该选项并且维护数据库的模式 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;
问题解决了。