আমি একাধিক PostgreSQL সার্ভার ইনস্টল করা আছে। পুরানো সার্ভারের জন্য আমি কীভাবে অটো বুট অক্ষম করব?


24

আমি ওরাকল ভার্চুয়ালবক্সে উবুন্টু 12.04 চালাচ্ছি। কয়েক মাস আগে, আমি আমার মেশিনে পোস্টগ্রিজএসকিউএল সার্ভার সংস্করণ 9.1 ইনস্টল করেছি। সাম্প্রতিককালে, আমি শিখেছি পোস্টগ্রিএসকিউএল সার্ভার 9.3 জেএসওএন ডেটা প্রকারকে সমর্থন করে, তাই আমি আপগ্রেড করার সিদ্ধান্ত নিয়েছি।

আমি এখানে নির্দেশাবলী অনুসরণ করে 9.3 এ আপগ্রেড করেছি:

https://wiki.postgresql.org/wiki/Apt

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.3 pgadmin3

এই ইনস্টল করা সার্ভার সংস্করণ 9.3 সংস্করণ 9.1 সহ আমার মেশিনে। একটি নতুন বুট দেওয়ার পরে pg_lsclusters চালানো হচ্ছে:

Ver Cluster Port Status Owner    Data directory               Log file
9.1 main    5433 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log
9.3 main    5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log

আমি পরে নিম্নলিখিত আপগ্রেড রক্ষণাবেক্ষণ করেছি: আমি আমার 9.1 সার্ভার থেকে pg_dump এর সাথে বেশ কয়েকটি টেবিল রফতানি করেছি এবং সেগুলি আমার 9.3 সার্ভারে পুনরুদ্ধার করেছি। আমি তখন আমার কনফিগারেশন ফাইলগুলি 9.1 এবং 9.3 এ খুললাম /etc/postgresql/$VERSION/main/postgresql.confএবং তাদের পোর্ট নম্বরগুলি অদলবদল করেছিলাম যাতে আমার পিএসএইচএল ক্লায়েন্টটি ডিফল্টরূপে নতুন সার্ভারের সাথে সংযোগ স্থাপন করে।

আমার প্রশ্ন এই। 9.1 এবং 9.3 উভয়ই বুট থেকে শুরু হয়। আমি অটো বুটিং থেকে 9.1 প্রতিরোধ করতে চাই, কারণ এটি আমার সিস্টেমের মেমরির প্রায় 5% সময় নেয়। কিভাবে আমি এটি করতে পারব?

সংস্থান থেকে পরামর্শ নেওয়া:

একটি সার্ভার শুরুর পোস্টগ্রিএসকিউএল ডক পৃষ্ঠাটি আমাকে স্ট্যান্ডার্ড init.d ডিরেক্টরিতে দেখায়। আমার init.d ডিরেক্টরিতে স্ক্রিপ্ট রয়েছে postgresql। দেখে মনে হচ্ছে এই স্ক্রিপ্টটি শুধুমাত্র একটি সংস্করণ চালু করতে কনফিগার করা যেতে পারে তবে প্রয়োজনীয় পরিবর্তনটি আমার কাছে সুস্পষ্ট নয়।

http://www.postgresql.org/docs/9.1/interactive/server-start.html

নীচের পোস্টটি খুব তথ্যবহুল ছিল তবে এটি ক্লাস্টারটি কীভাবে সরিয়ে ফেলতে হবে তা প্রারম্ভকালে কীভাবে অক্ষম করবেন তা নয়। আমি আমার পুরানো ক্লাস্টারটি ইনস্টল করতে চাই, কারণ আমি এটি থেকে আরও তথ্য পুনরুদ্ধার করতে চাই।

আমি মনে করি আমার একাধিক পোস্টগ্র্যাস্কল সার্ভার ইনস্টল আছে, আমি কীভাবে 'অতিরিক্ত' চিহ্নিত করব এবং মুছব?

সিস্টেমটি লোড করা শেষ হয়ে গেলে আমি একটি স্ক্রিপ্ট লিখতে ভেবে দেখেছি তবে এটি অকার্যকর বলে মনে হচ্ছে। বুট-তে 9.1 সংস্করণ অক্ষম করার কী ক্লিনার উপায় আছে?

উত্তর:


43

একটি হ্যাক, সম্পাদনার কম জন্য /etc/postgresql/9.1/main/start.confএবং প্রতিস্থাপন autoসঙ্গে manualবা disabled


ধন্যবাদ ch2500! এই সমাধানটি স্বজ্ঞাত এবং এটি আমার যা প্রয়োজন ঠিক তা করে।
বিটপুশার

আমি বেশ কয়েক ঘন্টা ধরে এর মতো উত্তর খুঁজছি। আপনাকে প্রচুর ধন্যবাদ
জোনাথন ভানাসকো

10

দেবিয়ান একক সার্ভারে পোস্টগ্র্রেএসকিউএল এর একাধিক সংস্করণ বা ইনস্টলেশন চলমানকে সহজ করার জন্য বেশ কয়েকটি স্ক্রিপ্ট তৈরি করেছে (যেমন পিজি_ * ক্লাস্টার ইউটিলিটিস), এটি পোস্টগ্রিসক্লু.আর.আরজে নথিভুক্ত করা হয়নি বলেই।

আমি নিশ্চিত নই যে পোস্টগ্রিসএসকিউএল এর নিজস্ব .debপ্যাকেজটি ডেবিয়ানের মতো একই প্রারম্ভিক প্রক্রিয়াটি ব্যবহার করে, তবে আমার যে প্যাকেজটি রয়েছে তা দেখে আপনি /etc/init.d/postgresql-9.1যদি এটি তৈরি করেন (এমনকি এটি একটি খালি ফাইল থাকে) তবে /etc/init.d/postgresqlধরে নেওয়া হবে আপনি আলাদাভাবে সেই সংস্করণটি নিয়ন্ত্রণ করতে চান এবং না এটি ডিফল্টরূপে শুরু করুন। আপনি এখনও এটি দিয়ে শুরু করতে পারেন

service postgresql start 9.1

সংস্করণ অনুসন্ধান ওভাররাইড করতে।


ধন্যবাদ ডারফকে, এটি কাজ করেছে। আমি আপনার প্রস্তাবিত একটি ফাইল তৈরি করেছি, এতে একটি হ্যাশ ব্যাং রেখেছি এবং তা কার্যকর করতে সক্ষম হয়েছি। আমি যখন রিবুট করলাম, pg_lsclusters দিয়েছে: Ver Cluster Port Status Owner Data directory Log file 9.1 main 5433 down postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log 9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
বিটপুশার

পোস্টগ্রিসএসকিউএল ডেবিয়ান প্যাকেজিং টিমের প্যাকেজগুলি দেবিয়ান থেকে প্রাপ্তদের মতো। আপনার নিজের sysv init শুরু স্ক্রিপ্টগুলি হ্যাক করার পরিবর্তে আপনার পিজি_ * ক্লাস্টার অবকাঠামো ব্যবহার করা উচিত।
মাইকেল রেনার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.