COPY
COPY 可将数据批量加载到 Vertica 数据库中。默认情况下,COPY 会自动提交自身及所有当前事务(加载临时表时除外)。如果 COPY 被中止或中断,Vertica 将予以回退。
COPY 以 UTF-8 编码格式读取数据。
有关在群集主机或客户端系统上加载一个或多个文件或管道的信息,请参阅 COPY LOCAL。
语法
COPY [ /*+ LABEL (label‑string)*/ ] [[database.]schema-name.]target-table
[ ( { column-as-expression | column }
[ DELIMITER [ AS ] 'char' ]
[ ENCLOSED [ BY ] 'char' ]
[ ENFORCELENGTH ]
[ ESCAPE [ AS ] 'char' | NO ESCAPE ]
[ FILLER datatype]
[ FORMAT 'format' ]
[ NULL [ AS ] 'string' ]
[ TRIM 'byte' ]
[,...] ) ]
[ COLUMN OPTION (column
[ DELIMITER [ AS ] 'char' ]
[ ENCLOSED [ BY ] 'char' ]
[ ENFORCELENGTH ]
[ ESCAPE [ AS ] 'char' | NO ESCAPE ]
[ FORMAT 'format' ]
[ NULL [ AS ] 'string' ]
[ TRIM 'byte' ]
[,...] ) ]
FROM {
[ LOCAL ] STDIN [ compression ]
| { 'path-to-data'
[ ON { nodename | (nodeset) | ANY NODE | EACH NODE } ] [ compression ] }[,...]
[ PARTITION COLUMNS column[,...] ]
| LOCAL 'path-to-data' [ compression ] [,...]
| VERTICA source-database.[source-schema.]source-table[( source-column[,...] ) ]
}
[ NATIVE
| FIXEDWIDTH COLSIZES {( integer )[,...]}
| NATIVE VARCHAR
| ORC
| PARQUET
]
| [ WITH ] UDL-clause[...]
}
[ ABORT ON ERROR ]
[ DELIMITER [ AS ] 'char' ]
[ ENCLOSED [ BY ] 'char'
[ ENFORCELENGTH ]
[ ERROR TOLERANCE ]
[ ESCAPE [ AS ] 'char' | NO ESCAPE ]
[ EXCEPTIONS 'path' [ ON nodename] [,...]
[ NULL [ AS ] 'string' ]
[ RECORD TERMINATOR 'string' ]
[ REJECTED DATA {'path' [ ON nodename] [,...] | AS TABLE reject-table} ]
[ REJECTMAX integer ]
[ SKIP integer ]
[ SKIP BYTES integer ]
[ STREAM NAME 'streamName']
[ TRAILING NULLCOLS ]
[ TRIM 'byte' ]
[ [ WITH ] PARSER parser ([ arg=value[,...] ]) ] ]
[ NO COMMIT ]
参数
请参阅参数。
限制
请参阅限制。
特权
超级用户具有完整的 COPY 权限。以下要求适用于非超级用户:
-
对表的 INSERT 权限
-
对架构的 USAGE 权限
-
用户可访问的存储位置
-
授予的对读取或写入文件的存储位置的相应 READ 或 WRITE 权限
COPY 可以指定一个路径来存储被拒绝的数据和异常。如果路径解析为存储位置,则以下权限适用于非超级用户:
-
存储位置使用 USER 选项进行创建(请参阅 CREATE LOCATION)。
-
用户必须具有存储位置的 READ 权限,如 中所述 GRANT(存储位置)