CopyOutResponse
CopyOutResponse 是后端协议消息,表示开始 COPY 输出的响应。之后会发送输出数据。
当前查看 PostgreSQL 18.6。
说明
CopyOutResponse 是后端协议消息,表示开始 COPY 输出的响应。之后会发送输出数据。
- 方向
- 后端 → 前端
- 首个线上协议字段
- Byte1('H')
- 字段条目
- 5
- 手册中的交互阶段
- 简单查询;COPY 操作
用法
CopyOutResponse (B)消息边界与重复字段
下方完整定义保留重复项、计数与条件字段。表格行号表示文档中的字段定义,并非固定字节偏移量。整数编码与交互流程以同版本协议章节为准。
按手册顺序排列的线上协议字段
| 位置 | 格式 | 含义 |
|---|---|---|
| 1 | Byte1('H') | 将该消息标识为开始 COPY 输出的响应。此消息之后会发送 COPY 输出数据。 |
| 2 | Int32 | 消息内容的长度(以字节为单位),包括其自身。 |
| 3 | Int8 | 0 表示 COPY 的整体格式为文本(用换行符分隔行、用分隔字符分隔列等);1 表示整体格式为二进制(类似 DataRow 格式)。详情参见 COPY。 |
| 4 | Int16 | 要复制的数据中的列数(以下用 N 表示)。 |
| 5 | Int16[ N ] | 各列使用的格式代码。目前每个代码必须为零(文本)或一(二进制)。如果整体复制格式为文本,则所有代码都必须为零。 |
手册定义
-
- Byte1('H')
-
将该消息标识为开始 COPY 输出的响应。此消息之后会发送 COPY 输出数据。
- Int32
-
消息内容的长度(以字节为单位),包括其自身。
- Int8
-
0 表示 COPY 的整体格式为文本(用换行符分隔行、用分隔字符分隔列等);1 表示整体格式为二进制(类似 DataRow 格式)。详情参见 COPY。
- Int16
-
要复制的数据中的列数(以下用
N表示)。 - Int16[
N] -
各列使用的格式代码。目前每个代码必须为零(文本)或一(二进制)。如果整体复制格式为文本,则所有代码都必须为零。
相关条目
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 14 → 15: 属性变化。
以下差异保留原始字段名与英文源描述。
--- PostgreSQL 14
+++ PostgreSQL 15
@@ -10,7 +10,7 @@
"format": "Int32"
},
{
- "description": "0 indicates the overall COPY format is textual (rows separated by newlines, columns separated by separator characters, etc). 1 indicates the overall copy format is binary (similar to DataRow format). See COPY for more information.",
+ "description": "0 indicates the overall COPY format is textual (rows separated by newlines, columns separated by separator characters, etc.). 1 indicates the overall copy format is binary (similar to DataRow format). See COPY for more information.",
"format": "Int8"
},
{
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回协议消息 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。