使用 COPY FROM stdin 将 bytea 数据导入 PostgreSQL

2024-01-10

我通过外部程序生成了一个(UTF-8)文件,用于导入 PostgreSQL 9.6.1。问题是bytea场(PWHASH)。

此文件的片段(使用 TAB 作为分隔符)

COPY USERS (ID,CODE,PWHASH,EMAIL) FROM stdin;
7   test1   E'\\\\x657B954D27B4AC56FA997D24A5FF2563'    [email protected] /cdn-cgi/l/email-protection
\.

导入时使用

psql mydb myrole -f test.sql

一切顺利。

但是,如果我查询结果,字节数组不是 16 字节,而是 37 字节:

select passwordhash,length(passwordhash) from users;
                                 passwordhash                                 | length 
------------------------------------------------------------------------------+--------
 \x45275c78363537423935344432374234414335364641393937443234413546463235363327 |     37

正确的语法是什么?


输入文件的格式错误。应该是这样的:

7   test1   \\x657B954D27B4AC56FA997D24A5FF2563 [email protected] /cdn-cgi/l/email-protection
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 COPY FROM stdin 将 bytea 数据导入 PostgreSQL 的相关文章

随机推荐