আমাকে একটি পোস্টগ্রেএসকিউএল 8.2.x ডাটাবেস অন্য সার্ভারে স্থানান্তরিত করার কাজ দেওয়া হয়েছিল। এটি করার জন্য আমি পগএডমিন ১.১২.২ ব্যবহার করছি (উবুন্টু ১১.০৪ তে উপায়) এবং কাস্টম / কমপ্রেস ফর্ম্যাট (। ব্যাকআপ) এবং ইউটিএফ 8 এনকোডিং ব্যবহার করে ব্যাকআপ এবং পুনরুদ্ধার ব্যবহার করছি।
মূল ডাটাবেসটি ইউটিএফ 8 এ রয়েছে:
-- Database: favela
-- DROP DATABASE favela;
CREATE DATABASE favela
WITH OWNER = favela
ENCODING = 'UTF8'
TABLESPACE = favela
CONNECTION LIMIT = -1;
আমি ঠিক এই গন্তব্য সার্ভারে এই ডাটাবেস তৈরি করছি। কিন্তু যখন আমি পুনঃস্থাপন বিকল্পটি ব্যবহার করে .ব্যাকআপ ফাইলটি থেকে ডাটাবেস পুনরুদ্ধার করি তখন এটি আমাকে এই ত্রুটিগুলির কিছু দেয়:
pg_restore: restoring data for table "arena"
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2173; 0 35500 TABLE DATA arena favela
pg_restore: [archiver (db)] COPY failed: ERROR: invalid byte sequence for encoding "UTF8": 0xe3a709
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
CONTEXT: COPY arena, line 62
যখন আমি পরীক্ষা করি যে কোন রেকর্ডটি এই ত্রুটিটি ট্রিগার করেছে আসলে কিছু প্রান্তের ক্ষেত্রের মধ্যে ডায়াক্রিটিক্যাল অক্ষর রয়েছে characters (পর্তুগিজ ভাষায় ব্যবহৃত হয়, উদাহরণস্বরূপ, "caça"), এবং যখন আমি ম্যানুয়ালি রেকর্ডগুলির মধ্যে পাঠ্য থেকে সরিয়ে ফেলি ত্রুটিটি পরবর্তী রেকর্ডে চলে যায় এতে সেগুলি রয়েছে - যেহেতু অনুলিপিটিতে একটি ত্রুটি থাকে তখন এটি এই টেবিলটিতে ডেটা .োকানো বন্ধ করে দেয়। এবং এটি সম্পাদন করার জন্য আমি একে একে তাদের ম্যানুয়ালি প্রতিস্থাপন করতে চাই না।
তবে এটি একপ্রকার অদ্ভুত কারণ ইউটিএফ 8 এর সাথে এই ধরণের সমস্যা হওয়া উচিত নয়, তাই না?
আমি জানি না তারা কীভাবে সেখানে প্রথম স্থান পেল। আমি কেবল ডাটাবেস স্থানান্তর করছি, এবং আমি অনুমান করি যে কোনওভাবে LATIN1 তে ডাটাবেসটি ছিল এবং তারপরে ভুলভাবে ইউটিএফ 8 এ পরিবর্তন করা হয়েছিল।
কোনও টেবিল / ডাটাবেসে অবৈধ ইউটিএফ 8 সিকোয়েন্স আছে কিনা তা পরীক্ষা করার কোনও উপায় আছে কি? অথবা এই অক্ষরগুলি ইউএফটি 8 তে প্রয়োগ / পুনঃবর্তিত করার কোনও উপায় যাতে আমি পুনরুদ্ধারটি সম্পাদন করি তখন কোনও সমস্যায় পড়ি না?
আগাম ধন্যবাদ.