Postgis 2.0 - tampilan public.geometry_columns tidak mengandung info yang benar untuk dilihat

10

Kami baru saja memperbarui basis data kami ke Postgis 2.0.

Dalam sistem kami, kami biasa membuat tampilan untuk tabel yang berisi kolom geometri. Setelah membuat tampilan, kami juga memperbarui tabel geometry_columns secara manual dengan informasi yang diperlukan. Pandangan digunakan untuk membuat lapisan Geoserver dan juga untuk memberi makan data untuk ogr2ogr.

Masalah di Postgis 2.0 adalah tabel geometry_columns diganti dengan tampilan yang mengambil data dari katalog sistem. Dalam kasus kami, untuk tampilan yang dibuat, kami tidak mengambil info yang benar di kolom 'coord_dimension', 'srid' dan 'ketik'.
Info : setelah beberapa penelitian saya menemukan bahwa tampilan geometry_columns menggunakan tabel pg_constraint untuk mengisi kolom-kolom itu, tetapi untuk tampilan itu tidak ada batasan yang didefinisikan.

Adakah yang tahu bagaimana cara mengatasi masalah ini? Bagaimana kami bisa memaksa tampilan gemetry_columns untuk mengambil info yang diperlukan? Apakah ada solusi atau cara lain dalam melakukan ini?

asp
sumber

Jawaban:

8

Saya telah menemukan solusi untuk masalah saya: Semua informasi yang diperlukan dapat ditemukan di tautan ini https://postgis.net/docs/using_postgis_dbmanagement.html#Manual_Register_Spatial_Column

Solusi 1: Buat tabel dan tambahkan typmod berdasarkan kolom geometri, proses pembuatan akan mendaftarkannya dengan benar di geometry_columns.
Benar: CREATE TABLE pois_ny (gid KUNCI UTAMA SERIAL, geometri geom (POINT, 4326));
Salah: CREATE TABLE pois_ny (gid KUNCI UTAMA SERIAL); PILIH AddGeometryColumn ('pois_ny', 'geom', 4326, 'POINT', 2, false);

Solusi 2: Buat tampilan dan paksa typmod untuk kolom geometri
misalnya CREATE VIEW vw_pois_ny_parks SELECT geom :: geometry (POINT, 4326) Sebagai geom FROM pois_ny

asp
sumber