পোস্টগ্র্যাসেল ডাটাবেস কীভাবে আপগ্রেড করব? বেমানান ত্রুটি


26

আমি হোমব্রিউয়ের মাধ্যমে পোস্টগ্র্যাস্কল ইনস্টল করেছি।

আপগ্রেড করার পরে আমার নিম্নলিখিত সমস্যাটি রয়েছে:

FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 9.0, which is not compatible with this version 9.1.2.

কীভাবে আপগ্রেড করবেন তার কোনও পরামর্শ? আমি নিম্নলিখিত চেষ্টা করেছিলাম:

$ pg_upgrade -d /usr/local/var/postgres/ -D /usr/local/var/postgres -b 
/usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar/postgresql/9.1.2/bin

এটি কাজ করে না। এখানে আউটপুট।

Performing Consistency Checks
Checking current, bin, and data directories                 ok
Checking cluster versions                                   
This utility can only upgrade to PostgreSQL version 9.1.
Failure, exiting

ত্রুটি।

উত্তর:


36

হোমব্রিউ দিয়ে ওএস এক্সে আমার পক্ষে এটি ছিল was

  1. হোমব্রিউয়ের সাথে নতুন পোস্টগ্রাগগুলি ইনস্টল করা হয়েছে (ত্রুটিটি পাওয়া শুরু হয়েছে)
  2. mv /usr/local/var/postgres /usr/local/var/postgres.old
  3. initdb -D /usr/local/var/postgres
  4. pg_upgrade -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar/postgresql/9.1.2/bin -d /usr/local/var/postgres.old -D /usr/local/var/postgres
  5. ./delete_old_cluster.sh (আপনি উপরের পদক্ষেপগুলি অতিক্রম করার সময় এই স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে বর্তমান ডিয়ারের জন্য তৈরি করা হয়েছে)
  6. rm delete_old_cluster.sh

কল্পনাপ্রসূত এবং ঠিক আমার কী দরকার বন্ধু! ধন্যবাদ। এস্পিকভাবে স্নো চিতাবাঘ থেকে সিংহ আপগ্রেড হওয়ার পরে। সার্ভার.লগ গুগল লোকেদের দেখুন!
pjammer

এটি আমার জন্য নিখুঁতভাবে কাজ করেছে, ধন্যবাদ! লক্ষ্য করুন postgres ধাপগুলি করছেন, তাই আপনি যদি এটা Homebrew মাধ্যমে ইনস্টল করা আছে সামনে চলমান করা আবশ্যক লঞ্চ এজেন্ট এটি স্বয়ংক্রিয়ভাবে শুরু করে মাল খালাস করতে ভুলবেন না: launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist। উপরের সমস্ত পদক্ষেপগুলি সম্পন্ন হওয়ার পরে, কেবল এটি আবার লোড করুন:launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
মারকাস অ্যামালটিয়া ম্যাগনসন

6

ফেডোরায় আমি এটি কীভাবে করেছি তা এখানে:

  • আপনার পুরানো ডেটা ডিরেক্টরিকে ডেটাওয়াল্ডের মতো নতুন নামকরণ করুন
  • চালান postgresql-setup initdb একটি নতুন ডেটা ডিরেক্টরি তৈরি করবে
  • তারপর চালান pg_upgrade -b /usr/lib64/pgsql/postgresql-9.0/bin/ -B /usr/bin/ -d data.old/ -D data

আমি মনে করি আপনার জন্য এটি হবে:

pg_upgrade -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/bin/ -d /usr/local/var/postgres.old/ -D /usr/local/var/postgres/
  • আপনি pg_hba.conf এবং postgresql.conf কে ডেটা.ল্ড থেকে নতুন ডেটা ডিরেক্টরিতে অনুলিপি করতে চান।
  • postgresql পুনরায় আরম্ভ করুন

1

আমি "ডিআইডিডিবি" লাইনটি মিস করেছি / ভুলে গেছি

initdb -D / usr / স্থানীয় / var / postgres

ডিবি তৈরির পরে, পিজি_আপগ্রেড আমার উইন্ডোজ সিস্টেমে কাজ করেছে।


0

জন্য আর্চ লিনাক্স , একটি হল উইকি মধ্যে সমাধান আমার জন্য জরিমানা কাজ:

pacman -S --needed postgresql-old-upgrade
su -
su - postgres -c 'mv /var/lib/postgres/data /var/lib/postgres/data-9.2'
su - postgres -c 'mkdir /var/lib/postgres/data'
su - postgres -c 'initdb --locale en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data'
su - postgres -c 'pg_upgrade -b /opt/pgsql-9.2/bin/ -B /usr/bin/ -d /var/lib/postgres/data-9.2 -D /var/lib/postgres/data'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.