Вопрос

В нашей системе есть функция, которая записывает файл в BLOB postgres, это функция pg_lo_write , наша система использует PHP, ADODB и PostgreSQL.

Я хотел бы знать, где хранятся эти данные, это файл в каталоге postgres, в таблице?

Большое спасибо!

Информация об ответе

Спасибо Бену Франсену за ответ, BLOB фактически хранится в таблице pg_largeobject . Я использую pgAdmin, и таблица скрыта от просмотра, однако доступ к ней можно получить с помощью запроса.

SELECT * FROM pg_largeobject WHERE LOID = 123456
Это было полезно?

Решение

Поправьте меня, если я ошибаюсь, но насколько я знаю, когда вы храните файлы в базе данных, они хранятся в виде двоичных данных. Двоичное значение вашего файла хранится в вашем поле BLOB. Когда вы пытаетесь получить этот файл, двоичное значение затем восстанавливается до исходного файла.

Другие советы

Для дальнейшего использования в соответствующих разделах руководства PostgreSQL:

Глава 31. Большие объекты, 31.2. Особенности реализации .

Глава 44. Системные каталоги, 44.23. pg_largeobject .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top