পোস্টগ্রিজ ক্যোয়ারির জন্য কি সর্বোচ্চ দৈর্ঘ্যের সীমাবদ্ধতা রয়েছে?


33

আমরা যে অ্যাপটিটি তৈরি করছি সেটি সম্ভবত একটি বড় সন্নিবেশ অনুসন্ধানগুলি কার্যকর করতে পারে। আমার পোস্টগ্রিজ ক্যোয়ারিতে কেবলমাত্র একটি নির্দিষ্ট সংখ্যক অক্ষর থাকতে পারে?


2
আমি কেবল এটিই বলব যে আপনি যদি সেই প্রকৃতির কোনও প্রকার সীমাতেও পৌঁছে থাকেন তবে আপনার নকশাকে পুনর্বিবেচনা করতে হবে। আমি দেখতে পেয়েছি যে, প্রায়শই আসা আসা যে কোনও প্রশ্নগুলি সাধারণত কোনও ধরণের কাঠামোর দ্বারা উত্পন্ন হয় (চূড়ান্ত স্ট্রিং কনটেন্টেশন জড়িত) এবং তারা বাস্তবতার সাথে যোগাযোগ হারাতে থাকে।
ভোরেস

উত্তর:


43

বর্তমান পোস্টগ্রেএসকিউএল সংস্করণে (9.5 অবধি), কোয়েরিগুলি একটি বাফারেন্ডে ব্যাকএন্ডের দ্বারা প্রাপ্ত হয় Stringinfo, যা সীমাবদ্ধ MaxAllocSize, এটি সংজ্ঞায়িত:

#define MaxAllocSize   ((Size) 0x3fffffff) /* 1 gigabyte - 1 */

(দেখুন http://doক্স.postgresql.org/memutils_8h.html )

সুতরাং একটি ক্যোয়ারী 1 গিগাবাইট (2 ^ 30) আকারে সীমাবদ্ধ , শূন্য নাইট বাইটের জন্য বিয়োগ 1 বাইট।

যদি কোনও ক্লায়েন্ট বৃহত্তর ক্যোয়ারী প্রেরণ করার চেষ্টা করে তবে এর মতো দেখতে একটি ত্রুটি ফিরে আসবে:

ত্রুটি: আউট মেমরি
বিস্তারিত: Enlarge স্ট্রিং বাফার দ্বারা 0 বাইটের ধারণকারী করা যাবে না এন আরো বাইট।

Nকোয়েরির আকারটি কোথায় ।

সচেতন থাকুন যে ঠিক নীচে একটি প্রশ্নের 1GBজন্য সেই 1GBবাফার ছাড়াও বড় পরিমাণে মেমরি পার্স করা, পরিকল্পনা করা বা সম্পাদন করতে হবে ।

আপনার যদি কোনও ক্যারিয়ারে আক্ষরিক একটি বৃহত সিরিজ ঠেলা প্রয়োজন, একটি অস্থায়ী টেবিল তৈরির বিকল্পটি বিবেচনা করুন, এর মধ্যে COPYসারি করুন এবং মূল ক্যোয়ারীটি সেই অস্থায়ী সারণিকে উল্লেখ করুন।

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