更新时间:2026-10-21 GMT+08:00
分享

PGXC_COPY_ERROR_LOG

PGXC_COPY_ERROR_LOG系统视图用于捕捉COPY FROM过程的相关错误行,以便后续查阅。

表1 PGXC_COPY_ERROR_LOG字段

名称

类型

描述

relname

text

表名称。以模式名.表名形式显示。

begintime

timestamp with time zone

出现数据格式错误的时间。

filename

text

出现数据格式错误的数据源文件名。

lineno

bigint

在数据源文件中,出现数据格式错误的行号。

rawrecord

text

在数据源文件中,出现数据格式错误的原始记录。

detail

text

详细错误信息。

custom_id

text

关联的COPY语法中copy_custom_id输入的值,表示本次导入的自定义标识信息。

  • 查询pg_catalog.pgxc_copy_error_log系统视图时,显示所有CN和DN节点上pg_catalog.gs_copy_error_log表中的数据。等同于执行以下语句:
    SELECT * FROM pg_catalog.pgxc_copy_error_func(false, false);
  • 视图默认不对pg_catalog.gs_copy_error_old表做UNION ALL操作,如果想要兼容查询pg_catalog.gs_copy_error_old表中的数据,可以执行以下语句进行查询:
    SELECT * FROM pg_catalog.pgxc_copy_error_func(true, false);
  • 从此版本开始,pgxc_copy_error_log由系统表改成系统视图,因此无法对其执行TRUNCATE操作进行清理,执行TRUNCATE操作会抛出无法对视图进行此操作的相关报错。清理copy相关错误数据的两种情况如下。
    • 非三权分立下,需要系统管理员用户执行以下语句进行清理:
      TRUNCATE TABLE pg_catalog.gs_copy_error_log;
    • 三权分立下,使用普通用户清理同名schema下的pgxc_copy_error_log表即可。
  • 三权分立机制下,错误日志信息不会记录至pg_catalog.pgxc_copy_error_log和pg_catalog.gs_copy_error_log。若用户load_user需记录错误信息,需通过以下语句在其同名Schema下创建:
    CREATE TABLE load_user.pgxc_copy_error_log (relname varchar, begintime timestamptz, filename varchar, lineno int8, rawrecord text, detail text); 
    CREATE INDEX copy_error_log_relname_idx ON load_user.pgxc_copy_error_log(relname);

    (可选)在表上添加custom_id列:

    ALTER TABLE load_user.pgxc_copy_error_log ADD COLUMN custom_id varchar(64);

相关文档