أنا أحاول الوصول إلى قاعدة البيانات الخاصة بي عبر واجهة رسومية (Psequel).
لقد قمت بتحويل إعداد المنفذ من الحاوية الخاصة بي على النحو التالي:
app.yml:
expose:
<التعاريف القياسية>
- "15432:5432" # PostgreSQL
كما قمت بتغيير كلمة المرور الخاصة بي على النحو التالي:
./launcher enter app
su - postgres
psql
ALTER ROLE postgres WITH PASSWORD '<كلمة المرور الخاصة بك>';
ولا أستطيع الوصول إلى قاعدة البيانات. هل لديك أي اقتراحات؟
إذا كنت تحتاج فقط إلى لقطة ثابتة لقاعدة البيانات، فقم بتنزيل نسخة احتياطية من https://<الموقع>/admin/backups. يجب أن يكون الملف بصيغة *.tar.gz، وعند فك ضغطه سيصبح ملفًا بصيغة *.sql. قم بإنشاء قاعدة بيانات PostgreSQL على جهاز آخر، وقد يكون ذلك حتى حاسوبك المحمول، ثم استورد ملف *.sql.
الآن يجب أن تتمكن من الوصول إلى البيانات كما تشاء باستخدام أي أداة يمكنها الاتصال بقاعدة بيانات PostgreSQL.
أنا أستخدم الطريقة المذكورة أعلاه ولكنني أتعامل مع قاعدة بيانات Discourse في PostgreSQL عبر ODBC.
أردت التحقق معك مرة أخرى من فضلك. عندما أقوم بتصدير ملف dump.sql إلى قاعدة بيانات postgresql، تنتهي بي الحال بجداول فارغة. ليس من الواضح لماذا. إليك الخطوات التي أتبعها بعد تنزيل ملف النسخ الاحتياطي:
افتح pgAdmin
أنشئ قاعدة بيانات جديدة
افتح أداة الاستعلام
استخدم ‘فتح’ في أداة الاستعلام وحدد ملف dump.sql
نفّذ نص النسخ الاحتياطي
يقول إن كل شيء كان ناجحًا ولكن عندما أقوم بـ “عرض البيانات” في الجداول، تكون فارغة.
بالإضافة إلى ذلك، من المحتمل أن تكون كيفية إدارة المثيل هي السبب، ولكن يبدو أن جدول المستخدمين غير مدرج أيضًا، ولكني بحاجة إلى هذا الجدول لمعرفة من فعل ماذا.
باستخدام صفحة المسؤول https://<site>/admin/backup، طلبت تنزيلًا واتبعت الخطوات، كانت هناك عدة خطوات تضمنت التحقق عبر البريد الإلكتروني وتنزيل ملف.
الملف الذي تم تنزيله كان ملف gz على سبيل المثال abc-2025-01-23-095947-v20250122131007.sql.gz. على نظام ويندوز، قمت بفك ضغط الملف باستخدام 7-zip والذي أنشأ مجلدًا بنفس الاسم مع إزالة .gz من النهاية.
باستخدام نفس موجه أوامر ويندوز المستخدم لكتابة الأمر لسرد بداية ملف sql.
type <file> /a | more
C:\Users\Groot\Downloads\abc-2025-01-23-095947-v20250122131007.sql>type "abc-2025-01-23-095947-v20250122131007.sql" /a | more
abc-2025-01-23-095947-v20250122131007.sql
--
-- PostgreSQL database dump
--
-- Dumped from database version 15.8 (Debian 15.8-1.pgdg110+1)
-- Dumped by pg_dump version 15.10 (Debian 15.10-1.pgdg120+1)
-- Started on 2025-01-23 09:59:47 UTC
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
نأمل أن يوصلك هذا إلى النقطة التي يمكنك فيها استخدام ملف SQL مع PGAdmin لاستيراد البيانات.
ملاحظة:
عندما قمت بنشر حول هذا الأمر قبل حوالي 5 سنوات، كان نوع ملف التنزيل هو tar.gz، وهو الآن sql.gz. الفرق الوحيد هو أنه الآن يلزم خطوة فك ضغط أقل.
شكراً جزيلاً على كل مساعدتكم! أقدر ذلك حقًا. اتضح أنني كنت أحاول استخدام أحدث إصدار من postgresql بينما كان dump.sql من إصدار سابق. اكتشفت ذلك أثناء محاولة اتباع الدليل الذي استخدمته. شكرًا لك!