متابعة النقاش من تحديث PostgreSQL 13:
واجهت مشكلة أثناء تحديث إصدار 2.7.0beta1 Tests-Pass بهدف إزالة بعض الإضافات التي تسبب مشاكل.
قمت بتعديل ملف app.yml الخاص بنا للبقاء على PostgreSQL 12. فشلت عملية إعادة البناء وأرى ما يلي:
فشل
--------------------
Pups::ExecError: فشل أمر su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' مع إرجاع #<Process::Status: pid 1637 exit 2>
موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn'
فشل التنفيذ مع المعاملات "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
I, [2020-12-11T18:36:32.257585 #1] INFO -- : إنهاء العمليات غير المتزامنة
df2fcc37c368d13eac3b4a6db4b592028405a0ea91ff39fb8cbb8bcbdc4846fd
** فشل التمهيد ** يرجى التمرير للأعلى والبحث عن رسائل الخطأ السابقة، قد يكون هناك أكثر من خطأ.
قد يساعدك ./discourse-doctor في تشخيص المشكلة.
السجل الكامل
$ sudo ./launcher rebuild app
التأكد من أن برنامج التشغيل محدث
جلب origin
برنامج التشغيل محدث
إيقاف الحاوية القديمة
- /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
محدث بالفعل.
I, [2020-12-11T18:35:42.128663 #1] INFO – : تحميل --stdin
I, [2020-12-11T18:35:42.145184 #1] INFO – : > DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-13 postgresql-client-13 postgresql-contrib-13
I, [2020-12-11T18:35:47.812698 #1] INFO – : قراءة قوائم الحزم…
بناء شجرة التبعيات…
قراءة حالة المعلومات…
تم تثبيت الحزم التالية تلقائيًا ولم تعد مطلوبة:
libllvm7 pgdg-keyring postgresql-client-common postgresql-common ssl-cert
استخدم ‘apt autoremove’ لإزالتها.
سيتم إزالة الحزم التالية:
postgresql-13* postgresql-client-13*
0 تم ترقية، 0 تم تثبيتها حديثًا، 2 سيتم إزالتها و 0 غير مرفوعة.
بعد هذا الإجراء، سيتم تحرير 54.3 ميجابايت من مساحة القرص.
(قراءة قاعدة البيانات … 43863 ملفًا ودليلًا مثبتًا حاليًا.)
إزالة postgresql-13 (13.1-1.pgdg100+1) …
invoke-rc.d: تعذر تحديد مستوى التشغيل الحالي
invoke-rc.d: رفضت سياسة policy-rc.d تنفيذ الإيقاف.
إزالة postgresql-client-13 (13.1-1.pgdg100+1) …
معالجة المحفزات لـ postgresql-common (223.pgdg100+1) …
بناء قواميس PostgreSQL من حزم myspell/hunspell المثبتة…
إزالة ملفات القواميس القديمة:
(قراءة قاعدة البيانات … 42050 ملفًا ودليلًا مثبتًا حاليًا.)
تنظيف ملفات التكوين لـ postgresql-13 (13.1-1.pgdg100+1) …
إسقاط المجموعة الرئيسية…
I, [2020-12-11T18:35:47.813593 #1] INFO – : > apt-get update && apt-get install -y postgresql-12 postgresql-client-12 postgresql-contrib-12
debconf: تأخير تكوين الحزمة لأن apt-utils غير مثبت
I, [2020-12-11T18:36:26.125598 #1] INFO – : Get:1 Index of /pub/repos/apt/ buster-pgdg InRelease [104 kB]
Get:2 Index of /debian-security buster/updates InRelease [65.4 kB]
Hit:3 Index of /debian buster InRelease
Get:4 Index of /debian buster-updates InRelease [51.9 kB]
Hit:5 https://deb.nodesource.com/node_10.x buster InRelease
Get:6 Index of /pub/repos/apt/ buster-pgdg/main amd64 Packages [216 kB]
Get:7 Index of /debian-security buster/updates/main amd64 Packages [254 kB]
تم جلب 690 kB في 2 ثانية (342 kB/s)
قراءة قوائم الحزم…
قراءة قوائم الحزم…
بناء شجرة التبعيات…
قراءة حالة المعلومات…
اقتراحات:
postgresql-doc-12
سيتم تثبيت الحزم الجديدة التالية:
postgresql-12 postgresql-client-12
0 تم ترقية، 2 تم تثبيتها حديثًا، 0 سيتم إزالتها و 5 غير مرفوعة.
يحتاج إلى جلب 16.1 ميجابايت من الأرشيف.
بعد هذا الإجراء، سيتم استخدام 54.0 ميجابايت إضافية من مساحة القرص.
Get:1 Index of /pub/repos/apt/ buster-pgdg/main amd64 postgresql-client-12 amd64 12.5-1.pgdg100+1 [1,422 kB]
Get:2 Index of /pub/repos/apt/ buster-pgdg/main amd64 postgresql-12 amd64 12.5-1.pgdg100+1 [14.7 MB]
تم جلب 16.1 ميجابايت في 5 ثوانٍ (3,052 kB/s)
تحديد حزمة postgresql-client-12 غير المحددة سابقًا.
(قراءة قاعدة البيانات … 42050 ملفًا ودليلًا مثبتًا حاليًا.)
التحضير لفك ضغط …/postgresql-client-12_12.5-1.pgdg100+1_amd64.deb …
فك ضغط postgresql-client-12 (12.5-1.pgdg100+1) …
تحديد حزمة postgresql-12 غير المحددة سابقًا.
التحضير لفك ضغط …/postgresql-12_12.5-1.pgdg100+1_amd64.deb …
فك ضغط postgresql-12 (12.5-1.pgdg100+1) …
إعداد postgresql-client-12 (12.5-1.pgdg100+1) …
update-alternatives: استخدام /usr/share/postgresql/12/man/man1/psql.1.gz لتوفير /usr/share/man/man1/psql.1.gz (psql.1.gz) في الوضع التلقائي
إعداد postgresql-12 (12.5-1.pgdg100+1) …
إنشاء مجموعة PostgreSQL جديدة 12/main …
/usr/lib/postgresql/12/bin/initdb -D /var/lib/postgresql/12/main --auth-local peer --auth-host md5
ستكون الملفات الخاصة بنظام قاعدة البيانات هذه مملوكة للمستخدم “postgres”.
يجب أن يكون هذا المستخدم أيضًا مالك عملية الخادم.
سيتم تهيئة مجموعة قاعدة البيانات باستخدام اللغة المحلية “C.UTF-8”.
تم تعيين ترميز قاعدة البيانات الافتراضي وفقًا لذلك إلى “UTF8”.
سيتم تعيين تكوين البحث النصي الافتراضي على “الإنجليزية”.
تم تعطيل تجزئات صفحات البيانات.
إصلاح الأذونات على الدليل الحالي /var/lib/postgresql/12/main … تم
إنشاء الدوال الفرعية … تم
اختيار تنفيذ الذاكرة المشتركة الديناميكية … posix
اختيار max_connections الافتراضي … 100
اختيار shared_buffers الافتراضي … 128MB
اختيار المنطقة الزمنية الافتراضية … Etc/UTC
إنشاء ملفات التكوين … تم
تشغيل نص التمهيد … تم
تنفيذ تهيئة ما بعد التمهيد … تم
مزامنة البيانات مع القرص … تم
نجح الأمر. يمكنك الآن تشغيل خادم قاعدة البيانات باستخدام:
pg_ctlcluster 12 main start
Ver Cluster Port Status Owner Data directory Log file
12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
update-alternatives: استخدام /usr/share/postgresql/12/man/man1/postmaster.1.gz لتوفير /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) في الوضع التلقائي
invoke-rc.d: تعذر تحديد مستوى التشغيل الحالي
invoke-rc.d: رفضت سياسة policy-rc.d تنفيذ التشغيل.
معالجة المحفزات لـ postgresql-common (223.pgdg100+1) …
بناء قواميس PostgreSQL من حزم myspell/hunspell المثبتة…
إزالة ملفات القواميس القديمة:
I, [2020-12-11T18:36:26.126230 #1] INFO – : > mkdir -p /shared/postgres_run
I, [2020-12-11T18:36:26.135185 #1] INFO – :
I, [2020-12-11T18:36:26.135798 #1] INFO – : > chown postgres:postgres /shared/postgres_run
I, [2020-12-11T18:36:26.146730 #1] INFO – :
I, [2020-12-11T18:36:26.147724 #1] INFO – : > chmod 775 /shared/postgres_run
I, [2020-12-11T18:36:26.161275 #1] INFO – :
I, [2020-12-11T18:36:26.162652 #1] INFO – : > rm -fr /var/run/postgresql
I, [2020-12-11T18:36:26.175256 #1] INFO – :
I, [2020-12-11T18:36:26.176159 #1] INFO – : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-12-11T18:36:26.184044 #1] INFO – :
I, [2020-12-11T18:36:26.184889 #1] INFO – : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2020/12/11 18:36:26 socat[1595] E connect(6, AF=1 “/shared/postgres_run/.s.PGSQL.5432”, 36): لا يوجد مثل هذا الملف أو الدليل
I, [2020-12-11T18:36:26.198536 #1] INFO – :
I, [2020-12-11T18:36:26.198946 #1] INFO – : > rm -fr /shared/postgres_run/.s*
I, [2020-12-11T18:36:26.213075 #1] INFO – :
I, [2020-12-11T18:36:26.217247 #1] INFO – : > rm -fr /shared/postgres_run/.pid
I, [2020-12-11T18:36:26.234701 #1] INFO – :
I, [2020-12-11T18:36:26.235766 #1] INFO – : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-12-11T18:36:26.252691 #1] INFO – :
I, [2020-12-11T18:36:26.253254 #1] INFO – : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-12-11T18:36:26.265460 #1] INFO – :
I, [2020-12-11T18:36:26.305117 #1] INFO – : ملف > /etc/service/postgres/run chmod: +x chown:
I, [2020-12-11T18:36:26.340226 #1] INFO – : ملف > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2020-12-11T18:36:26.341055 #1] INFO – : > chown -R root /var/lib/postgresql/12/main
I, [2020-12-11T18:36:26.395341 #1] INFO – :
I, [2020-12-11T18:36:26.397567 #1] INFO – : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-12-11T18:36:26.410438 #1] INFO – :
I, [2020-12-11T18:36:26.410620 #1] INFO – : > chown -R postgres:postgres /shared/postgres_data
I, [2020-12-11T18:36:26.483230 #1] INFO – :
I, [2020-12-11T18:36:26.483480 #1] INFO – : > chown -R postgres:postgres /var/run/postgresql
I, [2020-12-11T18:36:26.498060 #1] INFO – :
I, [2020-12-11T18:36:26.498607 #1] INFO – : استبدال data_directory = ‘/var/lib/postgresql/12/main’ بـ data_directory = ‘/shared/postgres_data’ في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.499830 #1] INFO – : استبدال (?-mix:#?listen_addresses =.) بـ listen_addresses = '’ في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.501216 #1] INFO – : استبدال (?-mix:#?synchronous_commit =.) بـ synchronous_commit = $db_synchronous_commit في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.503288 #1] INFO – : استبدال (?-mix:#?shared_buffers =.) بـ shared_buffers = $db_shared_buffers في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.503960 #1] INFO – : استبدال (?-mix:#?work_mem =.) بـ work_mem = $db_work_mem في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.505121 #1] INFO – : استبدال (?-mix:#?default_text_search_config =.) بـ default_text_search_config = ‘$db_default_text_search_config’ في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.509117 #1] INFO – : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-12-11T18:36:26.529609 #1] INFO – :
I, [2020-12-11T18:36:26.530771 #1] INFO – : استبدال (?-mix:#?checkpoint_segments =.) بـ checkpoint_segments = $db_checkpoint_segments في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.533329 #1] INFO – : استبدال (?-mix:#?logging_collector =.) بـ logging_collector = $db_logging_collector في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.534342 #1] INFO – : استبدال (?-mix:#?log_min_duration_statement =.) بـ log_min_duration_statement = $db_log_min_duration_statement في /etc/postgresql/12/main/postgresql.conf
I, [2020-12-11T18:36:26.535368 #1] INFO – : استبدال (?-mix:^#local +replication +postgres +peer$) بـ local replication postgres peer في /etc/postgresql/12/main/pg_hba.conf
I, [2020-12-11T18:36:26.536115 #1] INFO – : استبدال (?-mix:^host.*all.*all.127.$) بـ host all all 0.0.0.0/0 md5 في /etc/postgresql/12/main/pg_hba.conf
I, [2020-12-11T18:36:26.536854 #1] INFO – : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/12/bin/postmaster -D /etc/postgresql/12/main
I, [2020-12-11T18:36:26.542081 #1] INFO – : > sleep 5
2020-12-11 18:36:26.649 UTC [1611] FATAL: ملفات قاعدة البيانات غير متوافقة مع الخادم
2020-12-11 18:36:26.649 UTC [1611] DETAIL: تم تهيئة دليل البيانات بواسطة إصدار PostgreSQL 13، وهو غير متوافق مع هذا الإصدار 12.5 (Debian 12.5-1.pgdg100+1).
I, [2020-12-11T18:36:31.555237 #1] INFO – :
I, [2020-12-11T18:36:31.556039 #1] INFO – : > su postgres -c ‘createdb discourse’ || true
createdb: خطأ: تعذر الاتصال بقاعدة البيانات template1: تعذر الاتصال بالخادم: لا يوجد مثل هذا الملف أو الدليل
هل الخادم يعمل محليًا ويقبل
الاتصالات على منفذ Unix “/var/run/postgresql/.s.PGSQL.5432”؟
I, [2020-12-11T18:36:31.718921 #1] INFO – :
I, [2020-12-11T18:36:31.719321 #1] INFO – : > su postgres -c ‘psql discourse -c “create user discourse;”’ || true
psql: خطأ: تعذر الاتصال بالخادم: لا يوجد مثل هذا الملف أو الدليل
هل الخادم يعمل محليًا ويقبل
الاتصالات على منفذ Unix “/var/run/postgresql/.s.PGSQL.5432”؟
I, [2020-12-11T18:36:31.892475 #1] INFO – :
I, [2020-12-11T18:36:31.893214 #1] INFO – : > su postgres -c ‘psql discourse -c “grant all privileges on database discourse to discourse;”’ || true
psql: خطأ: تعذر الاتصال بالخادم: لا يوجد مثل هذا الملف أو الدليل
هل الخادم يعمل محليًا ويقبل
الاتصالات على منفذ Unix “/var/run/postgresql/.s.PGSQL.5432”؟
I, [2020-12-11T18:36:32.067027 #1] INFO – :
I, [2020-12-11T18:36:32.067426 #1] INFO – : > su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’
psql: خطأ: تعذر الاتصال بالخادم: لا يوجد مثل هذا الملف أو الدليل
هل الخادم يعمل محليًا ويقبل
الاتصالات على منفذ Unix “/var/run/postgresql/.s.PGSQL.5432”؟
I, [2020-12-11T18:36:32.256513 #1] INFO – :
فشل
Pups::ExecError: فشل أمر su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’ مع إرجاع #<Process::Status: pid 1637 exit 2>
موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn’
فشل التنفيذ مع المعاملات “su postgres -c ‘psql $db_name -c "alter schema public owner to $db_user;"’”
I, [2020-12-11T18:36:32.257585 #1] INFO – : إنهاء العمليات غير المتزامنة
df2fcc37c368d13eac3b4a6db4b592028405a0ea91ff39fb8cbb8bcbdc4846fd
** فشل التمهيد ** يرجى التمرير للأعلى والبحث عن رسائل الخطأ السابقة، قد يكون هناك أكثر من خطأ.
قد يساعدك ./discourse-doctor في تشخيص المشكلة.