From: | 德哥 <digoal(at)126(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #14341: insert on conflict (key_column) cann't used with partition table. |
Date: | 2016-09-28 09:16:09 |
Message-ID: | 58f17eb8.b93b.15770146d7d.Coremail.digoal@126.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
$ git clone https://github.com/postgrespro/pg_pathman
$ cd pg_pathman
$ export PATH=/home/digoal/pgsql9.6rc1/bin:$PATH
$ make USE_PGXS=1
$ make install USE_PGXS=1
$ vi $PGDATA/postgresql.conf
shared_preload_libraries='pg_pathman'
$ pg_ctl restart -m fast
$ psql
postgres=# create extension pg_pathman;
CREATE EXTENSION
$ psql
postgres=# drop table test;
postgres=# create table test(id int primary key, info text, crt_time timestamptz);
CREATE TABLE
postgres=#
postgres=# select create_range_partitions('test'::regclass, 'id', 1, 20000000, 100, false);
create_range_partitions
-------------------------
100
(1 row)
postgres=# select disable_parent('test'::regclass);
disable_parent
----------------
(1 row)
reconnect
postgres=# explain select * from test where id=1;
QUERY PLAN
---------------------------------------------------------------------------------
Append (cost=0.15..2.17 rows=1 width=44)
-> Index Scan using test_1_pkey on test_1 (cost=0.15..2.17 rows=1 width=44)
Index Cond: (id = 1)
(3 rows)
insert into test(id,info,crt_time) values(:id, md5(random()::text), now()) on conflict (id) do update set info=excluded.info,crt_time=excluded.crt_time;
--
公益是一辈子的事,I'm Digoal,Just Do It.
At 2016-09-27 21:04:34, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>digoal(at)126(dot)com writes:
>> postgres=# \d test
>> Table "postgres.test"
>> Column | Type | Modifiers
>> ----------+-----------------------------+-----------
>> id | integer | not null
>> info | text |
>> crt_time | timestamp without time zone |
>> Indexes:
>> "test_pkey" PRIMARY KEY, btree (id)
>> Number of child tables: 100 (Use \d+ to list them.)
>
>> postgres=# insert into test(id,info,crt_time) values(1, md5(random()::text),
>> now()) on conflict (id) do update set
>> info=excluded.info,crt_time=excluded.crt_time;
>> ERROR: XX000: unexpected failure to find arbiter index
>> LOCATION: ExecCheckIndexConstraints, execIndexing.c:594
>
>Can't reproduce that on the basis of the given information.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Devrim Gündüz | 2016-09-28 10:31:13 | Re: BUG #14342: Please restore pgdg-redhat92-9.2-7.noarch.rpm |
Previous Message | Zuk, Kacper | 2016-09-28 08:56:12 | Re: BUG #14329: libpq doesn't send complete client certificate chain on first SSL connection |