【问题标题】:How to add variable into path string in copy command PSQL如何在复制命令PSQL中将变量添加到路径字符串中
【发布时间】:2019-11-22 01:45:28
【问题描述】:

我正在使用 psql 运行 .sql 文件将数据从 csv 文件复制到 Postgres,但是包含 csv 文件的文件夹每天都在更改,所以我想在路径代码中添加一个变量

这是我的代码

delete from table1;
delete from table2;
delete from table3;
\copy table1 FROM 'D:\tamlam\' + convert(date,getdate()) + '\file1.csv' DELIMITER ',' CSV HEADER QUOTE '"' NULL '';

【问题讨论】:

  • convert()getdate() 在 Postgres 中一开始就无效。

标签: postgresql psql


【解决方案1】:

使用PROGRAM 选项。

请参阅this documentation 如何在 Windows 批处理中获取所需格式的日期。

把它放在一个以TYPE %filenamevariable%结尾的脚本中。假设脚本名为data_gen。然后你可以做

\COPY table1 FROM PROGRAM '\scriptpath\data_gen'

对于 Unix 用户来说,更简单的是,date 带有选项的命令可以生成格式的日期并设置变量。然后只需在程序结束时执行cat $filenamevariable

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 2012-02-23
    • 2023-03-12
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    相关资源
    最近更新 更多