فشل تحديث PostgreSQL من الصين

لا يمكن إعادة بناء البيانات

./launcher rebuild data
تم اكتشاف بنية x86_64.
جارٍ التأكد من تحديث المشغل
المشغل محدث
2.0.20250129-0720: السحب من docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: Image is up to date for registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T04:49:43.809493 #1]  INFO -- : Reading from stdin
I, [2025-02-06T04:49:43.812252 #1]  INFO -- : Skipped missing before_code hook
I, [2025-02-06T04:49:43.812294 #1]  INFO -- : Skipped missing before_db_migrate hook
I, [2025-02-06T04:49:43.812309 #1]  INFO -- : Skipped missing after_code hook
I, [2025-02-06T04:49:43.816721 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-06T04:49:43.820580 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-06T04:49:43.824283 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.827979 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.832007 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.832273 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.832904 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.833313 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843122 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843548 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843885 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844162 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844439 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844732 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.845050 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845283 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845505 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845723 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres & && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

2025/02/06 04:49:45 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.

تبدو سجلاتك غير مكتملة ولكن المقتطف أدناه يمكن أن يقدم تلميحًا.

socat[33] E connect(, AF=1 “/shared/postgres_run/.s.PGSQL.5432”, 36): Connection refused

هل ترى أيضًا الخطأ أدناه في مكان أقل بكثير في مخرجات السجل لديك؟

The source cluster was not shut down cleanly

إذا كان الأمر كذلك، يمكنك تجربة اتباع هذه التعليمات.

لا توجد حاويات تعمل

هل ترى أي أخطاء من هذه الخطوة الأولى؟

استخدامت طرق data.yml و web_only.yml

لا تزال تستطيع اتباع نفس التعليمات، ولكن استبدل أي ظهور لـ app أو standalone بـ data.

لا يزال غير متصل

$ ./launcher enter data
تم اكتشاف بنية x86_64.
root@sober-data:/# export SVWAIT=300
sv stop nginx
sv stop unicorn
sv stop postgres
exit
fail: nginx: unable to change to service directory: file does not exist
fail: unicorn: unable to change to service directory: file does not exist
ok: down: postgres: 0s, normally up
logout

هذا يعني أنك كنت متصلاً بالحاوية. (فقط تأكد من أن الحاوية web_only تظل متوقفة أثناء إعادة بناء الحاوية data.)

ok: down: postgres: 0s, normally up

هذا هو الناتج المهم. هذا يعني أن postgres قد توقف الآن بشكل نظيف ويمكنك المتابعة إلى الخطوات التالية.

 ./launcher enter  data
تم الكشف عن معمارية x86_64.
root@sober-data:/# sv stop postgres
حسنًا: إيقاف: postgres: 0s، عادةً تشغيل
root@sober-data:/# exit
تسجيل الخروج
root@sober:/var/discourse$ ./launcher rebuild  data
تم الكشف عن معمارية x86_64.
ضمان تحديث المشغل
المشغل محدث بالفعل
إيقاف الحاوية القديمة
+ /usr/bin/docker stop -t 600 data
data
2.0.20250129-0720: سحب من docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: الصورة محدثة بالفعل للتسجيل: registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T06:19:20.379635 #1]  INFO -- : القراءة من stdin
I, [2025-02-06T06:19:20.380959 #1]  INFO -- : تم تخطي hook قبل الكود المفقود
I, [2025-02-06T06:19:20.380976 #1]  INFO -- : تم تخطي hook قبل ترحيل قاعدة البيانات مفقود
I, [2025-02-06T06:19:20.380983 #1]  INFO -- : تم تخطي hook بعد الكود
I, [2025-02-06T06:19:20.383923 #1]  INFO -- : ملف > /etc/service/postgres/run chmod: +x  تغيير المالك: 
I, [2025-02-06T06:19:20.386435 #1]  INFO -- : ملف > /etc/service/postgres/log/run chmod: +x  تغيير المالك: 
I, [2025-02-06T06:19:20.389343 #1]  INFO -- : ملف > /etc/runit/3.d/99-postgres chmod: +x  تغيير المالك: 
I, [2025-02-06T06:19:20.391719 #1]  INFO -- : ملف > /root/install_postgres chmod: +x  تغيير المالك: 
I, [2025-02-06T06:19:20.394375 #1]  INFO -- : ملف > /root/upgrade_postgres chmod: +x  تغيير المالك: 
I, [2025-02-06T06:19:20.394471 #1]  INFO -- : استبدال data_directory = '/var/lib/postgresql/15/main' بـ data_directory = '/shared/postgres_data' في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394742 #1]  INFO -- : استبدال (?-mix:#?listen_addresses *=.*) بـ listen_addresses = '*' في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394972 #1]  INFO -- : استبدال (?-mix:#?synchronous_commit *=.*) بـ synchronous_commit = $db_synchronous_commit في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395126 #1]  INFO -- : استبدال (?-mix:#?shared_buffers *=.*) بـ shared_buffers = $db_shared_buffers في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395261 #1]  INFO -- : استبدال (?-mix:#?work_mem *=.*) بـ work_mem = $db_work_mem في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395400 #1]  INFO -- : استبدال (?-mix:#?default_text_search_config *=.*) بـ default_text_search_config = '$db_default_text_search_config' في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395510 #1]  INFO -- : استبدال (?-mix:#?checkpoint_segments *=.*) بـ checkpoint_segments = $db_checkpoint_segments في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395622 #1]  INFO -- : استبدال (?-mix:#?logging_collector *=.*) بـ logging_collector = $db_logging_collector في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395723 #1]  INFO -- : استبدال (?-mix:#?log_min_duration_statement *=.*) بـ log_min_duration_statement = $db_log_min_duration_statement في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395845 #1]  INFO -- : استبدال (?-mix:^#local +replication +postgres +peer$) بـ local replication postgres  peer في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.395930 #1]  INFO -- : استبدال (?-mix:^host.*all.*all.*127.*$) بـ host all all 0.0.0.0/0 md5 في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396007 #1]  INFO -- : استبدال (?-mix:^host.*all.*all.*::1\/128.*$) بـ host all all ::/0 md5 في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396096 #1]  INFO -- : > إذا كان [ -f /root/install_postgres ]; ثم
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || خروج 0  إظهار أن postgres قيد التشغيل بالفعل، أوقف الحاوية؛ خروج 1
fi

تحذير: تمكين المصادقة "trust" للاتصالات المحلية
نصيحة: يمكنك تغيير ذلك بتحرير pg_hba.conf أو باستخدام الخيار -A، أو --auth-local و --auth-host، في المرة القادمة التي تقوم فيها بتشغيل initdb.

هل توقف إعادة البناء عند هذه النقطة؟ إذا كان الأمر كذلك، قم بإلغائه وقم بتشغيل هذا بدلاً من ذلك ثم انشر النتائج.

./launcher start data
./launcher enter data
psql --version
apt-get update

شكراً جزيلاً لك. دعني أعود إلى إصدار الدوكر و postgres.template.yml

./launcher rebuild data
تم اكتشاف معمارية x86_64.
ضمان أن يكون المشغل محدثًا
المشغل محدث بالفعل
إيقاف الحاوية القديمة
+ /usr/bin/docker stop -t 600 data
data
2.0.20250129-0720: سحب من docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
الحالة: الصورة محدثة بالفعل لـ registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T07:02:42.768651 #1]  INFO -- : قراءة من stdin
I, [2025-02-06T07:02:42.769907 #1]  INFO -- : تخطى hook قبل_الكود المفقود
I, [2025-02-06T07:02:42.769923 #1]  INFO -- : تخطى hook قبل_ترحيل_قاعدة_البيانات المفقود
I, [2025-02-06T07:02:42.769933 #1]  INFO -- : تخطى hook بعد_الكود المفقود
I, [2025-02-06T07:02:42.772767 #1]  INFO -- : الملف > /etc/service/postgres/run  chmod: +x  chown:
I, [2025-02-06T07:02:42.775230 #1]  INFO -- : الملف > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2025-02-06T07:02:42.777690 #1]  INFO -- : الملف > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.779645 #1]  INFO -- : الملف > /root/install_postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.781825 #1]  INFO -- : الملف > /root/upgrade_postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.781974 #1]  INFO -- : استبدال data_directory = '/var/lib/postgresql/15/main' بالمسار /shared/postgres_data في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782261 #1]  INFO -- : استبدال (?-mix:#?listen_addresses *=.*) بـ listen_addresses = '*' في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782427 #1]  INFO -- : استبدال (?-mix:#?synchronous_commit *=.*) بـ synchronous_commit = $db_synchronous_commit في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782551 #1]  INFO -- : استبدال (?-mix:#?shared_buffers *=.*) بـ shared_buffers = $db_shared_buffers في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782661 #1]  INFO -- : استبدال (?-mix:#?work_mem *=.*) بـ work_mem = $db_work_mem في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782762 #1]  INFO -- : استبدال (?-mix:#?default_text_search_config *=.*) بـ default_text_search_config = '$db_default_text_search_config' في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782877 #1]  INFO -- : استبدال (?-mix:#?checkpoint_segments *=.*) بـ checkpoint_segments = $db_checkpoint_segments في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782974 #1]  INFO -- : استبدال (?-mix:#?logging_collector *=.*) بـ logging_collector = $db_logging_collector في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783076 #1]  INFO -- : استبدال (?-mix:#?log_min_duration_statement *=.*) بـ log_min_duration_statement = $db_log_min_duration_statement في /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783180 #1]  INFO -- : استبدال (?-mix:^#local +replication +postgres +peer$) بـ local replication postgres  peer في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783258 #1]  INFO -- : استبدال (?-mix:^host.*all.*all.*127.*$) بـ host all all 0.0.0.0/0 md5 في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783334 #1]  INFO -- : استبدال (?-mix:^host.*all.*all.*::1\/128.*$) بـ host all all ::/0 md5 في /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783416 #1]  INFO -- : > إذا كان [ -f /root/install_postgres ]؛ ثم
  /root/install_postgres && rm -f /root/install_postgres
إلا إذا كان [ -e /shared/postgres_run/.s.PGSQL.5432 ]؛ إذن
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo أن بوابة postgres قيد التشغيل، أوقف الحاوية ; exit 1

تحذير: تم تفعيل مصادقة "trust" للاتصالات المحلية
نصيحة: يمكنك تغيير ذلك عن طريق تحرير pg_hba.conf أو باستخدام الخيار -A، أو --auth-local و --auth-host، في المرة القادمة التي تقوم فيها بتشغيل initdb.

2.0.20250129-0720: سحب من docker-hub-china/discourse-base

هل يمكنك تأكيد ما إذا كان خادمك في الصين؟

لا توجد مشكلة في المرآة، هذه هي طريقة تسريع شبكة المرآة في الصين، وإلا فإن المرآة لا تتمتع بسرعة شبكة

نقلت استفساراتك إلى موضوع جديد. أعتقد أن هذا مرتبط بتشغيل التحديث من الصين.

استنادًا إلى مخرجات السجل الخاص بك، يبدو أن إعادة البناء تفشل عند apt-get update. أوصي باستخدام VPN لربط الخادم الخاص بك بمستودعات apt.

أقوم أيضًا بعملية تسريع شبكة صينية لـ apt-get update. أود أن أعرف ما هو البرنامج الذي يتم تحديثه بشكل أساسي لـ apt-get update

أفضل أن أعرف ما هو السبب الجذري لعدم إمكانية الاتصال بـ /shared/postgres_run/.s.PGSQL.5432

هل يمكنك الوصول إلى المستودع أدناه من خادمك؟

curl -v https://apt.postgresql.org/pub/repos/apt/

المستودع مطلوب لـ تثبيت حزم PostgreSQL القديمة المستخدمة أثناء التحديث.

يحدث هذا عادةً عندما لم يتم إيقاف قاعدة البيانات بشكل صحيح. لقد قمنا بإصلاحه سابقًا عندما قمت بتشغيل وإيقاف حاوية data. لم يتم رؤية الخطأ في أحدث سجل إخراج الخاص بك.

إعجاب واحد (1)

تقصد أن إصدار PostgreSQL قديم جدًا، مما يسبب مشاكل. يمكن دمج هذا الترقية في معالجة Discourse/base في النسخة المتطابقة. أستخدم النسخة المتطابقة Discourse/base: 2.0.20250129-0720.

هل هناك أي مشكلة في فهمي؟ ما هو رقم إصدار PostgreSQL الذي يعمل بشكل صحيح ورقم إصدار PostgreSQL الذي توجد به مشاكل؟

أو ربما تكمن المشكلة في حقيقة أن النسخة المتطابقة التي أستخدمها حديثة جدًا، مما يسبب مشاكل في بناء البيانات. أحتاج إلى بناء البيانات باستخدام النسخة المتطابقة Discourse/base: 2.0.20250114-0014 لاستيعاب ترقية PostgreSQL.

لقد حصلت على الترقية PostgreSQL15

يجب استخدام القوالب بالتسلسل

postgres.13.template.yml
postgres.15.template.yml
postgres.template.yml

إعداد تسريع الشبكة في الصين لملفي postgres.13.template.yml و postgres.15.template.yml

run:
  - exec: cat /etc/os-release && psql --version
  - exec: |
      if [ -f /etc/apt/sources.list ]; then
        sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
      else
        echo "deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list
        echo "deb http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware" | sudo tee -a /etc/apt/sources.list
      fi
  - exec: |
      if [ -f /etc/apt/sources.list.d/debian.sources ]; then
        sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
      else
        sudo bash -c 'cat > /etc/apt/sources.list.d/debian.sources <<EOF
        URIs: http://mirrors.ustc.edu.cn/debian
        Suites: bookworm bookworm-updates
        Components: main contrib non-free non-free-firmware
        Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

        Types: deb
        URIs: http://mirrors.ustc.edu.cn/debian-security
        Suites: bookworm-security
        Components: main contrib non-free non-free-firmware
        Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
        EOF'
      fi
  - exec: cat /etc/apt/sources.list && cat /etc/apt/sources.list.d/debian.sources
إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.