Postgis 2.0 - перегляд public.geometry_column не містить правильної інформації для переглядів


10

Нещодавно ми оновили нашу базу даних до Postgis 2.0.

У нашій системі ми створювали подання для таблиць, що містять стовпчик з геометрією. Після створення представлення ми також вручну оновили таблицю геометричних стовпців з необхідною інформацією. Перегляди використовуються для створення шарів Geoserver, а також для подачі даних для ogr2ogr.

Проблема в Postgis 2.0 полягає в тому, що таблицю geometry_column було замінено на представлення, яке отримує дані з системних каталогів. У нашому випадку для створених представлень ми не отримуємо правильну інформацію у стовпцях 'координат_ розмір', 'srid' та 'type'.
Інформація : після деяких досліджень я з'ясував, що представлення geometry_column використовує таблицю pg_constraint для заповнення цих стовпців, але для цього подання не визначено обмежень.

Хтось має уявлення, як можна виправити цю проблему? Як ми можемо змусити перегляд gemetry_column отримати необхідну інформацію? Чи існує спосіб вирішення цього чи іншого способу?

Відповіді:


8

Я знайшов рішення своєї проблеми: всю необхідну інформацію можна знайти за цим посиланням https://postgis.net/docs/using_postgis_dbmanagement.html#Manual_Register_Spatial_Column

Рішення 1: Створіть таблицю та додайте на основі типового стовпця геометрії, процес створення зафіксував би її правильно у стовпцях geometry_column.
Правильно: CREATE TABLE pois_ny (gid СЕРІЙНИЙ ПЕРВИЧНИЙ КЛЮЧ, геометрія geom (POINT, 4326));
Неправильно: СТВОРИТИСЯ ТАБЛИЦЯ pois_ny (gid СЕРІЙНИЙ ПЕРШИЙ КЛЮЧ); SELECT AddGeometryColumn ('pois_ny', 'geom', 4326, 'POINT', 2, false);

Рішення 2: Створіть типовий вигляд та силу для стовпчиків геометрії,
наприклад, CREATE VIEW vw_pois_ny_parks AS SELECT geom :: geometry (POINT, 4326) Як geom FROM pois_ny

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.