Где pg_lo_write хранит свое содержимое?
-
05-07-2019 - |
Вопрос
В нашей системе есть функция, которая записывает файл в BLOB postgres, это функция pg_lo_write
, наша система использует PHP, ADODB и PostgreSQL.
Я хотел бы знать, где хранятся эти данные, это файл в каталоге postgres, в таблице?
Большое спасибо!
Информация об ответе
Спасибо Бену Франсену за ответ, BLOB фактически хранится в таблице pg_largeobject
. Я использую pgAdmin, и таблица скрыта от просмотра, однако доступ к ней можно получить с помощью запроса.
SELECT * FROM pg_largeobject WHERE LOID = 123456
Решение
Поправьте меня, если я ошибаюсь, но насколько я знаю, когда вы храните файлы в базе данных, они хранятся в виде двоичных данных. Двоичное значение вашего файла хранится в вашем поле BLOB. Когда вы пытаетесь получить этот файл, двоичное значение затем восстанавливается до исходного файла.
Другие советы
Для дальнейшего использования в соответствующих разделах руководства PostgreSQL: