gpt4 book ai didi

postgresql - PostgreSQL 中奇怪的幽灵记录——它们是什么?

转载 作者:行者123 更新时间:2023-11-29 14:15:50 25 4
gpt4 key购买 nike

我在我们的 postgresql 数据库上遇到了一个非常奇怪的问题。我有一个名为“statement”的表,其中有一些奇怪的记录。

使用命令行控制台 psql,我查询 select * from customer.statement where type in ('QUOTE'); 并返回 12 行。 7 行看起来很正常,5 行丢失了所有数据,除了一个可以为 null 的列,但似乎包含用户输入的实际值。 psql 告诉我即使有 12 行也返回了 7 行。大多数其他列都不可为空。奇怪的记录是这样的:

select * from customer.statement where type = 'QUOTE';
id | issuer_id | recipient_id | recipient_name | recipient_reference | source_statement_id | catalogue_id | reference | issue_date | due_date | description | total | currency | type | tax_level | rounding_mode | status | recall_requested | time_created | time_updated | time_paid
------------------+------------------+------------------+----------------+---------------------+---------------------+--------------+-----------+------------+------------+------------------------------------------------------------------+-----------+----------+-------+-----------+---------------+-----------+------------------+----------------------------+----------------------------+-----------
... 7 valid records removed ...
| | | | | | | | | | Build bulkheads and sheet with plasterboard. +| | | | | | | | | |
| | | | | | | | | | Patch all patches. +| | | | | | | | | |
| | | | | | | | | | Set and sand all joints ready for painting. +| | | | | | | | | |
| | | | | | | | | | Use wall angle on bulkhead in main bedroom. +| | | | | | | | | |
| | | | | | | | | | Build nib and sheet and set in entrance | | | | | | | | | |
(7 rows)

如果我使用 pgAdmin 运行相同的查询,我看不到那些奇怪的记录。

有人知道这些是什么吗?

最佳答案

分隔符 (+|) 前的加号表示 psql 中显示的字符串值中的换行符。所以没有额外的行,只是同一行继续换行。引用中的最后一行输出证实了这一点:(7 rows)

在 pgAdmin 中,只要您不增加字段的高度(或将内容复制/粘贴到某处),您就不会看到额外的行,但也有多行。

在 psql 和 pgAdmin 中尝试:

test=# SELECT E'This\nis\na\ntest.' AS multi_line, 'foo' AS single_line;
multi_line | single_line
--------------+-------------
This +| foo
is +|
a +|
test. |
(1 row)

The manual about psql:

linestyle

Sets the border line drawing style to one of ascii, old-ascii, or unicode. [...] The default setting is ascii. [...]

ascii style uses plain ASCII characters. Newlines in data are shown using a + symbol in the right-hand margin. [...]

关于postgresql - PostgreSQL 中奇怪的幽灵记录——它们是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com