আমি কীভাবে আমার পোস্টগ্রিজ ডেটা 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.