On Sat, Jan 14, 2012 at 08:08:29AM +0000, Simon Riggs wrote:
> On Sat, Jan 14, 2012 at 1:02 AM, Noah Misch <noah@leadboat.com> wrote:
> > However, CLUSTER/VACUUM FULL already
> > remove tuples still-visible to standby snapshots without provoking a recovery
> > conflict. ?(Again only with hot_standby_feedback=off.)
>
> If that were the case it would be a bug.
>
> CLUSTER/VACUUM FULL emit an AccessExclusiveLock record that would
> conflict with any current lock holders, so should be fine on that.
I speak of this sequence (M = master connection, S = standby connection):
M: CREATE TABLE t AS SELECT * FROM generate_series(1,1000) t(n);
S: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 0;
M: DELETE FROM t WHERE n <= 10;
M: VACUUM FULL t;
S: SELECT count(*) FROM t; -- 990, should be 1000