【发布时间】:2022-09-22 21:58:56
【问题描述】:
昨天我在 Windows 10 笔记本电脑上安装了 PostgreSQL 14.5。
然后我运行了一个旧脚本将图像加载到表中。
该脚本使用pg_read_binary_file 函数。
有些图像是 .jpg 文件,有些是 .png 文件。
在 34 个文件中,只有 5 个被成功处理(1 个 .jpg 和 4 个 .png)。其他 29 个失败并出现以下错误:
[异常,错误代码 0,SQLState XX000] 错误:无法打开文件 \"文件绝对路径\" 用于阅读:无效的论点
例如,下面的语句执行没有错误
select pg_read_binary_file(\'C:\\Users\\Jorge\\OneDrive\\Documents\\000\\020-logos\\adalid.png\') as adalid_png;
...并且以下语句失败
select pg_read_binary_file(\'C:\\Users\\Jorge\\OneDrive\\Documents\\000\\020-logos\\oper.png\') as oper_png;
...带有以下错误消息
[Exception, Error code 0, SQLState XX000] ERROR: could not open file \"C:/Users/Jorge/OneDrive/Documents/000/020-logos/oper.png\" for reading: Invalid argument
到目前为止,我无法确定可能导致错误的文件中的任何差异。此外,我很确定该脚本适用于版本 14 的早期版本。不幸的是,我无法找到一个网站来下载这些早期版本中的任何一个以再次对其进行测试。
有没有其他人发现这个问题,以及它的解决方案?
-
你能分享其中一个错误的实际绝对路径吗?无错误的路径是什么样的?
-
请再读一遍帖子;我添加了你问的内容。
-
如果你愿意,我可以分享脚本和图像文件,这样你就可以测试它了
-
它似乎是特定于 Windows 的东西,因为它在我的 linux 环境中没有错误:pastebin.com/vzYs5ALN
-
它是!请看下面我的回答