PostgreSQL 15将支持请求头添加到复制文本格式,复制CSV格式支持请求头选项来输出请求头。此补丁将相同的选项添加到默认文本格式。再输入,请求头选项会导致第一行被跳过,与CSV相同。
好吧,关于它的解释不多,现在让我们看看它是怎样的。
关于测试,我制作了一个简单的表格:
=$ create table copy_test (id int4, ts timestamptz, payload text); =$ insert into copy_test (id, ts, payload) values (1, now() - '1 week'::interval, 'first row'), (2, now(), 'second row');
复制
从 PG 8.0 开始,我们可以使用带有副本的 CSV 格式:
=$ copy copy_test to stdout with (format csv); 1,2022-01-21 11:54:32.861131+01,first row 2,2022-01-28 11:54:32.861131+01,second row
复制
使用 csv,我们可以获取到请求头:
=$ copy copy_test to stdout with (format csv, header); id,ts,payload 1,2022-01-21 11:54:32.861131+01,first row 2,2022-01-28 11:54:32.861131+01,second row
复制
重要的是要了解到加载请求头无关紧要 - PG 不将列与请求头匹配 - 请求头行将直接被地忽略。
现在不使用 CSV,我们也可以得到请求头:
=$ copy copy_test to stdout with (header); id ts payload 1 2022-01-21 11:54:32.861131+01 first row 2 2022-01-28 11:54:32.861131+01 second row
复制
而且我们还可以在加载数据时用 (header) 指定,这将使 PG忽略第一行。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。