পোস্টগ্রিএসকিউএল সহ সিআই / সিডি পাইপলাইনটি "ডেটাবেসটি অবিচ্ছিন্ন করা হয়েছে এবং সুপারসউসার পাসওয়ার্ড নির্দিষ্ট করা হয়নি" ত্রুটি


18

আমি সিআই / সিডির জন্য পোস্টগ্র্রেএসকিউএল সহ বিটবকেট পাইপলাইন ব্যবহার করছি। এই ডকুমেন্টেশন অনুসারে পোস্টগ্র্যাস এসকিউএল পরিষেবাটি এভাবে বর্ণিত হয়েছে bitbucket-pipelines.yml:

definitions:
  services:
    postgres:
      image: postgres:9.6-alpine

এটি এখন অবধি ঠিকঠাক কাজ করেছে। তবে আমার সমস্ত সর্বশেষ পাইপলাইন নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়েছে:

   Error: Database is uninitialized and superuser password is not specified.
   You must specify POSTGRES_PASSWORD for the superuser. Use
   "-e POSTGRES_PASSWORD=password" to set it in "docker run".

   You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections
   without a password. This is *not* recommended. See PostgreSQL
   documentation about "trust":
   https://www.postgresql.org/docs/current/auth-trust.html

আমি কীভাবে এটি ঠিক করতে পারি? bitbucket-pipelines.ymlফাইলটিতে কোনও পরিবর্তন হয়নি যা এই জাতীয় ত্রুটির কারণ হতে পারে ..

উত্তর:


17

দেখে মনে হচ্ছে কারণটি ডকার চিত্রের আপডেট (গিথুব ইস্যু )। সর্বশেষ সংস্করণগুলি কোথাও থেকে পাসওয়ার্ড ছাড়াই ডিবিতে সংযোগ করার অনুমতি দেয় না। সুতরাং আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড নির্দিষ্ট করতে হবে:

definitions:
  services:
    postgres:
      image: postgres:9.6-alpine
      environment:
         POSTGRES_DB: pipelines
         POSTGRES_USER: test_user
         POSTGRES_PASSWORD: test_user_password

অথবা আপনি যদি এখনও পাসওয়ার্ড ব্যবহার করতে না চান তবে আপনি কেবল POSTGRES_HOST_AUTH_METHOD=trustপরিবেশের পরিবর্তনশীল সেট করতে পারেন :

definitions:
  services:
    postgres:
      image: postgres:9.6-alpine
      environment:
        POSTGRES_HOST_AUTH_METHOD: trust

4

এটি প্রায় এক সপ্তাহ আগের হিসাবে সাম্প্রতিক পরিবর্তন। এটি এড়ানোর এক উপায় হ'ল আপনার পোস্টগ্রাফিক সংস্করণটি সর্বশেষ নয়, যেমন postgres:9.5.18বা পরিবর্তিত topostgres:9.5.20-alpine

অন্য উপায় হ'ল একটি জাল পাসওয়ার্ড পাস:

services:
  db:
    image: postgres
    ports:
      - "8001:5432"
    environment:
      - POSTGRES_PASSWORD=fake_password

এখানে আলোচনাটি দেখুন: https://github.com/docker-library/postgres/issues/681


1

আপনার যদি প্রথমবারের মতো ডকারের মাধ্যমে জ্যাঙ্গোকে পোস্টগ্রাইএসকিউএলে সংযোগ করার সমস্যা হয় তবে POSTGRES_HOST_AUTH_METHOD: trustআপনার docker-compose.ymlফাইলটিতে যুক্ত করুন:

db: image: postgres:11 environment: POSTGRES_HOST_AUTH_METHOD: trust

এটি আমার জন্য সংযোগ সমস্যার সমাধান করে।

দয়া করে এ বিষয়ে সচেতন হন যে "এটি প্রস্তাবিত নয় " "বিশ্বাস" সম্পর্কে পোস্টগ্রিজ এসকিউএল ডকুমেন্টেশন দেখুন: https://www.postgresql.org/docs/current/auth-trust.html "


যদি এটি প্রস্তাবিত না হয় তবে কেন এটির পরামর্শ দিন? এটি প্রস্তাবিত নয় বলে সতর্ক করে দেওয়া ভাল তবে আপনি কেন এটির পরামর্শ দেন বা এটির উপরে কোনও কাজ সরবরাহ করে তা সরবরাহ করে providing অবশ্যই সাহায্য করবে। শুধু একটি মতামত।
এরো কোড -112 বানর

এই চারপাশে একটি ভাল কাজ সুপারভাইজারের জন্য একটি POSTGRES_PASSWORD নির্দিষ্ট করা। আপনি এটিকে "ডকার চালাতে" সেট করতে "-e POSTGRES_PASSWORD = পাসওয়ার্ড" ব্যবহার করতে পারেন
ADRIAN R7Z
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.