Tôi đã phân vùng một bảng (hơn 13 triệu dữ liệu điểm địa lý) trong cơ sở dữ liệu PostgreQuery của tôi với tuyên bố này:
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);
Và với mỗi bảng con tôi đã tạo khóa chính và các chỉ mục như trong ví dụ này.
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);
Trên thực tế, không có vấn đề gì khi tải các bảng con trong dự án QGIS của tôi, nhưng tôi không thể tải bảng cha 'data.data_fusion'. Tôi đã nhận được các thông báo lỗi sau:
Sử dụng bảng điều khiển trình duyệt:
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
Sử dụng thêm menu lớp
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
Bảng điều khiển PostgreSQL chỉ ra sự cố pk (không có pk trên bảng cha):
Unexpected relation type 'p'.
PostgreSQL layer has no primary key.
Có cách nào để tải bảng phân vùng cha mẹ của tôi vào QGIS (v 2.18,14) không?