On Mon, Sep 28, 2020 at 10:12 PM Tomas Vondra <tomas.von...@2ndquadrant.com> wrote:
> Is it actually all that different from the existing BRIN indexes? > Consider this example: > > create table x (a text, b text, c text); > > create index on x using brin (a,b,c); > > create or replace function random_str(p_len int) returns text as $$ > select string_agg(x, '') from (select chr(1 + (254 * random())::int ) as x > from generate_series(1,$1)) foo; > $$ language sql; > > test=# insert into x select random_str(1000), random_str(1000), > random_str(1000); > ERROR: index row size 9056 exceeds maximum 8152 for index "x_a_b_c_idx" Hmm, okay. As for which comes first, insert or index creation, I'm baffled, too. I also would expect the example above would take up a bit over 6000 bytes, but not 9000. -- John Naylor https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services