PostgreSQL psql命令行显示bytea列

6
我有一个图像数据库,其中包含一个拥有两个bytea列的图像表。我想查询这个表,并且想要查看这些列,以便确定这些条目是否存储了图像,因为它们是可空列。
目前,当我使用psql命令行查询数据库时,整个命令行屏幕都会变空,试图显示bytea数据。
我已经在Google上搜索了一段时间,但找不到合适的方法来显示表格内容。理想情况下,第一个“x”字符将被显示。
如果上传一个非常小的图片,我可以确认bytea将被打印出来。
当我执行SELECT * FROM Image;时,我看到的就是下面这个图片: my view when querying this table
3个回答

17

谢谢这个。正是我想要的。:D 我发现,对于非常大的图片,即使编码为十六进制也不够。但限制在前40个字符是我所需的:D - tjheslin1

3

如果您不打算自己解析二进制数据,为什么不采用以下方法:

select length(img1), length(img2) from Image

或者
select img1 is null, img2 is null from Image

谢谢这些建议。我在问题中说“理想情况下,前x个字符应该显示”,因此我选择了另一个答案作为正确答案。不过这些也是很好的替代方案 :D - tjheslin1

2
您可以使用以下命令切换扩展格式模式。
\x

1
是的,这完全是关于在 psql 中格式化输出,而不是关于查询。 - Craig Ringer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接