如何在具有动态名称的Linux上执行Job Postgresql

时间:2018-07-24 03:44:53

标签: sql postgresql scheduler

我在下面有sql查询:

copy epolicy.table1(sequence_number, gsm_number_phone, sms_message, trans_date, trans_time, am_or_pm, entity, devision, id) 
from '/file/myfile_20180220.csv' delimiter U&'\0009' csv;

此sql运行良好,但我尚未找到使用动态名称运行此sql的引用,例如:名称应为myfile_yyyymmddhhss。如何运行此sql脚本(在我的情况下,使用postgresql和时间表)?我还没有发现引用使用cron作业运行此sql。没有安装应用程序或其他解决方案?或者您可以给我参考。谢谢。

1 个答案:

答案 0 :(得分:0)

让我们说您有一张桌子c:

t=# create table c(i int);
CREATE TABLE

现在退出psql并创建一个具有动态名称的文件:

t=# \q
-bash-4.2$ echo '42' > /tmp/$(date --iso-8601).csv

现在运行它(添加为cron行):

-bash-4.2$ psql t -c "copy c from '/tmp/$(date --iso-8601).csv';"
COPY 1

现在检查一下:

-bash-4.2$ psql t
psql (9.3.14)
Type "help" for help.

t=# select * from c;
 i
----
 42
(1 row)