Tom Lane wrote:
> Edwin Groothuis <edwin@mavetju.org> writes:
>> On Sun, Dec 10, 2006 at 03:20:50PM -0500, Tom Lane wrote:
>>> "Edwin Groothuis" <mavetju@gmail.com> writes:
>>>> This worked fine on 8.0.x.
>>> Really?
>
>> Hmm... We used this script on 8.0.0 to 8.0.6 (which is the current
>> database version we're running), so when I tested it on 8.0.6, I
>> assumed it was fine on all 8.0.>6 too:
>
> There was no change between 8.0 and 8.0.9 on such a point, because
> adding or removing a cast would have required an initdb which we don't
> do in minor releases. Just to prove it, I checked out 8.0.6 and
> rebuilt it:
>
> template1=# select version();
> version
> ----------------------------------------------------------------------------------------------------------
> PostgreSQL 8.0.6 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)
> (1 row)
>
> template1=# select relation,transaction::bigint,count(*) as waiting from
> template1-# pg_locks where not granted group by relation,transaction;
> ERROR: cannot cast type xid to bigint
> template1=# select relation,transaction,count(*) as waiting from
> template1-# pg_locks where not granted group by relation,transaction;
> ERROR: could not identify an ordering operator for type xid
> HINT: Use an explicit ordering operator or modify the query.
>
>
>> Except that there isn't a custom cast...
>
> Better look harder; there's *something* nonstandard about your 8.0
> database.
if I had to guess I would say that there is slony installed in the old
database(slony installs operators for comparing XID) ...
Stefan