CURRENT_LOAD_SOURCE

COPY 语句的范围内调用时,返回加载所使用的文件名。存在以下例外:

  • 如果在 COPY 语句的上下文之外调用函数,则返回 NULL。

  • 如果通过未设置源的 UDL 调用函数,则返回字符串 <unknown>

COPY LOCAL 不支持此函数。

行为类型

稳定

语法

CURRENT_LOAD_SOURCE()

示例

创建表并在加载时使用两个单独文件的名称填充以下其中一列:

=> CREATE TABLE t (c1 integer, c2 varchar(50), c3 varchar(200));
CREATE TABLE

=> COPY t (c1, c2, c3 AS CURRENT_LOAD_SOURCE())
   FROM '/home/load_file_1' ON exampledb_node02,
        '/home/load_file_2' ON exampledb_node03 DELIMITER ',';
Rows Loaded
-------------
5
(1 row)

=> SELECT * FROM t;
c1  |      c2      |          c3
----+--------------+-----------------------
2   |  dogs        | /home/load_file_1
1   |  cats        | /home/load_file_1
4   |  superheroes | /home/load_file_2
3   |  birds       | /home/load_file_1
5   |  whales      | /home/load_file_2
(5 rows)