在Windows7专业版(64位Hyper-V虚拟机)Service Pack 1上,我正在运行PostgreSQL 10,安装了pgAdmin4和pgAgent。
我成功创建了一个新数据库NewDB,所有者是NewUser,密码为NewPassd,新模式为NewSchema(这个名称是为这篇文章编写的)。
在NewSchema中,我创建了表NewTable,我可以从查询工具轻松导入CSV文件New.csv
COPY "NewSchema"."NewTable" FROM 'PathToFile\New.csv' DELIMITER ';' CSV HEADER ENCODING 'WIN1256';
然后,我创建了一个pgAgent Job,以下是CREATE Script
DO $$
DECLARE
jid integer;
scid integer;
BEGIN
-- Creating a new job
INSERT INTO pgagent.pga_job(
jobjclid, jobname, jobdesc, jobhostagent, jobenabled
) VALUES (
2::integer, 'importNewTable'::text, ''::text, ''::text, true
) RETURNING jobid INTO jid;
-- Steps
-- Inserting a step (jobid: NULL)
INSERT INTO pgagent.pga_jobstep (
jstjobid, jstname, jstenabled, jstkind,
jstconnstr, jstdbname, jstonerror,
jstcode, jstdesc
) VALUES (
jid, 'importNewTableStep'::text, true, 's'::character(1),
''::text, 'NewDB'::name, 'f'::character(1),
'BEGIN
TRUNCATE "NewSchema"."NewTable";
COPY "NewSchema"."NewTable" FROM ''PathToFile\New.csv'' DELIMITER '';'' CSV HEADER ENCODING ''WIN1256'';
END;'::text, ''::text
) ;
-- Schedules
-- Inserting a schedule
INSERT INTO pgagent.pga_schedule(
jscjobid, jscname, jscdesc, jscenabled,
jscstart, jscend, jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths
) VALUES (
jid, 'importNewTableSch'::text, ''::text, true,
'2018-03-13 23:37:48+01'::timestamp with time zone, '2091-08-20 23:13:26+02'::timestamp with time zone,
-- Minutes
ARRAY[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]::boolean[],
-- Hours
ARRAY[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]::boolean[],
-- Week days
ARRAY[false, true, true, true, true, true, false]::boolean[],
-- Month days
ARRAY[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]::boolean[],
-- Months
ARRAY[false, false, false, false, false, false, false, false, false, false, false, false]::boolean[]
) RETURNING jscid INTO scid;
END
$$;
pgpass.conf位于〜\ postgresql文件夹中,如下所示:
localhost:5432:postgres:postgres:***
localhost:5432:postgres:postgres:***
localhost:5432:NewDB:NewUser:NewPassd
我无法完成工作。我甚至无法检索带有错误描述的日志。每当我从PgAdmin4开始工作时,都没有任何反应
在互联网上的其他地方,我只能找到处理连接问题的帖子。在这里,我对我的问题没有任何线索。此外,Stack Overflow中其他帖子的建议对我的案例没有帮助
为了找到出路,我在Windows中创建了用户NewUser并在〜\ NewUser中复制了pgpass.conf:它没用了。
我正在寻找有关我可能创建的任何错误的指示或有关如何测试我的工作的指示。
谢谢。 NicolòAntonietti