Issue with partitioning - legitimate insert fails with no partition message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



All;


I created a partitioned table (using declarative partitioning) and I am seeing an error inserting a row, the db claims there is no partition for my insert but as far as I can thell there is.


Here is my setup:


CREATE TABLE localdata2 (  
           local_id    bigserial ,
           logts       timestamp without time zone,
           mintemp     int,
           maxtemp     int,
           description     text
           ) PARTITION BY RANGE (local_id) ;

CREATE TABLE remote1_data1 PARTITION OF localdata2
               FOR VALUES FROM ('1') TO ('500000') ;

CREATE TABLE remote2_data1 PARTITION OF localdata2
               FOR VALUES FROM ('500001') TO ('5000000') ;


\d+ localdata2
                                                                Partitioned table "public.localdata2"
  Column    |            Type             | Collation | Nullable |                   Default                    | Storage  | Compression | Stats target | Description  
-------------+-----------------------------+-----------+----------+----------------------------------------------+----------+-------------+--------------+-------------
local_id    | bigint                      |           | not null | nextval('localdata2_local_id_seq'::regclass) | plain    |             |              |  
logts       | timestamp without time zone |           |          |                                              | plain    |             |              |  
mintemp     | integer                     |           |          |                                              | plain    |             |              |  
maxtemp     | integer                     |           |          |                                              | plain    |             |              |  
description | text                        |           |          |                                              | extended |             |              |  
Partition key: RANGE (local_id)
Partitions: remote1_data1 FOR VALUES FROM ('1') TO ('500000'),
           remote2_data1 FOR VALUES FROM ('500001') TO ('5000000')




insert into localdata2                             
values (500000, now(), 21, 55, 'description goes here');  
ERROR:  no partition of relation "localdata2" found for row
DETAIL:  Partition key of the failing row contains (local_id) = (500000).


The remote1_data1 partition should allow the value 500000 for the local_id but it is failing...


Thoughts?


Thanks in advance







[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux