如何在 Postgres 中找到 Blob 的路径

How to find a path for a Blob in Postgres

我正在停用其中包含数万个 blob 文件的 postgres 数据库。该数据库的原始设置无法很好地扩展,将数千个图像文件存储为 blob。现在的过程是将数据库文件推送到较慢的存储并禁用数据库服务器。

如果可能的话,我希望能够弄清楚如何通过它们的 blob ID 提取这些图像文件。

我知道,一般情况下,文件存储在:

/<path to postgres>/pg_data/base/<database_oid>/

但是,其中的文件与数据库中的 blob ID 无关。是否有一个查询可以 运行 提供从 OID 到文件路径的映射,或者我是否误解了文件在磁盘上的存储方式?

原来是我误解了数据的存储方式

Postgres 将 Blobdata 存储为字节数组的集合,然后引用它们。从中重新构建文件非常重要。