>>>>> "Peter" == Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
Peter> Is there a more self-contained way to test this? I have been
Peter> trying with something like
Peter> create table test1 (a int, b text);
Peter> insert into test1 values (1, repeat('foo', 2000));
That value is no good because it's too compressible; it'll be left
inline in the main table rather than being externalized, so the value of
'x' in the DO-block is still self-contained (though it's still toasted
in the sense of being VARATT_IS_EXTENDED).
I tend to use something like this:
insert into test1
values (1, (select string_agg(chr(32+floor(95*random())::integer),'')
from generate_series(1,10000)));
If I do that, I get a different error from your test (whether or not the
vacuum is done):
ERROR: no known snapshots
CONTEXT: PL/pgSQL function inline_code_block line 1 at RAISE
This is another issue that was mentioned before in relation to
procedures.
--
Andrew (irc:RhodiumToad)