暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【译】PostgreSQL 15 —— 将支持请求头添加到复制文本格式

原创 黎琛 2022-05-26
874

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论