Thanks for all your help. I'm somewhat amateur with C and even less
experienced with PostgreSQL (I'm a recent MySQL convert). Even after
some googling, I have no idea what this BEGIN block is. Is it C or is it
SQL? That probably makes me a n00b. :-| If you could explain I'd
appreciate it :-)
BTW once I get this working I'm going to write a PostgreSQL Large Object
tutorial on my blog, so others don't have to struggle with the code like
I am :-)
On Tue, 2008-06-10 at 19:05 -0400, Tom Lane wrote:
> Edward Amsden <amsden_linux@embarqmail.com> writes:
> > On Tue, 2008-06-10 at 16:49 -0400, Tom Lane wrote:
> >> Hmph. The only thing I can think of is that that index is corrupt,
> >> but it seems unlikely that it would be so in all databases. What
> >> happens if you REINDEX pg_largeobject?
>
> > The error has disappeared.
>
> Hmm, so something did happen to your index.
>
> > Now it can't write to the object. lo_open
> > seems to be successful, but lo_write is failing with:
> >> ERROR: invalid large-object descriptor: 0
>
> You forgot to put the open-and-use-descriptor sequence inside a
> BEGIN block.
>
> regards, tom lane