是否可以在程序 URL 的 postgresql 副本中使用变量?

Is it possible to use variables in a postgresql copy from program URL?

我正在使用以下命令在 postgresql 中导入数据:

COPY test FROM PROGRAM 'curl https://example.com/events/123&start_date=20210331T191500Z' ;

每次我导入某些东西时,我必须手动更改“&startdate=***”以仅获取上一小时的数据。我想知道是否可以在 url 的“开始日期”部分插入一个变量,以便它始终对应于当前时间之后的一个小时。 提前致谢。

在 PostgreSQL.

中,参数只能与 SELECTINSERTUPDATEDELETE 一起使用

如果您需要参数化的 COPY 语句,您必须使用参数构造一个 SQL 字符串并发送它。构造查询字符串的具体方式取决于您使用的编程语言。

在 PL/pgSQL 中,PostgreSQL 的标准存储过程语言,例如它看起来像

EXECUTE format(
           'COPY test FROM PROGRAM ''curl https://example.com/events/123&start_date=%s''',
           '20210331T191500Z'
        );