আমি কীভাবে আমার পোস্টগ্রিজ ডেটা 8.4 থেকে 9.1 এ স্থানান্তর করব?


27

আমি আমার উবুন্টু ডেভলপমেন্ট মেশিনটি 11.04 থেকে 11.10 এ আপগ্রেড করেছি। প্রক্রিয়াটিতে আমার পোস্টগ্রাগগুলিও 8.4 থেকে 9.1 এ উন্নীত হয়েছিল।

তবে আমি আমার সমস্ত ডেটা হারিয়ে ফেলেছি বলে মনে হচ্ছে। আমি যদি তাকান তবে আমি দেখতে পাচ্ছি যে 8.4 এর জন্য আমার ডেটা ফোল্ডারে রয়েছে /var/lib/postgres/8.4/mainএবং আমার নতুন ডাটাবেসটি রয়েছে /var/lib/postgres/9.1/main।

নতুন সংস্করণে আমার ডেটা স্থানান্তর করার সর্বোত্তম উপায় কী? আমি কি কেবল ফাইলগুলি অনুলিপি করতে পারি?

উত্তর:


27
su postgres
pg_dropcluster --stop 9.1 main    
pg_upgradecluster 8.4 main

প্রথমে এটি আমার জন্য দুটি কারণে কার্যকর হয়নি। প্রথমত, পোস্টগ্র্যাস্কেল -8.4 কোনও সময়ে আনস্টল করা হয়েছিল, সুতরাং আমাকে এটি পুনরায় ইনস্টল করতে হয়েছিল:

sudo apt-get install postgresql-8.4

তারপরে আমাকে 8.4 এ গিয়ে 10 এ postgresql.confপরিবর্তন max_connectionsকরতে হয়েছিল। তারপরে এটি কাজ করেছিল worked আপনি কনফারেন্স ফাইলটি সন্ধান করতে সক্ষম হবেন/etc/postgresql/8.4/main/postgresql.conf


একটি কম্পিউটারে শীর্ষ তিনটি লাইন যথেষ্ট ছিল। অন্যদিকে আমাকে এটিকে কাজ করতে 8.4 পুনরায় ইনস্টল করতে হয়েছিল, যেমনটি আপনি বলেছেন। আপনার সাহায্যের জন্য ধন্যবাদ।
— নাথানভদা

এটি লক্ষ করা উচিত যে "pg_upgradecluster" স্ক্রিপ্টটি সেই ক্ষেত্রে পরিচালনা করে না যেখানে ডাটাবেস ব্যবহারকারীকে সরবরাহ করতে হবে। (যদি এটি হয় তবে আমি কীভাবে এটি সরবরাহ করব তা আমি নিশ্চিতভাবে বুঝতে পারি না))
— পয়েন্টি

Error: specified cluster is not runningপরিবর্তনের পরে আবার চেষ্টা করার সময় যদি আপনি পান তবে max_connectionsব্যবহার করুন pg_ctlcluster 8.4 main start।
— স্কিপি লে গ্র্যান্ড গৌরু

হ্রাস max_connectionsআমার পক্ষে কাজ করে না। ত্রুটি বার্তার দ্বারা সরবরাহিত বিকল্প সমাধান হিসাবে, আমি shared_buffers20MB (200MB থেকে) হ্রাস পেয়েছি , যা আমার পক্ষে কাজ করেছিল।
— সেরানানো

4

১১.১০ তে আপগ্রেড করার পরে, পোস্টগ্র্যাস এসকিউএল 9.1 ইনস্টল করা হয়েছিল তবে চলমান সংস্করণটি 8.4 ছিল।

আমি চেষ্টা করেছিলাম:

su postgres
pg_dropcluster --stop 9.1 main    
pg_upgradecluster 8.4 main

এটি ত্রুটিটি রিপোর্ট করেছে:

Stopping old cluster...
pg_ctl: servidor não desligou
Error: Could not stop old cluster

সুতরাং, অন্য উইন্ডোতে:

$ sudo service postgresql-8.4 stop
 * Stopping PostgreSQL 8.4 database server                               [ OK ] 
jgr@cagliari:~$ sudo service postgresql-8.4 start
 * Starting PostgreSQL 8.4 database server                               [ OK ] 

এবং তারপরে আবার:

pg_upgradecluster 8.4 main

PgRouting এর সাথে সম্পর্কিত ত্রুটিগুলি প্রতিবেদন করা হয়েছে। এটি কিছুক্ষণ (সমস্ত রাত!) সময় নিয়েছিল, কিন্তু পরে ডেটাবেসটি 9.1 এ উন্নীত করা হয়েছিল। পোস্টজিআইএস 1.5.5 এ উন্নীত হয়েছিল।


এফওয়াইআই, আমি দেখতে পেলাম যে /var/lib/postgresql/9.1 ডিরেক্টরিতে একটি "ডু -হস" করছে এবং তারপরে /var/lib/postgresql/8.4/ তে একই কমান্ডের আউটপুটটির সাথে তুলনা করে আমি আবিষ্কার করেছি যে আমি পারব কমান্ড থেকে আকার আউটপুটের উপর ভিত্তি করে কতটা অনুলিপি করা হয়েছে তা গেজ করুন।
— জো জে

আমি জানি এটি যে প্রশ্নটি নিয়ে আলোচনা করা হচ্ছে তা নয়। আপনি বর্ণিত হিসাবে আমি একই ইস্যুতে ছুটে এসেছি। Pg_upgradecluster পুরানো ক্লাস্টারটি থামাতে না পারার কারণটি ছিল টমক্যাট উদাহরণটি সংযোগগুলি ব্যবহার করছে এবং পোস্টগ্রাস সেগুলি বন্ধ করতে পারেনি। আশা করি এটি কাউকে সাহায্য করবে।
— খেলোয়াড়

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