postgresql ইনস্টলেশন: initdb ডাটা ডিরেক্টরি খালি নেই?


17

আমি পোস্টগ্র্যাস্কিল ডাটাবেস তৈরি করার চেষ্টা করছি।

আমি পোস্টগ্রিজ এসকিউএল ইনস্টল করার সময়, আমি এই আদেশটি দিয়েছিলাম:

sudo yum install postgresql postgresql-server

এবং পরে আমি কনফিগার ফাইলটি পরিবর্তন করেছি:

sudo vim /var/lib/pgsql/data/pg_hba.conf

এবং হিসাবে পরিবর্তিত

local   all         all                               trust
host    all         all         127.0.0.1/32          trust
host    all         all         ::1/128               trust
host    all         all         0.0.0.0/0             md5

যখন আমি পোস্টগ্র্যাস্কিল পরিষেবাটি চালু করার চেষ্টা করছি:

sudo service postgresql initdb

> Data directory is not empty!                               [FAILED]

sudo chkconfig postgresql on

sudo service postgresql start

Starting postgresql service:                               [  OK  ]

এই ত্রুটিগুলির কারণ কী এবং আমি কীভাবে সেগুলি ঠিক করব?

উত্তর:


18

ইনিশডিবি একবার চালানো উচিত। এটি ডিরেক্টরিটি তৈরি করবে যেখানে আপনি কনফিগার ফাইল এবং (সাধারণত) প্রকৃত ডাটাবেস রাখবেন। আপনি স্পষ্টতই ইতিমধ্যে এটি ইতিমধ্যে সম্পন্ন করেছেন; অন্যথায় আপনার সম্পাদনা করার জন্য কোনও pg_hba.conf থাকবে না।

সুতরাং, postgresql initdbআপনি আবার সম্পূর্ণরূপে ইনস্টল না করে কেবল আবার দৌড়াবেন না।


উত্তরের জন্য ধন্যবাদ .. আমি এটি দু'বার
চালিয়েছি

আমি বোঝাতে চাইছি যে আপনার ইনস্টলেশনটিতে কোনও সমস্যা নেই, কমপক্ষে আপনি যেটি দেখিয়েছেন তা নয়। কেবলমাত্র ব্যর্থ হচ্ছে যে একাধিকবার initdb করছে এবং এটি ব্যর্থ হওয়া উচিত - অন্য সব কিছুই ঠিক আছে হিসাবে দেখায়। যদি অন্য কোনও সমস্যা থাকে তবে এটির বর্ণনা দিতে পারলে সহায়তা করবে।
জেনি ডি

আপনাকে অনেক ধন্যবাদ .. তবে এটি কোনও সমস্যা নয় .. যদি আমার কোন সমস্যার মুখোমুখি হয় তবে আমি আপনাকে জানাব ..
শ্রীধর

15

থেকে এখানে :

আপনি যদি পোস্টগ্র্রেস ডিবি সম্পূর্ণরূপে মুছা এবং পুনরায় ইনস্টল করেন, তবে এই জাতীয় চালানোর সময় initdb:

service postgresql-9.2 initdb -E 'UTF8' --pgdata="/foo/bar/"

আপনি এই পরিষেবা ত্রুটি সম্মুখীন করতে পারেন:

ডেটা ডিরেক্টরি খালি নেই! [ব্যর্থ]

এটি ঠিক করার জন্য (এবং এটি পারমাণবিক বিকল্প - সমস্ত ডিবি ডেটা মুছে ফেলা হয়!)

অ্যামাজন লিনাক্সে (2014-এক্স):

rm -rf /var/lib/pgsql9/data

CentOS এ (6.x)

rm -rf /var/lib/pgsql/9.2/data

এখন initdbকমান্ডটি আবার চেষ্টা করুন এবং এটি এই বারে কাজ করা উচিত:

service postgresql-9.2 initdb


4

RHEL / CentOS 7 এবং ফেডোরার মতো সিস্টেমে ভিত্তিক সিস্টেমে initdb চালানোর পদ্ধতিটি কিছুটা আলাদা। এটি আর আর ডি স্ক্রিপ্টগুলির দ্বারা আর করা হয় না (যা আর বিদ্যমান নেই), এবং নতুন পদ্ধতিটি প্রবাহের নির্দেশাবলীর খুব কাছে

আপনাকে অবশ্যই প্রথমে ব্যবহারকারীর suকাছে যেতে হবে postgresএবং তারপরে চালনা করুন initdbবা pg_ctl initdb। আপনি যদি কোনও রেড হ্যাট বিল্ডটি ডিফল্ট হিসাবে স্বয়ংক্রিয়ভাবে ডিফল্ট ডেটা ডিরেক্টরি চয়ন করেন তবে ডেটা ডিরেক্টরি সরবরাহ করার প্রয়োজন নেই /var/lib/pgsql

উদাহরণ স্বরূপ:

# su - postgres
$ pg_ctl initdb
$ exit
#

অবশ্যই, প্রাথমিক ডেটা ডিরেক্টরিটি সেট আপ করার জন্য আপনি কেবল প্রথম ইনস্টলেশনটিতে একবার এটি করেন। আপনি সম্পূর্ণ নতুন ইনস্টলেশন তৈরি বা কোনও বিপর্যয় থেকে পুনরুদ্ধার না করা হলে আপনি এটি আর করবেন না।


3

CentOS 6 এ PostgreSQL 9.3 ব্যবহার করে আমারও একই সমস্যা ছিল।

আমি /var/lib/pgsql/9.3/data ফোল্ডারটি মুছে ফেলেছি, তারপরে কমান্ডটি আবার চালিত করেছি

sudo service postgresql-9.3 initdb

... যা সফলভাবে আবার ডিবি পরিষেবা শুরু করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.