Re: losing my large objects with Postgresql 8.1.4

Поиск
Список
Период
Сортировка
От Eric Davies
Тема Re: losing my large objects with Postgresql 8.1.4
Дата
Msg-id 7.0.1.0.0.20070108071905.01e44578@barrodale.com
обсуждение исходный текст
Ответ на Re: losing my large objects with Postgresql 8.1.4 and 8.1.5  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
thank you Tom!
that did the trick!
I'm still in the dark why my test data type didn't exhibit the problem, but I'm certainly a much happier camper now.

Eric.
At 05:40 PM 05/01/2007, Tom Lane wrote:
Eric Davies <Eric@barrodale.com> writes:
> Some of  my custom server functions/data types that work correctly
> under Postgresql 8.0.1 are having trouble with lost large objects
> under Postgresql 8.1.4 and Postgresql 8.1.5, but only in particular
> usages.

> When I execute the following sequence of commands:
>          select   MyTypeToText( BuildMyType('asdf'));
> I get the following error
>          ERROR:  large object 33016 does not exist
> \lo_list (in psql) doesn't show any new large objects.

MyTypeToText is probably referencing a start-of-statement snapshot,
in which the LO doesn't exist yet.  This is a consequence of making
read-only accesses to LOs be MVCC-compliant.  Probably your best bet
for working around it is to open the LO in read/write mode, even if
you don't intend to write it --- that will make the behavior like 8.0.

Relevant 8.1 release note:

     Read-only large object descriptors now obey MVCC snapshot semantics

     When a large object is opened with INV_READ (and not INV_WRITE),
     the data read from the descriptor will now reflect a "snapshot" of
     the large object's state at the time of the transaction snapshot in
     use by the query that called lo_open(). To obtain the old behavior
     of always returning the latest committed data, include INV_WRITE in
     the mode flags for lo_open().


                          regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org/

**********************************************
Eric Davies, M.Sc.
Barrodale Computing Services Ltd.
Tel: (250) 472-4372 Fax: (250) 472-4373
Web: http://www.barrodale.com
Email: eric@barrodale.com
**********************************************
Mailing Address:
P.O. Box 3075 STN CSC
Victoria BC Canada V8W 3W2

Shipping Address:
Hut R, McKenzie Avenue
University of Victoria
Victoria BC Canada V8W 3W2
**********************************************


В списке pgsql-general по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Postgres Differential backup
Следующее
От: "Chad Wagner"
Дата:
Сообщение: Re: Postgres Differential backup