উত্তর না হয় ।
আপনি varcharযদি এড়াতে পারেন তবে কোনও দৈর্ঘ্যের সংশোধক যুক্ত করবেন না । বেশিরভাগ সময়, আপনার যাইহোক আসলে দৈর্ঘ্যের সীমাবদ্ধতার প্রয়োজন হয় না। textসমস্ত অক্ষর ডেটা জন্য শুধু ব্যবহার করুন। আপনার varcharযদি আরডিবিএমএসের সাথে সামঞ্জস্যপূর্ণ থাকতে হয় তবে এটি (কোনও দৈর্ঘ্যের সংশোধক নয়) করুন text।
পারফরমেন্স প্রায় একই হয় - textহয় একটু বিরল পরিস্থিতিতে দ্রুত , এবং আপনি দৈর্ঘ্যের উপর চেক জন্য চক্র সংরক্ষণ।
আসলে আপনি যদি প্রয়োজন সর্বাধিক দৈর্ঘ্য জোরদার করা, এখনও ব্যবহার textএবং যোগ চেক বাধ্যতা যে জন্য:
ALTER TABLE tbl ADD CONSTRAINT tbl_col_len CHECK (length(col) < 51);
আপনি টেবিল সংজ্ঞা এবং সমস্ত নির্ভরশীল অবজেক্ট (ভিউ, ফাংশন, বিদেশী কী, ...) নিয়ে ঝামেলা ছাড়াই যে কোনও সময় এই জাতীয় প্রতিবন্ধকতা সংশোধন বা বাদ দিতে পারেন (
দৈর্ঘ্য সংশোধকগুলির সাহায্যে আপনি কেবল এই বা এই বা এই জাতীয় সমস্যার মধ্যে চলে যান ...
PostgreSQL 9.1 ব্যথা কিছুটা কমিয়ে আনতে একটি নতুন বৈশিষ্ট্য চালু করেছে। আমি এখানে প্রকাশের নোটগুলি উদ্ধৃত করেছি :
ALTER TABLE ... SET DATA TYPEউপযুক্ত ক্ষেত্রে টেবিলের পুনর্লিখনগুলি এড়াতে মঞ্জুরি দিন (নোয়া মিস, রবার্ট হাস)
উদাহরণস্বরূপ, varcharকলামটিকে পাঠ্যে রূপান্তর করতে আর সারণীর পুনর্লিখনের প্রয়োজন নেই। তবে, একটি varcharকলামে দৈর্ঘ্যের সীমাবদ্ধতা বাড়ানোর জন্য
এখনও একটি টেবিল পুনর্লিখনের প্রয়োজন।