On Wed, 2004-12-29 at 16:11, Tom Lane wrote:
> Scott Marlowe <smarlowe@g2switchworks.com> writes:
> > I've noticed today that if one tries to pg_dump a database cluster
> > running under pgpool, one gets the error message:
>
> > pg_dump: query to get table columns failed: ERROR: kind mismatch
> > between backends
> > HINT: check data consistency between master and secondary
>
> I would like to know exactly what pgpool has done to break pg_dump.
What's happening is that there are two databases behind pgpool, and each
has managed to assign a different (set of) OID(s) to the table(s). So,
when pg_dump asks for an OID, it gets two different ones.
> > Looking at the SQL that pg_dump sends to be relying on object OIDs for
> > the dump.
>
> There is nothing wrong with that technique ...
What I'd want is for it to use a join IN the database so that at no time
are OIDs floating across the ether or seen by pg_dump.