Question

Il existe une fonction dans notre système qui écrit un fichier dans un BLOB postgres. Elle est pg_lo_write , notre système utilise PHP, ADODB et PostgreSQL.

Ce que j'aimerais savoir, c'est où ces données sont stockées, s'agit-il d'un fichier dans un répertoire postgres, dans une table?

Merci beaucoup!

Informations sur la réponse

Merci à Ben Fransen pour sa réponse, le BLOB est en fait stocké dans la table pg_largeobject . J'utilise pgAdmin et la table est masquée, mais vous pouvez y accéder à l'aide d'une requête.

SELECT * FROM pg_largeobject WHERE LOID = 123456
Était-ce utile?

La solution

Corrigez-moi si je me trompe, mais pour autant que je sache, lorsque vous stockez des fichiers dans une base de données, ils sont stockés sous forme de données binaires. La valeur binaire de votre fichier est stockée dans votre champ BLOB. Lorsque vous essayez d’obtenir ce fichier, la valeur binaire est ensuite reconstituée dans le fichier d’origine.

Autres conseils

Pour toute référence ultérieure dans les sections correspondantes du manuel PostgreSQL:

Chapitre 31. Objets de grande taille, 31.2. Fonctionnalités de mise en œuvre .

Chapitre 44. Catalogues système, 44.23. pg_largeobject .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top