QGISでPostGISパーテ​​ィションテーブルをロードできません


8

次のステートメントを使用して、PostgreSQLデータベースのテーブル(1300万を超える地理的ポイントデータ)をパーティション化しました。

CREATE TABLE data.data_fusion (
 id                BIGINT NOT NULL,
 source            TEXT,
 id_source         VARCHAR,
 id_vn             INTEGER,
 taxref_id         INTEGER,
 ...
 geom              GEOMETRY(Point, 2154),
 equipe            VARCHAR,
 exp_excl          BOOLEAN
 )
PARTITION BY LIST (equipe);

そして、子テーブルごとに、この例のように主キーとインデックスを作成しました。

CREATE TABLE data.data_fusion_lpo07 PARTITION OF data.data_fusion FOR VALUES IN ('lpo07');
ALTER TABLE data.data_fusion_lpo07 ADD PRIMARY KEY (id);
CREATE INDEX ON data.data_fusion_lpo07 (source);
CREATE INDEX ON data.data_fusion_lpo07 (id_vn);
CREATE INDEX ON data.data_fusion_lpo07 (taxref_id);
CREATE INDEX ON data.data_fusion_lpo07 (nom_vern);
CREATE INDEX ON data.data_fusion_lpo07 (nom_sci);
CREATE INDEX ON data.data_fusion_lpo07 USING GIST (geom);
CREATE INDEX ON data.data_fusion_lpo07 (equipe);
CREATE INDEX ON data.data_fusion_lpo07 (code_nidif_oiseau);

実際、QGISプロジェクトで子テーブルをロードしても問題はありませんが、親テーブル 'data.data_fusion'をロードできません。次のエラーメッセージが表示されます。

  • ブラウザパネルの使用:

    Layer is not valid: The layer dbname='dbwork' host=bdd.faura.org port=5432 sslmode=require authcfg=lpoaura srid=2154 type=Point table="data"."data_fusion" (geom) sql= is not a valid layer and can not be added to the map
  • レイヤー追加メニューの使用

    dbname='dbwork' host=bdd.faura.org port=5432 sslmode=require authcfg=lpoaura key='""' estimatedmetadata=true srid=2154 type=Point table="data"."data_fusion" (geom) sql= is an invalid layer - not loaded

PostgreSQLコンソールはpkの問題を示します(親テーブルにpkがない):

  Unexpected relation type 'p'.
  PostgreSQL layer has no primary key.

親パーティションテーブルをQGIS(v 2.18.14)にロードする方法はありますか?

回答:


6

ネイティブのPostgreSQLパーティショニングはQGIS 2.xではサポートされていないようです。QGIS 3で期待どおりに動作するはずです。関連するチケットコミットを参照してください。

回避策として、SELECT *マスターテーブルからのビューを作成し、それをQGISに取り込むことができます。


ありがとう!それは私のために働いた。行レベルのセキュリティもテーブルで有効に!実は、私はQGISの新しいバージョンに移行することはできませんこの問題でmentionnedのように、セキュアなSSLプロトコルとのPostgreSQLへの問題の接続は、そこにある:issues.qgis.org/issues/17672
lpofredc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.