我有一个图像数据库。使用包含两个bytea
列的图像表。我想查询表并查看这些列,以便能够查看这些条目是否存储图像。因为它们是可以为空的列。
目前,当我使用psql命令行查询数据库时,我的整个命令行界面显示空白,试图显示bytea。
我已经用Google搜索了一段时间,无法找到合适的方式来展示桌子。理想情况下会显示第一个“x”字符。
我可以通过上传一张小小的图片来确认bytea的打印是否足够小。
这就是我所看到的:SELECT * FROM Image;
答案 0 :(得分:7)
您可以使用encode
功能:
select encode(bytea_column, 'hex')
from image;
如果您只想查看第一个字节,只需使用left()
函数:
select left(encode(bytea_column, 'hex'), 40)
from image;
手册中的更多细节:
http://www.postgresql.org/docs/current/static/functions-binarystring.html
答案 1 :(得分:3)
如果您不想自己解释二进制数据,为什么不这样做:
select length(img1), length(img2) from Image
或
select img1 is null, img2 is null from Image
答案 2 :(得分:2)
您可以使用以下命令切换展开的格式化模式
\x