أكثر

تصدير قاعدة بيانات postgis


أنا جديد تمامًا على عالم PostGIS الرائع ، لذا آسف على هذا السؤال الذي قد يكون سخيفًا.

بعد فترة تمكنت من تثبيت postgres و postgis على جهاز الكمبيوتر (اختبار دبيان) وتمكنت أيضًا من إنشاء بعض قواعد البيانات.

من خلال DB Manager لـ QGIS ، قمت باستيراد بعض ملفات الأشكال إلى قاعدة البيانات ولا بأس بذلك.

ولكن الآن ، إذا كنت أرغب في تصدير Postgis db بالكامل كملف واحد (مثل SpatiaLite) كيف يمكنني القيام بذلك؟ أعني ، Spatialite يخلق ملف حقيقة ملف في دليل بينما postgis لا (أو على الأقل لم أجده).

شكرا يا شباب وآسف على السؤال البسيط


مأخوذة من الدليل: يمكنك تصدير قاعدة بيانات PostgreSQL إلى ملف باستخدام برنامج سطر أوامر pg_dump ، أو يمكنك استخدام phpPgAdmin

pg_dump -U USERNAME DBNAME> dbexport.pgsql

http://www.a2hosting.com/kb/developer-corner/postgresql/import-and-export-a-postgresql-database


ألق نظرة على مخططات Postgres (وهي سهلة الاستخدام للغاية)

من الممارسات الجيدة عمومًا استخدام مخطط مختلف عن المخطط العام الافتراضي. والسبب هو أنه عند تصدير قاعدة البيانات ، ستحصل على جميع كائنات PostGis والوظائف والجداول وما إلى ذلك والتي تم تثبيتها هناك.

ما أفعله هو إنشاء مخطط في قاعدة البيانات ، على سبيل المثال "بيانات"

إنشاء بيانات المخطط ؛

ثم قمت بتعيين هذا المخطط ليكون الافتراضي باستخدام ملف

تغيير قاعدة البيانات "mydb" تعيين search_path = data، public؛

ليس من الضروري تمامًا تعيين مسار البحث ، يمكنك استخدام مرجع الجدول مثل schema.table

data.mytable

في جميع أسماء الجداول الخاصة بك ، ولكن استخدام الافتراضي يعني أنه يمكنك نقل البيانات بين المخطط ومفاتيح أمر SQL بسيط بينهما ، وهو أمر رائع لترقية بيانات الإنتاج ، إلخ.

عندما تقوم بتصدير قاعدة البيانات ، ما عليك سوى تصدير هذا المخطط المحدد باستخدام pg_dump مع

- المخطط = اسم المخطط

إذا كان لديك مجموعة من الجداول للتنقل بين المخطط ، يمكنك استخدام SQL التالي

إنشاء بيانات المخطط ؛ تغيير قاعدة البيانات "** DBNAME **" تعيين search_path = البيانات ، العامة ؛ هل سجل صف $$ DECLARE ؛ ابدأ بالصف في SELECT tablename FROM pg_tables WHERE schemaname = 'public' - وشروط أخرى ، إذا لزم الأمر LOOP EXECUTE 'ALTER TABLE public.' || quote_ident (row.tablename) || 'SET SCHEMA data؛'؛ نهاية الحلقة ؛ نهاية؛ $$؛

عندما تستعيد قاعدة بيانات أخرى ، استعدها إلى مخطط غير عام ، وبهذه الطريقة لن تواجه أي تعارضات مع الكائنات الموجودة في المخطط العام وتجعل من السهل جدًا الاحتفاظ بنسخة احتياطية ونقل بياناتك المكانية حولها


شاهد الفيديو: PostgreSQL Tutorial For Beginners. What Is PostgreSQL? Learn PostgreSQL. Simplilearn (شهر اكتوبر 2021).