ما هي سلسلة اتصال PostgreSQL؟

سلسلة اتصال PostgreSQL هي نص منسق يجمع جميع المعلومات المطلوبة للاتصال بقاعدة البيانات — اسم المضيف والمنفذ والبيانات الاعتمادية واسم قاعدة البيانات وإعدادات SSL — في قيمة واحدة. تستخدم التطبيقات وأدوات ORM وأدوات سطر الأوامر سلاسل الاتصال لإنشاء جلسات قاعدة البيانات دون الحاجة إلى تكوين كل معامل على حدة. هناك تنسيقان شائعان: تنسيق URI (postgresql://user:password@host:port/dbname) وتنسيق libpq key=value (host=localhost port=5432 dbname=mydb). يتم دعم كلا التنسيقين عبر جميع مكتبات عملاء PostgreSQL تقريباً.

وصف الأداة

تقوم هذه الأداة بإنشاء سلاسل اتصال PostgreSQL صحيحة من المعاملات الفردية. أدخل المضيف والمنفذ والبيانات الاعتمادية واسم قاعدة البيانات ووضع SSL، وستنتج على الفور ثلاثة مخرجات جاهزة للاستخدام: عنوان URL للاتصال وأمر psql وسلسلة libpq key=value.

أمثلة

الإدخال:

الحقل القيمة
المضيف db.example.com
المنفذ 5432
اسم المستخدم alice
كلمة المرور s3cr3t
قاعدة البيانات production
وضع SSL require

عنوان URL للاتصال:

postgresql://alice:s3cr3t@db.example.com/production?sslmode=require

أمر psql:

psql "postgresql://alice:s3cr3t@db.example.com/production?sslmode=require"

سلسلة libpq key=value:

host=db.example.com port=5432 dbname=production user=alice password=s3cr3t sslmode=require

الميزات

  • ثلاثة تنسيقات إخراج: ينشئ عنوان URL للاتصال وأمر shell psql وسلسلة libpq key=value في نفس الوقت
  • محدد وضع SSL: يدعم جميع أوضاع SSL الستة في PostgreSQL — disable و allow و prefer و require و verify-ca و verify-full
  • القيم الافتراضية الذكية: يحذف القيم الافتراضية (المنفذ 5432، sslmode=prefer) للحفاظ على الإخراج نظيفاً وبسيطاً
  • ترميز URL: يقوم تلقائياً بترميز النسبة المئوية لأسماء المستخدمين وكلمات المرور وأسماء قواعد البيانات التي تحتوي على أحرف خاصة
  • التحقق من المنفذ: يتحقق من أن المنفذ رقم بين 1 و 65535

حالات الاستخدام

  • تكوين التطبيق: أنشئ متغير بيئة DATABASE_URL للأطر مثل Django و Rails أو أي تطبيق يستخدم سلسلة اتصال
  • الوصول السريع إلى CLI: أنتج أمر psql جاهز للتشغيل للاتصال بقاعدة بيانات بعيدة دون الحاجة إلى حفظ بناء جملة URI
  • تصحيح الاتصال: أنشئ سلسلة libpq لاختبار الاتصالات باستخدام برامج التشغيل أو الأدوات منخفضة المستوى التي لا تقبل تنسيق URI

أوضاع SSL موضحة

الوضع الوصف
disable بدون SSL. الاتصال غير مشفر.
allow يستخدم SSL إذا كان الخادم يتطلبه؛ وإلا يتصل بدون SSL.
prefer يحاول SSL أولاً؛ ينقطع إلى غير مشفر (الافتراضي).
require يتطلب SSL لكن لا يتحقق من شهادة الخادم.
verify-ca يتطلب SSL والتحقق من أن شهادة الخادم موقعة من قبل CA موثوق.
verify-full يتطلب SSL والتحقق من CA وأيضاً التحقق من أن اسم المضيف يطابق الشهادة.