文件开始 uint32 记录个数 每条记录 uint32 记录数据总长 uint32 oid (如果声明了) uint32 null 字段的个数 [uint32,...,uint32] 字段个数(attribute numbers of attributes), 从0开始 - <字段数据>
二进制数据的对齐 在Sun-3s,2-字节字段以2-字节为界对齐,而所有整数字段以4-字节为界对齐.字符字段以1-字节为界对齐.在大部分其他机器上,所有大于1字节的整数是按照4-字节为边界对齐的.注意,变长字段由字段长度在埃皇组只是简单的数组元素类型的连续流?/div> 用法 下面的例子将一个表拷贝到标准输出,使用竖直条("|")作为域分隔符: COPY country TO stdout USING DELIMITERS '|'; 从一个 Unix 文件中拷贝数据到表 "country": COPY country FROM '/usr1/proj/bray/sql/country_data'; 这里是一些可以从标准输入 stdin 输入的数据的例子(所以在最后有结束符):
AF AFGHANISTAN AL ALBANIA DZ ALGERIA ... ZM ZAMBIA ZW ZIMBABWE /. 同样的数据,输出到一个Linux/i586机器的二进制文件中去.数据是用 Unix 应用 od -c 显示的.表里有三个域;第一个是char(2) 第二个是 text.所有记录在第三字段有空(null)值.注意 char(2) 字段是如何用空(null)补齐成四个字节的以及text字段是如何前面补长度的: 355 /0 /0 /0 027 /0 /0 /0 001 /0 /0 /0 002 /0 /0 /0 006 /0 /0 /0 A F /0 /0 017 /0 /0 /0 A F G H A N I S T A N 023 /0 /0 /0 001 /0 /0 /0 002 /0 /0 /0 006 /0 /0 /0 A L /0 /0 /v /0 /0 /0 A L B A N I A 023 /0 /0 /0 001 /0 /0 /0 002 /0 /0 /0 006 /0 /0 /0 D Z /0 /0 /v /0 /0 /0 A L G E R I A ... /n /0 /0 /0 Z A M B I A 024 /0 /0 /0 001 /0 /0 /0 002 /0 /0 /0 006 /0 /0 /0 Z W /0 /0 /f /0 /0 /0 Z I M B A B W E 兼容性 SQL92 在SQL92里没有 COPY 语句.