Re: Corrupt indexes on slave when using pg_bulkload on master

From: "James Cowell" <jcowell(at)btinternet(dot)com>
To: "'Jeff Janes'" <jeff(dot)janes(at)gmail(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Corrupt indexes on slave when using pg_bulkload on master
Date: 2012-12-05 18:56:06
Message-ID: 00c101cdd31a$2e7f5680$8b7e0380$@btinternet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Jeff,

Thanks for your reply.

I can understand that it would be incompatible if you bypassed the WAL logs,
but I've got it configured to use the buffered loader so that WAL logs are
written. The data replicates fine, the indexes don't, yet a reindex on the
primary fixes the index on the secondary. I'd like to understand why if
possible.

I've seen mention of bug(s) around corrupt indexes on the secondary node,
there was a fix in 9.1.6, but it doesn't appear to be the same problem I'm
having.

I've also seen other people with similar errors that aren't using
pg_bulkload, for example:
http://postgresql.1045698.n5.nabble.com/BUG-7562-could-not-read-block-0-in-f
ile-quot-base-16385-16585-quot-read-only-0-of-8192-bytes-td5724738.html

Cheers,

James

-----Original Message-----
From: Jeff Janes [mailto:jeff(dot)janes(at)gmail(dot)com]
Sent: 05 December 2012 18:02
To: James Cowell
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Corrupt indexes on slave when using pg_bulkload on
master

On Wed, Dec 5, 2012 at 5:17 AM, James Cowell <jcowell(at)btinternet(dot)com> wrote:
> I'm using pg_bulkload to load large amounts of CSV data into a
> postgres database hourly.
>
> This database is replicated to a second node.

pg_bulkload is fundamentally incompatible with PITR, streaming, and forms of
replication that depend on those things.

Cheers,

Jeff

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2012-12-05 18:56:22 Re: libpq - prevent automatic reconnect
Previous Message Jeff Janes 2012-12-05 18:21:03 Re: how do I grant select to one user for all tables in a DB?