أكثر

تتطلب طوبولوجيا PostGIS مشرفًا

تتطلب طوبولوجيا PostGIS مشرفًا


أقوم بتشغيل PostGIS على خادم Ubuntu. يمكنني إضافة امتداد Topology عبر CREATE EXTENSION ، لكن عندما أحاول استخدامه كأي شيء آخر غير المسؤول ، يتم رفض الإذن لي.

قمت بتشغيل GRANT USAGE ON SCHEMA topology للجمهور ، كما هو مقترح في هذه السلسلة. عندما أقوم بتشغيل CreateTopology () أحصل على خطأ أذونات مثل ما يلي:

خطأ: تم رفض الإذن للتسلسل topology_id_seq

السياق: طوبولوجيا دالة PL / pgSQL.createtopology (تغيير الأحرف ، عدد صحيح ، دقة مزدوجة ، منطقية) سطر 17 عند صفوف FOR over SELECT

أعتقد أن هذا يعني أنني بحاجة إلى الحصول على مزيد من الأذونات على مخطط الهيكل. ومع ذلك،

  1. يبدو أن هذا عيب تصميم غريب. ألا يجب أن يهتم ملحق Topology تلقائيًا بالأذونات عند إنشائه ، تمامًا كما يفعل ملحق PostGIS للجدول spatial_ref_sys؟
  2. لست متأكدًا من المدى الذي أحتاج إليه في الحصول على أذونات الأرنب التي أحتاج إلى الذهاب إليها لجعل الامتداد قابلاً للاستخدام.

وقد أي شخص آخر واجهت هذه المسألة؟

هذا هو إخراج SELECT postgis_full_version () من المستخدم العادي:

"POSTGIS =" 2.1.5 r13152 "GEOS =" 3.4.2-CAPI-1.8.2 r3921 "PROJ =" Rel. 4.8.0 ، 6 آذار (مارس) 2012 "GDAL =" GDAL 1.11.2 ، تم إصداره في 2015/02/10 "LIBXML =" 2.9.1 "LIBJSON =" غير معروف "TOPOLOGY RASTER"

مجموعة أوامر SQL المطلوبة لـ PostGIS 2.2.1:

إنشاء تمديد postgis_topology ؛ منح الاستخدام في طوبولوجيا المخطط إلى dbuser ؛ منح الكل في جميع الجداول في طوبولوجيا المخطط إلى dbuser ؛ منح الاستخدام ، حدد كل التسلسلات في طوبولوجيا المخطط إلى dbuser ؛

يجب أن تكون المستخدم المتميز لقاعدة البيانات لتنفيذ هذه الاستعلامات ، على سبيل المثال في Ubuntu:

sudo -u postgres psql dbname -c "إنشاء ملحق postgis_topology؛" sudo -u postgres psql dbname -c "منح الاستخدام في طوبولوجيا المخطط إلى dbuser ؛" sudo -u postgres psql dbname -c "منح الكل في جميع الجداول في طوبولوجيا المخطط إلى dbuser ؛" sudo -u postgres psql dbname -c "منح الاستخدام ، حدد جميع التسلسلات في طوبولوجيا المخطط إلى dbuser ؛"

تحتاج أيضًا إلى منح امتيازات لتسلسل الجدول أيضًا:

منح الاستخدام ، حدد على SEQUENCE topology_id_seq للجمهور ؛

أو إذا كنت تريد توفير امتيازات ليبرالية لجميع التسلسلات:

منح الاستخدام ، حدد جميع التسلسلات في المخطط من الجمهور إلى الجمهور ؛

شاهد الفيديو: Spatial Relationships using PostGIS. PostGIS Baby Steps