أكثر

كيف يتم تشغيل نسختين من PostGIS بالتوازي على Windows؟


أحاول فهم كيفية تثبيت PostGIS2.0 على Windows7. يحتوي موقع PostGIS على الاقتراحات التالية:

ثنائيات PostGIS التجريبية PostGIS 2.0.0SVN ثنائيات مع نقطية ودعم طوبولوجيا + إضافات (Tiger Geocoder 2010) اعتبارًا من 25 نوفمبر 2011 (r8242) تتضمن GEOS 3.3.2dev r3516 و Proj 4.6.1 و JSON-c 0.9 و libgdal 1.9 SVN r23320 (تتطلب الإصدارات السابقة لـ (r7923) إعادة تحميل التفريغ منذ أن تغيرت عوامل التشغيل. لدينا الآن الفهارس المكانية ثلاثية الأبعاد ، ومشغلي الصناديق ثلاثية الأبعاد ، و KNN GIST لـ 9.1 ، وجبر الخرائط النقطية 2)

يمكن العثور على مزيد من التفاصيل حول ما تم إصلاحه / إضافته في إصلاحات PostGIS 2.0.0 و PostGIS 1.5.3 / 1.5.4 ، وما الجديد في PostGIS 2.0 ، ودعم PostGIS Raster ، ودعم Topology المحسّن.هذه ثنائيات 32 بت لذا لن يعمل على PostgreSQL 64 بت. نحن نعمل على إخراج ثنائيات 64 بت أيضًا ، لكننا نواجه بعض العقبات. في الوقت الحالي - إذا كنت تستخدم نظام التشغيل Windows 64 بت ، فيجب عليك تثبيت PostgreSQL 32 بت لاستخدامها.

بالنسبة لـ PostgreSQL 8.4 w / Loader / Dumper بما في ذلك واجهة المستخدم الرسومية لـ PostgreSQL 9.0 (تم تجميعها مقابل PostgreSQL 9.0.3) مع لودر / شاحنة قلابة بما في ذلك واجهة المستخدم الرسومية لـ PostgreSQL 9.1 (تم تجميعها مقابل PostgreSQL 9.1.0 - تم تغيير بنية 9.1 في الإصدار التجريبي 1 لذلك لن يتم ذلك العمل مع إصدارات ألفا

ولكن يجب أن يكون جيدًا لجميع الإصدارات التجريبية والإصدارات المرشحة وإصدار 9.1.0 النهائي) مع أداة تحميل / شاحنة قلابة بما في ذلك واجهة المستخدم الرسومية. يتضمن أيضًا ملفات الامتدادات المراد تثبيتها باستخدام بناء جملة PostgreSQL 9.1+ CREATE EXTENSION الجديد. لتثبيت:

قم أولاً بنسخ ملفات المشاركة / الامتداد إلى مجلد المشاركة / الامتداد PostgreSQL. ثم في أي قاعدة بيانات ترغب في تمكينها مكانيًا ، قم بتشغيل postgis على الأقل (الذي يحتوي على كل من الدعم الهندسي والنقطي) و

أوامر postgis_topology اختياريًا.

إنشاء postgis تمديد ؛ إنشاء تمديد postgis_topology ؛

لدي حاليًا PostGIS 1.5 مثبتًا على PostgreSQL 8.4. هذا ما يبدو عليه هيكل المجلد الخاص بي:

لا أفهم تمامًا هذه التعليمات:

قم أولاً بنسخ ملفات المشاركة / الامتداد إلى مجلد المشاركة / الامتداد PostgreSQL.

ثم في أي قاعدة بيانات ترغب في تمكينها مكانيًا ، قم بتشغيل ما لا يقل عن postgis (الذي يحتوي على كل من الدعم الهندسي والنقطي) وأوامر postgis_topology اختياريًا.

لقد قمت بتنزيلpostgisgui_pgadmin-2.0.0svnوpostgis-pg84- ثنائيات 2.0.0svn. في هيكل المجلد الأصلي ليس لدي مجلدتمديدفي غضونشارك. هل أقوم بنسخ محتوياتpostgis-pg84- ثنائيات 2.0.0svnفي هذا المجلد؟ ماذا يعني ذلكتشغيل ما لا يقل عن postgis؟ لقد حاولت أيضًا اتباع الإرشادات التفصيلية في المدونة التالية.


تحرير: لقد قمت بتثبيت Postgresql 9.1 مع PostGIS 1.5.3. أحاول معرفة مكان نسخ ثنائيات PostGIS 2.0. يبدو أنني يجب أن أنسخها في المجلدات هنا:

لكن النصيحة تقترح وضعها في مجلد المشاركة / الامتداد.

حاولت نسخ المجلد بأكمله إلىحصة / تمديد /ثم قم بتحرير ملفmakepostgis.batلجعله ملائمًا لنظام الملفات الخاص بي (المنفذ هو 5434 لأن لدي مثيلين من Postgresql قيد التشغيل).

اضبط PGPORT = 5434 set PGHOST = localhost set PGUSER = postgres set PGPASSWORD = **** set THEDB = template_postgis20 set PGBIN = C:  Program Files (x86) PostgreSQL  9.1  bin  set PGLIB = C:  Program Files ( إلى x86) PostgreSQL 9.1  lib 

عندما أقوم بتشغيل هذا الملف كمسؤول ، أتلقى الخطأ التالي:

C:  Windows  system32> تعيين PGPORT = 5434 C:  Windows  system32> تعيين PGHOST = المضيف المحلي C:  Windows  system32> تعيين PGUSER = postgres C:  Windows  system32> تعيين PGPASSWORD = **** C:  Windows  system32> تعيين THEDB = template_postgis20 C:  Windows  system32> تعيين PGBIN = C:  Program Files (x86)  PostgreSQL  9.1  bin  C:  Windows  system32> تعيين PGLIB = C:  Program Files (x86 )  PostgreSQL  9.1  lib  C:  Windows  system32> تعيين POSTGISVER = 2.0 C:  Windows  system32> xcopy bin  *. * "C:  Program Files (x86)  PostgreSQL  9.1  bin " ملف غير موجود - *. * 0 ملف (ملفات) منسوخة C:  Windows  system32> xcopy / I / S bin  postgisgui  * "C:  Program Files (x86)  PostgreSQL  9.1  bin  postgisgui" الملف ليس تم العثور - * 0 ملف (ملفات) منسوخة C:  Windows  system32> xcopy lib  *. * "C:  Program Files (x86)  PostgreSQL  9.1  lib " الملف غير موجود - *. * 0 ملف (ملفات) ) نسخ C:  Windows  system32> "C:  Program Files (x86)  PostgreSQL  9.1  bin  psql" -c "CREATE DATABASE template_postgis20" خطأ: قاعدة البيانات "template_postgis20" موجودة بالفعل C:  Windows  system32> "C:  Program Files (x86)  PostgreSQL  9.1  bin  psql" -d "template_postgis20" -c "إنشاء لغة plpgs ql" خطأ: اللغة "plpgsql" موجودة بالفعل C:  Windows  system32> "C:  Program Files (x86)  PostgreSQL  9.1  bin  psql" -d "template_postgis20" -f "share  مساهمة  postgis -2.0  postgis.sql" share / Contrib / postgis-2.0 / postgis.sql: لا يوجد مثل هذا الملف أو الدليل ... تستمر الأخطاء ...

لقد قمت بتحديث التعليمات على الموقع. آمل أن يكون الأمر أوضح قليلاً.

Nicklas محق في أنك لا تحتاج حقًا إلى makepostgis.bat إذا قمت فقط بنسخ المجلدات المشابهة إلى تثبيت postgresql الخاص بك (يمكنك أيضًا ملاحظة إنشاء db فيه لأنه يقوم بنسخ جميع الملفات). يجب أن تكون قادرًا فقط على التراكب على القمة نظرًا لأن الهيكل المضغوط هو نفس ثنائيات PostgreSQL المعبأة في Windows القياسية. ما أهملت ذكره في التعليمات هو أنك ما زلت بحاجة إلى الثنائيات والحروف. لقد قمت بتحديث هذا لذا يجب أن يكون أوضح.

ليس لدينا نهج إنشاء الامتداد بصفتنا المسؤول عن PostgreSQL 9.1 حتى الآن نظرًا لأننا نعمل على حل بعض المشكلات المتعلقة باستخدام ALTER EXTENSION postgis UPGRADE ... الصيغة التي تمثل مشكلة في PostGIS 2.0 غير الإصدار نظرًا لعدم وجود تجميد رسمي النقاط حتى الان. في العبوة الحالية ، تعمل بشكل جيد ولكن من الصعب التأكد من أنها تعمل نظرًا لتدفق كل الأشياء التي تحدث في PostGIS 2.0 في الشهر الماضي.


يحرر:

السبب في عدم وجود مجلد الامتداد لديك هو أنك لست على PostgreSQL 9.1 عندما تم تقديم ميزة الامتداد.

ما يجب عليك فعله هو وضع الثنائيات في مجلد bin كما هو موضح في بداية الملف التمهيدي.

ثم تشغيل postgis يعني أنه من المفترض أن تقوم بتشغيل كود sql في الملف postgis.sql لتثبيت الأنواع والوظائف في PostGIS في قاعدة البيانات. لتثبيت خطوط المسح والطوبولوجيا ، سيتعين عليك أيضًا تشغيل هذه الملفات.

يمكنك أن تقرأ عن ذلك في جزء التثبيت من المستند.

/ نيكلاس