【问题标题】:Is it possible to use variables in a postgresql copy from program URL?是否可以在程序 URL 的 postgresql 副本中使用变量?
【发布时间】:2021-04-27 20:54:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: postgresql import postgresql-copy


    【解决方案1】:

    参数只能与 PostgreSQL 中的SELECTINSERTUPDATEDELETE 一起使用。

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 1970-01-01
      • 2015-09-27
      • 2018-02-24
      • 1970-01-01
      • 2021-03-16
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多