プランナーのpostgresqlに問題があります。複数のパーティションを持つテーブルがあり、その後、かなりの数の後続のパーティションを追加しました。メイン テーブルの EXPLAIN は、新しいパーティションを表示しません。メイン テーブルで実行された SELECT では、新しいパーティションに追加されたレコードは表示されません。新しいパーティションで実行された SELECT では、レコードが表示されます。
例えば:
- テーブル (ID、部品番号、データ)
- Tabela_part1 (CHECK 部品番号 = 1)
- Tabela_part2 (CHECK 部品番号 = 2)
...
- Tabela_part10 (CHECK 部品番号 = 10)
新しいパーティションを追加した後
- テーブル (ID、部品番号、データ)
- Tabela_part1 (CHECK 部品番号 = 1)
- Tabela_part2 (CHECK 部品番号 = 2)
...
- Tabela_part100 (CHECK 部品番号 = 100)
新しいパーティション Table_part11 の DDL の例:
create table Table_part11 ( CONSTRAINT table_part11_pkey PRIMARY KEY (id), CHECK ( partnumber = 11 ) ) inherits (Table)';
後
INSERT INTO Table(id, partnumber, data) VALUES(1234, 11, 'bla')
SELECT * FROM Tabela_part11 WHERE id = 1234
- 記録を示します。
SELECT * FROM Table WHERE id = 1234
- 記録を表示しない
私は試した
- メインのタブラとパーティションをバキューム/分析する
- メイン テーブルとパーティションのインデックスの再インデックス
助けてください