Hi Tom,
thank you for that fast answer. So I failed when reading the manual,
because I never realized, that using transactions are a requirement when
working with LO's.
Wolfgang
Tom Lane wrote:
>
> Wolfgang Hottgenroth <wn@kja-essen.de> writes:
> > Sometimes ago I want to switch from 6.4.2 to 6.5.1 and my tools, using
> > the large objects through the perl-library refused to work. lo_import
> > didn't work anymore.
>
> 6.5.* only allows large objects to be kept open within a single
> transaction; you have to wrap BEGIN...END around anything that involves
> lo_open ... lo_read/write ... lo_close. In particular, since lo_import
> and lo_export are just such sequences, they need to be called inside
> a transaction.
>
> This restriction has been documented as required all along, but older
> Postgres releases didn't enforce it (they'd just fail once in a while
> if you didn't do it :-().
>
> It'd be nice if lo_import could start/finish a transaction for itself,
> but I don't see any good way to do that without breaking things for
> the case that you want to do several lo_imports in one transaction.
>
> regards, tom lane