From: | Eric Davies <Eric(at)barrodale(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: losing my large objects with Postgresql 8.1.4 |
Date: | 2007-01-08 15:21:02 |
Message-ID: | 7.0.1.0.0.20070108071905.01e44578@barrodale.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)barrodale(dot)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(at)barrodale(dot)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
**********************************************
From | Date | Subject | |
---|---|---|---|
Next Message | Chad Wagner | 2007-01-08 15:41:08 | Re: Postgres Differential backup |
Previous Message | Alvaro Herrera | 2007-01-08 15:03:59 | Re: Postgres Differential backup |