PostgreSQL

সফটওয়্যার স্ক্রিনশট:
PostgreSQL
সফটওয়্যার বিবরণ:
সংস্করণ: 10.5 / 11 Beta 3 আপডেট
তারিখ আপলোড: 16 Aug 18
ডেভেলপার: PostgreSQL Global Development Group
লাইসেন্স: বিনামূল্যে
জনপ্রিয়তা: 29

Rating: 1.5/5 (Total Votes: 2)

PostgreSQL মারিয়াডিবি, মাইএসকিউএল বা SQLite প্রোজেক্টগুলির শৈলীতে একটি মুক্ত উত্স, শক্তিশালী, নির্ভরযোগ্য, স্থিতিশীল, এন্টারপ্রাইজ-প্রস্তুত এবং মুক্ত বস্তু-সম্পর্কীয় ডাটাবেস সিস্টেম। এটি একটি এসিআইডি (পারমাণবিকতা, সামঞ্জস্য, বিচ্ছিন্নতা, স্থায়িত্ব) অনুবর্তী ডেটাবেস সার্ভার / ইঞ্জিন যা অত্যন্ত স্বনির্ধারিত করা যায় এবং এতে অনেক আকর্ষণীয় বৈশিষ্ট্য রয়েছে, যা পূর্বতর ডেটাবেস ইঞ্জিনগুলির জন্য একটি দুর্দান্ত প্রতিস্থাপন করে।


একটি নজরে বৈশিষ্ট্য

মূল বৈশিষ্ট্যগুলিতে বিদেশী কী, মতামত, যোগদান, ট্রিগার এবং সংরক্ষিত পদ্ধতিগুলির জন্য সমর্থন, একাধিক ভাষার জন্য সমর্থন, বুলিয়ান, চর, ইন্টেগার, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP সহ বিস্তৃত SQL ডেটা প্রকারের জন্য সমর্থন অন্তর্ভুক্ত। DATE তারিখে।

উপরন্তু, সফটওয়্যারটি সমস্ত ধরনের মাল্টিমিডিয়া ফাইল (ভিডিও, অডিও এবং ফটো) সহ বাইনারি বড় বস্তুর স্টোরেজিংয়ের জন্য সমর্থন করে এবং C, C ++, পাইথন, পার্ল, রুবি, এর জন্য স্থানীয় প্রোগ্রামিং ইন্টারফেসগুলির সাথে ডেভেলপারগুলিকে সরবরাহ করে। জাভা, .NET, Tcl এবং ODBC প্রোগ্রামিং ভাষা।

অন্যান্য আকর্ষণীয় বৈশিষ্ট্যগুলির মধ্যে আমরা উল্লেখ করতে পারি এমভিसीसी (মাল্টি-সংস্করণ কনকুরেন্স কন্ট্রোল), টেবিলস্পেস, মাল্টিবিট চরিত্র এনকোডিং, পয়েন্ট পুনরুদ্ধার, একটি পরিপক্ক ক্যোয়ারী অপ্টিমাইজার এবং প্ল্যানার, অ্যাসিঙ্ক্রোনাস প্রতিলিপি, অনলাইন ব্যাকআপ, নেস্টেড লেনদেন (যা জনপ্রিয় হিসাবে পরিচিত savepoints), হট ব্যাকআপ, ফন্ট সহনশীলতার জন্য লগিং, আন্তর্জাতিক চরিত্র সেট এবং ইউনিকোড সমর্থনের জন্য সমর্থন লিখুন।


সংখ্যা in postgreSQL

মুহূর্তে, পোস্টগ্রিএসকিউএল ডাটাবেস সার্ভার ডেটাবেসের জন্য সীমাহীন আকার সমর্থন করে, 32 টিবি টেবিলগুলির জন্য সর্বাধিক আকার, 1.6 টিবি প্রতি সারি, প্রতি 1 গিগাবাইট প্রতি ফিল্ড, প্রতি টেবিল সীমাহীন সারি, প্রতি টেবিল 250 এবং 1600 কলামের মধ্যে সমর্থন করে , কলামের ধরনগুলির উপর নির্ভর করে এবং প্রতি টেবিলের সীমাহীন সূচীগুলিকে সমর্থন করে।


সমর্থিত অপারেটিং সিস্টেম

PostGreSQL সফলভাবে সমস্ত মূলধারার অপারেটিং সিস্টেমে জিএনইউ / লিনাক্স, বিএসডি, সোলারিস, এইচপি-ইউএক্স, এআইক্স, এসজিআই আইআরএক্স, সোলারিস, ট্রু 64, ম্যাক ওএস এক্স এবং মাইক্রোসফ্ট উইন্ডোজ সহ সফলভাবে পরীক্ষা করা হয়েছে। PostgreSQL একটি সার্বজনীন উত্স সংরক্ষণাগার হিসাবে ডাউনলোডের জন্য উপলব্ধ, পাশাপাশি 32-বিট এবং 64-বিট আর্কিটেকচার উভয়কে সমর্থন করে, অনেকগুলি Linux বিতরণের জন্য প্রাক-সংকলিত বাইনারি প্যাকেজগুলি।

নতুন কি এই প্রকাশনায়:

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

নতুন কি সংস্করণ 10.4 / 11 বিটা 1:

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

নতুন কি সংস্করণে:

  • ব্যবহারকারী ম্যাপিং বিকল্পগুলির (নোয়া Misch) হিসাবে সংরক্ষিত পাসওয়ার্ডগুলি সুরক্ষিত করার জন্য pg_user_mappings.umoptions এর আরও সীমিত দৃশ্যমানতা
  • সিভি-2017-7486 এর জন্য ফিক্স ভুল ছিল: এটি ব্যবহারকারীকে তার নিজের ব্যবহারকারীর ম্যাপিংয়ের বিকল্পগুলি দেখার অনুমতি দেয়, এমনকি যদি তার সংযুক্ত বিদেশী সার্ভারে ইউএসএইজে অনুমতি না থাকে। এই বিকল্পগুলিতে ব্যবহারকারীর পরিবর্তে সার্ভারের মালিক দ্বারা সরবরাহিত একটি পাসওয়ার্ড অন্তর্ভুক্ত থাকতে পারে। যেহেতু info_schema.user_mapping_options এই ক্ষেত্রে বিকল্পগুলি দেখায় না, তাই pg_user_mappings হয় না। (জন্য CVE-2017-7547) করুন
  • নিজেই, এই প্যাচটি শুধুমাত্র নতুন initdb'd ডেটাবেসে আচরণ ঠিক করবে। যদি আপনি এই পরিবর্তনটি একটি বিদ্যমান ডাটাবেসে প্রয়োগ করতে চান তবে আপনাকে নিম্নলিখিতগুলি করতে হবে:
  • postgresql.conf এ allow_system_table_mods = সত্য যোগ করার পরে পোস্টমাস্টারটি পুনরায় চালু করুন। (অ্যাল্টার সিস্টেম সমর্থনকারী সংস্করণগুলিতে, আপনি কনফিগারেশন পরিবর্তন করতে এটি ব্যবহার করতে পারেন, তবে আপনাকে এখনও পুনঃসূচনা করতে হবে।)
  • ক্লাস্টারের প্রতিটি ডেটাবেসে, নিম্নোক্ত কমান্ডগুলি সুপারউসার হিসাবে চালান:
  • SET search_path = pg_catalog;
  • দেখুন pg_user_mappings AS তৈরি করুন অথবা প্রতিস্থাপন করুন

  • <লি> নির্বাচন করুন করুন
  • U.oid AS UUMID,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • ইউ। ইউসার ইউ এস ইউমার,
  • যখন U.umuser = 0 তারপর
  • ক্ষেত্রে
    <লি> 'পাবলিক' করুন
  • আপনি ছাড়া আর অন্য করুন
  • আপনি A.rolname করুন
  • ব্যবহারকারীর নাম হিসাবে END,
  • যখন কেস (U.umuser 0 এবং A.rolname = current_user
  • এবং (pg_has_role (S.srvowner, 'USAGE')
  • বা has_server_privilege (S.oid, 'USAGE'))
  • OR (U.umuser = 0 এবং pg_has_role (S.srvowner, 'USAGE'))
  • অথবা (pg_authid থেকে rolsuper নির্বাচন করুন যেখানে rolname = current_user)
  • তারপর U.umoptions
  • ELSE NULL END UUMPtions
  • pg_user_mapping থেকে
  • LEFT JOIN pg_authid একটি ON (A.oid = U.Ususer) যোগ দিন
  • pg_foreign_server S ON (U.umserver = S.oid);
  • টেমপ্লেট 0 এবং টেমপ্লেট 1 ডেটাবেস অন্তর্ভুক্ত করতে ভুলবেন না, বা দুর্বলতা আপনি পরে তৈরি ডেটাবেসে এখনও বিদ্যমান থাকবেন। টেমপ্লেট 0 ঠিক করার জন্য, আপনাকে সাময়িকভাবে এটি সংযোগ গ্রহণ করতে হবে। PostgreSQL 9.5 এবং পরবর্তীতে, আপনি
  • ব্যবহার করতে পারেন
  • ALLOW_CONNECTIONS এর সাথে পূর্ববর্তী ডেটাবেস টেমপ্লেটটি সত্য;
  • এবং তারপর টেমপ্লেটটি ফিক্স করার পরে
  • এটিকে পূর্বাবস্থায় ফিরিয়ে আনুন
  • ALLOW_CONNECTIONS এর সাথে পূর্ববর্তী ডেটাবেস টেমপ্লেটটি মিথ্যা;
  • পূর্ববর্তী সংস্করণগুলিতে, পরিবর্তে
  • ব্যবহার করুন
  • আপডেট pg_database SET datallowconn = সত্য যেখানে ডেটনাম = 'টেমপ্লেট 0';
  • আপডেট pg_database SET datallowconn = মিথ্যা যেখানে ডেটনাম = 'টেমপ্লেট 0';
  • অবশেষে, allow_system_table_mods কনফিগারেশন সেটিংটি মুছে ফেলুন এবং আবার পোস্টমাস্টারটি পুনরায় চালু করুন।
  • সমস্ত পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ পদ্ধতিতে (হিকিকি লিননাকাঙ্গাস) ফাঁকা পাসওয়ার্ডগুলি
  • libpq ফাঁকা পাসওয়ার্ড উল্লেখ উপেক্ষা করে এবং সেগুলি সার্ভারে প্রেরণ করে না। সুতরাং, যদি কোন ব্যবহারকারীর পাসওয়ার্ড খালি স্ট্রিংয়ের জন্য সেট করা থাকে তবে এটি psql বা অন্যান্য libpq- ভিত্তিক ক্লায়েন্টের মাধ্যমে লগইন করা অসম্ভব। সুতরাং একজন প্রশাসক বিশ্বাস করতে পারেন যে খালি পাসওয়ার্ডটি সেটিকে পাসওয়ার্ড লগইন নিষ্ক্রিয় করার সমতুল্য। যাইহোক, একটি সংশোধিত বা non-libpq- ভিত্তিক ক্লায়েন্টের মাধ্যমে, কোন প্রমাণীকরণ পদ্ধতি কনফিগার করা হয় তার উপর নির্ভর করে লগইন করা সম্ভব। বিশেষ করে সবচেয়ে সাধারণ পদ্ধতি, MD5, খালি পাসওয়ার্ড গ্রহণ। সব ক্ষেত্রে ফাঁকা পাসওয়ার্ড বাতিল করতে সার্ভার পরিবর্তন করুন। (জন্য CVE-2017-7546) করুন
  • লক্ষ্যযোগ্য বড় বস্তুর (টম লেন, মাইকেল Paquier) আপডেট আপডেটের জন্য lo_put () পরীক্ষা করুন
  • lo_put () অবশ্যই কম্রাইট () হিসাবে একই অনুমতিগুলির প্রয়োজন হবে, তবে চেকটি অনুপস্থিত ছিল, যেকোন ব্যবহারকারী একটি বড় বস্তুর মধ্যে তথ্য পরিবর্তন করার অনুমতি দেয়। (জন্য CVE-2017-7548) করুন
  • pg_upgrade (Bruce Momjian) সহ স্ট্যান্ডবাই সার্ভারগুলি আপগ্রেড করার প্রক্রিয়া সম্পর্কে ডকুমেন্টেশনটি সঠিক করুন
  • পূর্ববর্তী ডকুমেন্টেশন ব্যবহারকারীদের pg_upgrade চালানোর পরে প্রাথমিক সার্ভারটি শুরু / বন্ধ করার নির্দেশ দেয় তবে স্ট্যান্ডবাই সার্ভারগুলি সিঙ্ক করার আগে। এই ক্রম অনিরাপদ।
  • টুপল আপডেট চেইনগুলির সমতুল্য লকিং (আলভারো হেরেরা) স্থির করুন
  • যদি কয়েকটি অধিবেশনগুলি একটি পুরানো স্ন্যাপশট ব্যবহার করে ননফোফ্লকিং লক মোডগুলির সাথে এক টুপল আপডেট চেইনটি একযোগে লক করে, এবং তারা সব সফল হয়, তবে তাদের মধ্যে কিছুগুলির পক্ষে এটি অসম্ভব হয়ে যায় (এবং শেষ পর্যন্ত কোনও লাইভ টুপল সংস্করণ নেই) শর্ত। এর ফলস্বরূপ বিদেশী কী চেকগুলি এমন একটি টিপলে দেখতে ব্যর্থ হয়েছে যা স্পষ্টভাবে বিদ্যমান রয়েছে তবে একই সাথে আপডেট করা হচ্ছে।
  • এমন একটি টিপলে জমা দেওয়ার সময় সম্ভাব্য ডেটা দুর্নীতিটি স্থির করুন যার XMAX ঠিক একটি এখনও-আকর্ষণীয় সদস্য (টিওডোর সিগাইভ) এর সাথে বহুসংখ্যক।
  • মেমরি (সের্গেই কোপোসভ) এর মধ্যে এক বিলিয়নেরও বেশি টিপেল সাজানোর সময় পূর্ণসংখ্যা ওভারফ্লো এবং পরবর্তী ক্র্যাশ এড়াতে
  • উইন্ডোজ, নতুন প্রক্রিয়া (টম লেন, অমিত কাপিলা) এ আমাদের ভাগ করা মেমরির জন্য ঠিকানা পরিসীমা সংরক্ষণ করতে ব্যর্থ হলে আমরা প্রক্রিয়াটি পুনরায় চেষ্টা করব
  • এটি সম্ভবত অ্যান্টিভাইরাস পণ্যগুলি থেকে হস্তক্ষেপের কারণে বাচ্চা-প্রক্রিয়া-লঞ্চ ব্যর্থতাগুলি স্থির করার প্রত্যাশিত।
  • উইন্ডোজ বিল্ডস (থমাস মুনরো, টম লেন) -এ ভাগ করা পূর্ব-লক হ্যাশ টেবিলটির কম-সম্ভাব্য দুর্নীতি ঠিক করুন
  • এটি একটি সংযোগ পুনঃসেট (মাইকেল Paquier) হিসাবে একটি SSL সংযোগ পরিষ্কারভাবে বন্ধ লগ ইন এড়িয়ে চলুন
  • ক্লায়েন্টদের কাছে SSL টিকিট টিকিট পাঠানো প্রতিরোধ করুন (টম লেন)
  • এই ফিক্সটি টিকিট-সচেতন ক্লায়েন্ট-সাইড SSL কোডের সাথে পুনঃসংযোগ ব্যর্থতার বাধা দেয়।
  • Solaris (টম লেন) -এ tcp_keepalives_idle সেটিং করার জন্য কোডটি ফিক্স করুন
  • পোস্টমাস্টার শাটডাউন এবং অবিলম্বে পুনঃসূচনা (টম লেন) এর পরে জারি করা অনুসন্ধান বার্তাগুলি সম্মাননার জন্য পরিসংখ্যান সংগ্রাহককে ঠিক করুন
  • পূর্ববর্তী পোস্টমাস্টার শাটডাউনটির অর্ধেক সেকেন্ডের মধ্যে প্রকাশিত পরিসংখ্যান অনুসন্ধানগুলি কার্যকরভাবে উপেক্ষা করা হয়েছে।
  • পরিসংখ্যান সংগ্রাহকের প্রাপ্ত বাফারের আকার কমপক্ষে 100 কেবি (টম লেন)
  • নিশ্চিত করুন
  • এটি পুরানো প্ল্যাটফর্মগুলির ডেটা পরিত্যক্ত পরিসংখ্যান ডেটাগুলির ঝুঁকি হ্রাস করে যার ডিফল্ট প্রাপ্তি বাফারের আকার কম।
  • যখন এটি একটি XLOG_SWITCH ওয়াল রেকর্ড (আন্দ্রেস ফ্রেন্ড) প্রক্রিয়া করার পরে স্ট্যান্ডবাইটি প্রচারিত হয় তখন একটি অবৈধ ওয়াল বিভাগের সম্ভাব্য সৃষ্টি ঠিক করুন
  • ক্লায়েন্ট অনুরোধগুলি বন্ধ করার সময় তাত্ক্ষণিকভাবে প্রস্থান করার জন্য ওয়ালসেন্ডারটি ঠিক করুন (টম লেন)
  • ওয়ালসেন্ডার প্রক্রিয়ায় হ্যান্ডলিংয়ের SIGHUP এবং SIGUSR1 সংশোধন করুন (পিটার জেলেক, আন্দ্রেস ফ্রেন্ড)
  • শাটডাউন চেকপয়েন্টগুলি (আন্দ্রেস ফ্রুন্ড, মাইকেল Paquier) সময় walsender-triggered panics প্রতিরোধ করুন
  • পোস্টমাস্টার (টম লেন) -এর জাতিগত অবস্থার কারণে ওয়ালারসিভার প্রক্রিয়াগুলির অপ্রয়োজনীয়ভাবে ধীরে ধীরে পুনঃস্থাপন করুন
  • লজিকাল ডিকোডিং (আন্দ্রেস ফ্রুন্ড) সময় ডিস্কে ছোট ছোট সাব-ট্রান্সক্রেশনের ফুটোটি ফিক্স করুন
  • এর ফলে অস্থায়ী ডিস্ক স্থান গ্রহণকারী অস্থায়ী ফাইলগুলি স্থাপিত হয়।
  • লজিকাল-ডিকোডিং স্লটগুলি তৈরি করার সময় স্ন্যাপশটগুলি তৈরি করতে প্রয়োজনীয় কাজটি হ্রাস করুন (আন্দ্রেস ফ্রুন্ড, পেট্র জেলেক্ক)
  • পূর্ববর্তী অ্যালগরিদমটি অনেকগুলি খোলা লেনদেনের সাথে সার্ভারে ব্যয়বহুল ব্যয়বহুল।
  • জাতিগত অবস্থাটি স্থির করুন যা লজিক্যাল-ডিকোডিং স্লটগুলি তৈরি করতে অনির্দিষ্টকালের জন্য বিলম্ব করতে পারে (আন্দ্রেস ফ্রুন্ড, পেট্র জেলেক)
  • সিস্ক্যাস অবৈধীকরণ ইভেন্টগুলি (টম লেন) প্রক্রিয়াকরণে ওভারহেড হ্রাস করুন
  • এটি লজিকাল ডিকোডিংয়ের জন্য বিশেষভাবে সহায়ক, যা ঘন ঘন ক্যাশে অবৈধীকরণকে ট্রিগার করে।
  • বিদেশী কী সীমাবদ্ধতার উপস্থিতি (ডেভিড রোল্লি) উপস্থিতি উপর ভিত্তি করে নির্বাচকতা যোগদান অনুমান করতে কিছু ক্ষেত্রে ব্যবহৃত ভুল হিউরিস্টিকটি সরান
  • কিছু ক্ষেত্রে যেখানে একটি মাল্টি-কলাম বিদেশী কী সীমাবদ্ধতা বিদ্যমান ছিল কিন্তু কোন প্রশ্নটির যোগদান কাঠামোটির সাথে মেলে না, প্ল্যানারটি একটি আনুমানিক হিসেব ব্যবহার করেছিল যা কার্যকরীভাবে কাজ না করে। 9.6 এর আগে যেভাবে এগুলি আনুমানিক করা হয়েছিল তার ক্ষেত্রে এগুলি প্রত্যাহার করুন।
  • কোনও ইনসার্ট বা আপডেট ডোমেন-ওভার অ্যারে টাইপ (টম লেন) এর একটি কলামের একাধিক উপাদানকে নির্দিষ্ট করে এমন ক্ষেত্রে ঠিক করুন।
  • সমষ্টিগত ফাংশন (টম লেন) এর আর্গুমেন্টগুলির মধ্যে থাকা সাব-সিলেক্টগুলিতে উইন্ডো ফাংশনগুলিকে ব্যবহার করার অনুমতি দিন
  • অন্তর্নিহিত টেবিল একটি বিদেশী টেবিল (Etsuro Fujita) হলে একটি দৃশ্যের চেক বিকল্প বিভাগ সঠিকভাবে প্রয়োগ করা হয় তা নিশ্চিত করুন
  • পূর্বে, আপডেটটি সম্পূর্ণরূপে বিদেশী সার্ভারে push করা হতে পারে তবে দৃশ্য শর্ত যাচাই করার প্রয়োজনটি যদি মিস হয় তবে তা মিস করা হয়েছিল।
  • ALTER এর সময় অটোগ্রাফ জেনারেটেড অ্যারের প্রকারগুলি সরান ... পুনঃনাম (ভিক্ট ভিয়ারিং)
  • পূর্বে, আমরা CREATE সময় একটি দ্বন্দ্বযুক্ত অটোগ্রাফ জেনারেটেড অ্যারের নামকরণ করব; এই ফিক্স অপারেশন পুনঃনামকরণ যে আচরণ প্রসারিত।
  • টেবিলে থাকা সীমাবদ্ধতার উপর মন্তব্য করার সময় এলটার টেবিলে ঝুলন্ত পয়েন্টারটি ঠিক করুন (ডেভিড রোলে)
  • পুনর্গঠিত সীমাবদ্ধতার মন্তব্যটি পুনরায় প্রয়োগ করা একটি অদ্ভুত ত্রুটি বার্তা বা এমনকি ক্র্যাশের সাথে ব্যর্থ হতে পারে।
  • নিশ্চিত করুন যে পরে USER ... SET সমস্ত সিনট্যাক্সের রূপান্তরগুলি গ্রহণ করে যা স্থির করে ... SET করে (পিটার এজেন্টট্রট)
  • কোনও বিদেশী টেবিলের চেক সীমাবদ্ধতাগুলি প্রাথমিকভাবে বৈধ নয় (অমিত ল্যাংোট)
  • টেবিলটি নিরবচ্ছিন্নভাবে চেক সীমাবদ্ধতার জন্য কার্যকর স্পেসিফায়ারগুলিকে ড্রপ করে না, কারণ টেবিলের খালি থাকা আবশ্যক, তাই সীমাবদ্ধতা অবিলম্বে যাচাই করা যেতে পারে। কিন্তু বিদেশী টেবিলটি তৈরি করার জন্য এটি ভুল, যেখানে অন্তর্নিহিত টেবিলটি খালি আছে বলে মনে করার কোন কারণ নেই এবং এমনকি যদি এটি আমাদের পক্ষে কোনও ব্যবসা না হয় তবে সিদ্ধান্ত নিতে হবে যে সীমাবদ্ধতাটি এগিয়ে যেতে বৈধ হিসাবে বিবেচনা করা যেতে পারে। এই & quot; অপ্টিমাইজেশান & quot; এড়িয়ে যান বিদেশী টেবিল জন্য।
  • ডেটাটাইপ I / O ফাংশন এর যুক্তি পরিবর্তন করার সময় নির্ভরযোগ্য তথ্যটি সঠিকভাবে আপডেট করুন বা অপপেক থেকে সঠিক টাইপ (হিকিকি লিননাকাঙ্গাস) থেকে টাইপ করুন
  • এই দীর্ঘ-অপ্রচলিত শৈলীতে টাইপ আপডেটগুলি I / O ফাংশনগুলি ঘোষণা করুন, তবে এটি টাইপের উপর একটি নির্ভরতা রেকর্ড করতে ভুলে গেছেন, পরবর্তী DROP TYPE পিছনে ভাঙা ফাংশন সংজ্ঞাগুলি ছেড়ে দেওয়ার অনুমতি দেয়।
  • ক্যোয়ারির ফলাফল থেকে অনুলিপি ক্যোয়ারী প্লানে সমান্তরাল অনুমতি দিন (আন্দ্রেস ফ্রুন্ড)
  • বিশ্লেষণ যখন একটি স্কেক্টর কলাম (হিকিকি লিনাকাঙ্গাস) প্রক্রিয়া করে তখন মেমরির ব্যবহার হ্রাস করুন
  • পূর্ণসংখ্যা বা floats (টম লেন) দ্বারা অর্থ মান গুণমান বা বিভাজন যখন অপ্রয়োজনীয় স্পষ্টতা ক্ষতি এবং sloppy বৃত্তাকার স্থির করুন
  • সনাক্তকারীগুলিকে বিশ্লেষণ করে এমন ফাংশনগুলিতে হোয়াইট স্পেসের জন্য টাইটেন চেক করুন, যেমন regprocedurein () (টম লেন)
  • প্রচলিত লোকেলের উপর নির্ভর করে, এই ফাংশনগুলি হোয়াইট স্পেস হিসাবে মাল্টিবিট অক্ষরের টুকরা ভুল ব্যাখ্যা করতে পারে।
  • PL / পার্ল (আশুতোষ শর্মা, টম লেন) কম্পাইল করার সময় পার্ল থেকে প্রাসঙ্গিক # নির্দিষ্ট প্রতীক ব্যবহার করুন
  • এটি পোর্টেবিলিটি সমস্যাগুলি এড়িয়ে চলতে থাকে, সাধারণত একটি & quot; হ্যান্ডশেক & quot; হিসাবে প্রকাশ করে। লাইব্রেরির লোডের সময় পার্থক্য, সাম্প্রতিক পার্ল সংস্করণগুলির সাথে কাজ করার সময়।
  • libpq এ, একটি ব্যর্থ সংযোগ প্রচেষ্টা (মাইকেল Paquier) পরে GSS / SASL এবং SSPL প্রমাণীকরণ অবস্থা সঠিকভাবে পুনরায় সেট করুন
  • এটি ব্যর্থ হওয়ার অর্থ হল যে SSL থেকে অ-SSL সংযোগগুলিতে ফিরে আসার সময়, SSL প্রচেষ্টাতে GSS / SASL ব্যর্থতা সর্বদা অ-SSL প্রচেষ্টা ব্যর্থ হতে পারে। এসএসপিআই ব্যর্থ হয়নি, কিন্তু এটি মেমরি ফাঁকা।
  • psql এ, যখন স্টিডিন থেকে কপি একটি কীবোর্ড ইওফ সংকেত দিয়ে শেষ হয় এবং স্টডিন থেকে অন্য কপিটি চেষ্টা করা হয় (ব্যর্থতা থমাস মুুনো)
  • এই ভুল আচরণ বিএসডি-উদ্ভূত প্ল্যাটফর্মগুলিতে (ম্যাকওএস সহ), কিন্তু অন্যান্যদের উপর নয়।
  • রিফ্রেশ ম্যাট্রিকিজড ভিউ কমান্ডগুলি শেষ করার জন্য pg_dump এবং pg_restore স্থির করুন (টম লেন)
  • এটি বস্তুগত দৃশ্যটি অন্য ব্যবহারকারীর মালিকানাধীন টেবিলে বোঝার সময় ডাম্প / পুনরুদ্ধারের সময় ত্রুটিগুলিকে আটকায়।
  • zlib (ভ্লাদিমির Kunschikov, Alvaro Herrera) থেকে উদ্ভূত ত্রুটি অবস্থার pg_dump / pg_restore এর প্রতিবেদনটি উন্নত করুন
  • প্রত্যাশিত (টম লেন) হিসাবে ইভেন্ট ট্রিগারগুলিকে ড্রপ করতে --clean বিকল্প সহ pg_dump স্থির করুন
  • এটি এখন সঠিকভাবে ইভেন্ট ট্রিগারগুলির মালিকানা নির্ধারণ করে; পূর্বে, তারা পুনরুদ্ধার স্ক্রিপ্ট চালানো সুপারউসার দ্বারা মালিকানাধীন হিসাবে পুনরুদ্ধার করা হয়।
  • পাবলিক স্কিমা বিদ্যমান না থাকলে --clean বিকল্পটি দিয়ে pg_dump স্থির করুন (স্টিফেন ফ্রস্ট)
  • খালি অপারেটর বর্গ (ড্যানিয়েল গাস্টাফসন) এর জন্য অবৈধ SQL নির্মূল করতে pg_dump স্থির করুন
  • উইন্ডোজ (কুন্তত ঘোষ) এ stdout এ pg_dump আউটপুটটি ঠিক করুন
  • স্ট্রাউটে লিখিত একটি সংকুচিত প্লেইন-ডাম্প ডাম্প বাইনারি মোডে ফাইল ডিস্ক্রিপ্টরটি স্থাপন করতে ব্যর্থতার কারণে দূষিত ডেটা ধারণ করবে।
  • এমন একটি দৃশ্যের ON নির্বাচন নিয়মটির সঠিক আউটপুট মুদ্রণ করতে pg_get_ruledef () সংশোধন করুন যার কলামগুলির নামকরণ করা হয়েছে (টম লেন)
  • কিছু কোণ ক্ষেত্রে, pg_dump pg_get_ruledef () উপর দৃষ্টিভঙ্গি ডাম্প করার জন্য নির্ভর করে, যাতে এই ত্রুটিটি ডাম্প / পুনরায় লোড ব্যর্থতার ফলস্বরূপ হতে পারে।
  • কোন সাধারণ কলাম (টম লেন) সহ একটি স্বাভাবিক বাম JOIN ফলাফল হিসাবে খালি সীমাবদ্ধতার সাথে বাইরের যোগদানের ডাম্পিং ফিক্স করুন
  • FROM বিভাগে ফাংশন এক্সপ্রেশনগুলির ডাম্পিং ফিক্স করুন যেখানে কোনও ফাংশন কল (টম লেন) এর মত দেখায় এমন অভিব্যক্তি কোনও জায়গায় না যায়
  • উইন্ডোজ (হরিবাবু কোমি) এ stdout এ pg_basebackup আউটপুট ঠিক করুন
  • স্ট্রাউটের লিখিত একটি ব্যাকআপের মধ্যে ফাইল বর্ণনাকারীকে বাইনারি মোডে রাখা ব্যর্থতার কারণে দূষিত ডেটা থাকবে।
  • 2 গিগাবাইট (কুন্তাল ঘোষ, মাইকেল Paquier) ছাড়িয়ে ফাইলগুলিকে সঠিকভাবে পরিচালনা করতে pg_rewind ঠিক করুন
  • সাধারনত এই ধরনের ফাইলগুলি PostgreSQL ডেটা ডিরেক্টরিগুলিতে উপস্থিত হবে না, তবে তারা কিছু ক্ষেত্রে উপস্থিত হতে পারে।
  • শেষ WAL রেকর্ডের wal_level = সর্বনিম্ন (ব্রুস মজজিয়ান) নেই তা নিশ্চিত করতে pg_upgrade ঠিক করুন
  • এই শর্তটি পুনঃসংযোগ থেকে আপগ্রেড স্ট্যান্ডবাই সার্ভারগুলি প্রতিরোধ করতে পারে।
  • WAL রেকর্ড দৈর্ঘ্যের pg_xlogdump এর গণনাটি সমাধান করুন (আন্দ্রেস ফ্রেন্ড)
  • postgres_fdw এ, পরবর্তী সার্ভার বা পরবর্তী ব্যবহারকারীর ম্যাপিং কমান্ড (Kyotaro Horiguchi) এর পরে দূরবর্তী সার্ভারগুলিতে সংযোগ পুনঃ-স্থাপন করুন
  • এটি নিশ্চিত করে যে সংযোগ পরামিতিগুলিকে প্রভাবিত করে বিকল্প পরিবর্তনগুলি অবিলম্বে প্রয়োগ করা হবে।
  • postgres_fdw এ, রিমোট লেনদেন নিয়ন্ত্রণ কমান্ডগুলি বাতিল করার অনুমতি দেয় (রবার্ট হা, রাফিয়া সাবিহ)
  • এই পরিবর্তনটি আমাদের আগের চেয়ে আরও অনেক ক্ষেত্রে একটি প্রতিক্রিয়াশীল দূরবর্তী সার্ভারের অপেক্ষায় দ্রুত পালাতে অনুমতি দেয়।
  • এক্সটেনশনগুলির জন্য আরও রুম সরবরাহ করার জন্য MAX_SYSCACHE_CALLBACKS বৃদ্ধি করুন (টম লেন)
  • জিপিসি (টম লেন) এর সাথে ভাগ করা লাইব্রেরিগুলি তৈরি করার সময় -ফপিআইসি, নয় -ফিকিক ব্যবহার করুন
  • এটি প্ল্যাটফর্মগুলিতে বড় এক্সটেনশান লাইব্রেরিগুলিকে সমর্থন করে যেখানে এটি একটি পার্থক্য তৈরি করে।
  • এমএসভিসি তৈরি করে, যেখানে খোলা জায়গাটি লাইব্রেরির VC সাবডিরেক্টরি (অ্যান্ড্রু Dunstan) এর মধ্যে থাকে না
  • এমএসভিসি তৈরি করে, libxml2 শিরোনাম ফাইলগুলির জন্য সঠিক পথ অন্তর্ভুক্ত করুন (অ্যান্ড্রু Dunstan)
  • এটি libxml2 এর মানক উইন্ডোজ ইনস্টলেশনের চারপাশে জিনিসগুলি সরানোর পূর্বের প্রয়োজনের সমাধান করে।
  • এমএসভিসি তৈরি করে, tcl86.lib (নোয়া Misch) নামে একটি Tcl লাইব্রেরি চিনতে
  • MSVC এ, vcregress.pl এর কমান্ড লাইন (অ্যান্ড্রু Dunstan) এ PROVE_FLAGS সেটিংসকে সম্মান করে

সংস্করণ 9.6.4 সংস্করণে নতুন কী :

  • ব্যবহারকারী ম্যাপিং বিকল্পগুলির (নোয়া Misch) হিসাবে সংরক্ষিত পাসওয়ার্ডগুলি সুরক্ষিত করতে, pg_user_mappings.umoptions এর আরও সীমিত দৃশ্যমানতা
  • সিভি-2017-7486 এর জন্য ফিক্স ভুল ছিল: এটি ব্যবহারকারীকে তার নিজের ব্যবহারকারীর ম্যাপিংয়ের বিকল্পগুলি দেখার অনুমতি দেয়, এমনকি যদি তার সংযুক্ত বিদেশী সার্ভারে ইউএসএইজে অনুমতি না থাকে। এই বিকল্পগুলিতে ব্যবহারকারীর পরিবর্তে সার্ভারের মালিক দ্বারা সরবরাহিত একটি পাসওয়ার্ড অন্তর্ভুক্ত থাকতে পারে। যেহেতু info_schema.user_mapping_options এই ক্ষেত্রে বিকল্পগুলি দেখায় না, তাই pg_user_mappings হয় না। (জন্য CVE-2017-7547) করুন
  • নিজেই, এই প্যাচটি শুধুমাত্র নতুন initdb'd ডেটাবেসে আচরণ ঠিক করবে। যদি আপনি এই পরিবর্তনটি একটি বিদ্যমান ডাটাবেসে প্রয়োগ করতে চান তবে আপনাকে নিম্নলিখিতগুলি করতে হবে:
  • postgresql.conf এ allow_system_table_mods = সত্য যোগ করার পরে পোস্টমাস্টারটি পুনরায় চালু করুন। (অ্যাল্টার সিস্টেম সমর্থনকারী সংস্করণগুলিতে, আপনি কনফিগারেশন পরিবর্তন করতে এটি ব্যবহার করতে পারেন, তবে আপনাকে এখনও পুনঃসূচনা করতে হবে।)
  • ক্লাস্টারের প্রতিটি ডেটাবেসে, নিম্নোক্ত কমান্ডগুলি সুপারউসার হিসাবে চালান:
  • SET search_path = pg_catalog;
  • দেখুন pg_user_mappings AS তৈরি করুন অথবা প্রতিস্থাপন করুন

  • <লি> নির্বাচন করুন করুন
  • U.oid AS UUMID,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • ইউ। ইউসার ইউ এস ইউমার,
  • যখন U.umuser = 0 তারপর
  • ক্ষেত্রে
    <লি> 'পাবলিক' করুন
  • আপনি ছাড়া আর অন্য করুন
  • আপনি A.rolname করুন
  • ব্যবহারকারীর নাম হিসাবে END,
  • যখন কেস (U.umuser 0 এবং A.rolname = current_user
  • এবং (pg_has_role (S.srvowner, 'USAGE')
  • বা has_server_privilege (S.oid, 'USAGE'))
  • OR (U.umuser = 0 এবং pg_has_role (S.srvowner, 'USAGE'))
  • অথবা (pg_authid থেকে rolsuper নির্বাচন করুন যেখানে rolname = current_user)
  • তারপর U.umoptions
  • ELSE NULL END UUMPtions
  • pg_user_mapping থেকে
  • LEFT JOIN pg_authid একটি ON (A.oid = U.Ususer) যোগ দিন
  • pg_foreign_server S ON (U.umserver = S.oid);
  • টেমপ্লেট 0 এবং টেমপ্লেট 1 ডেটাবেস অন্তর্ভুক্ত করতে ভুলবেন না, বা দুর্বলতা আপনি পরে তৈরি ডেটাবেসে এখনও বিদ্যমান থাকবেন। টেমপ্লেট 0 ঠিক করার জন্য, আপনাকে সাময়িকভাবে এটি সংযোগ গ্রহণ করতে হবে। PostgreSQL 9.5 এবং পরবর্তীতে, আপনি
  • ব্যবহার করতে পারেন
  • ALLOW_CONNECTIONS এর সাথে পূর্ববর্তী ডেটাবেস টেমপ্লেটটি সত্য;
  • এবং তারপর টেমপ্লেটটি ফিক্স করার পরে
  • এটিকে পূর্বাবস্থায় ফিরিয়ে আনুন
  • ALLOW_CONNECTIONS এর সাথে পূর্ববর্তী ডেটাবেস টেমপ্লেটটি মিথ্যা;
  • পূর্ববর্তী সংস্করণগুলিতে, পরিবর্তে
  • ব্যবহার করুন
  • আপডেট pg_database SET datallowconn = সত্য যেখানে ডেটনাম = 'টেমপ্লেট 0';
  • আপডেট pg_database SET datallowconn = মিথ্যা যেখানে ডেটনাম = 'টেমপ্লেট 0';
  • অবশেষে, allow_system_table_mods কনফিগারেশন সেটিংটি মুছে ফেলুন এবং আবার পোস্টমাস্টারটি পুনরায় চালু করুন।
  • সমস্ত পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ পদ্ধতিতে (হিকিকি লিননাকাঙ্গাস) ফাঁকা পাসওয়ার্ডগুলি
  • libpq ফাঁকা পাসওয়ার্ড উল্লেখ উপেক্ষা করে এবং সেগুলি সার্ভারে প্রেরণ করে না। সুতরাং, যদি কোন ব্যবহারকারীর পাসওয়ার্ড খালি স্ট্রিংয়ের জন্য সেট করা থাকে তবে এটি psql বা অন্যান্য libpq- ভিত্তিক ক্লায়েন্টের মাধ্যমে লগইন করা অসম্ভব। সুতরাং একজন প্রশাসক বিশ্বাস করতে পারেন যে খালি পাসওয়ার্ডটি সেটিকে পাসওয়ার্ড লগইন নিষ্ক্রিয় করার সমতুল্য। যাইহোক, একটি সংশোধিত বা non-libpq- ভিত্তিক ক্লায়েন্টের মাধ্যমে, কোন প্রমাণীকরণ পদ্ধতি কনফিগার করা হয় তার উপর নির্ভর করে লগইন করা সম্ভব। বিশেষ করে সবচেয়ে সাধারণ পদ্ধতি, MD5, খালি পাসওয়ার্ড গ্রহণ। সব ক্ষেত্রে ফাঁকা পাসওয়ার্ড বাতিল করতে সার্ভার পরিবর্তন করুন। (জন্য CVE-2017-7546) করুন
  • লক্ষ্যযোগ্য বড় বস্তুর (টম লেন, মাইকেল Paquier) আপডেট আপডেটের জন্য lo_put () পরীক্ষা করুন
  • lo_put () অবশ্যই কম্রাইট () হিসাবে একই অনুমতিগুলির প্রয়োজন হবে, তবে চেকটি অনুপস্থিত ছিল, যেকোন ব্যবহারকারী একটি বড় বস্তুর মধ্যে তথ্য পরিবর্তন করার অনুমতি দেয়। (জন্য CVE-2017-7548) করুন
  • pg_upgrade (Bruce Momjian) সহ স্ট্যান্ডবাই সার্ভারগুলি আপগ্রেড করার প্রক্রিয়া সম্পর্কে ডকুমেন্টেশনটি সঠিক করুন
  • পূর্ববর্তী ডকুমেন্টেশন ব্যবহারকারীদের pg_upgrade চালানোর পরে প্রাথমিক সার্ভারটি শুরু / বন্ধ করার নির্দেশ দেয় তবে স্ট্যান্ডবাই সার্ভারগুলি সিঙ্ক করার আগে। এই ক্রম অনিরাপদ।
  • টুপল আপডেট চেইনগুলির সমতুল্য লকিং (আলভারো হেরেরা) স্থির করুন
  • যদি কয়েকটি অধিবেশনগুলি একটি পুরানো স্ন্যাপশট ব্যবহার করে ননফোফ্লকিং লক মোডগুলির সাথে এক টুপল আপডেট চেইনটি একযোগে লক করে, এবং তারা সব সফল হয়, তবে তাদের মধ্যে কিছুগুলির পক্ষে এটি অসম্ভব হয়ে যায় (এবং শেষ পর্যন্ত কোনও লাইভ টুপল সংস্করণ নেই) শর্ত। এর ফলস্বরূপ বিদেশী কী চেকগুলি এমন একটি টিপলে দেখতে ব্যর্থ হয়েছে যা স্পষ্টভাবে বিদ্যমান রয়েছে তবে একই সাথে আপডেট করা হচ্ছে।
  • এমন একটি টিপলে জমা দেওয়ার সময় সম্ভাব্য ডেটা দুর্নীতিটি স্থির করুন যার XMAX ঠিক একটি এখনও-আকর্ষণীয় সদস্য (টিওডোর সিগাইভ) এর সাথে বহুসংখ্যক।
  • মেমরি (সের্গেই কোপোসভ) এর মধ্যে এক বিলিয়নেরও বেশি টিপেল সাজানোর সময় পূর্ণসংখ্যা ওভারফ্লো এবং পরবর্তী ক্র্যাশ এড়াতে
  • উইন্ডোজ, নতুন প্রক্রিয়া (টম লেন, অমিত কাপিলা) এ আমাদের ভাগ করা মেমরির জন্য ঠিকানা পরিসীমা সংরক্ষণ করতে ব্যর্থ হলে আমরা প্রক্রিয়াটি পুনরায় চেষ্টা করব
  • এটি সম্ভবত অ্যান্টিভাইরাস পণ্যগুলি থেকে হস্তক্ষেপের কারণে বাচ্চা-প্রক্রিয়া-লঞ্চ ব্যর্থতাগুলি স্থির করার প্রত্যাশিত।
  • উইন্ডোজ বিল্ডস (থমাস মুনরো, টম লেন) -এ ভাগ করা পূর্ব-লক হ্যাশ টেবিলটির কম-সম্ভাব্য দুর্নীতি ঠিক করুন
  • এটি একটি সংযোগ পুনঃসেট (মাইকেল Paquier) হিসাবে একটি SSL সংযোগ পরিষ্কারভাবে বন্ধ লগ ইন এড়িয়ে চলুন
  • ক্লায়েন্টদের কাছে SSL টিকিট টিকিট পাঠানো প্রতিরোধ করুন (টম লেন)
  • এই ফিক্সটি টিকিট-সচেতন ক্লায়েন্ট-সাইড SSL কোডের সাথে পুনঃসংযোগ ব্যর্থতার বাধা দেয়।
  • Solaris (টম লেন) -এ tcp_keepalives_idle সেটিং করার জন্য কোডটি ফিক্স করুন
  • পোস্টমাস্টার শাটডাউন এবং অবিলম্বে পুনঃসূচনা (টম লেন) এর পরে জারি করা অনুসন্ধান বার্তাগুলি সম্মাননার জন্য পরিসংখ্যান সংগ্রাহককে ঠিক করুন
  • পূর্ববর্তী পোস্টমাস্টার শাটডাউনটির অর্ধেক সেকেন্ডের মধ্যে প্রকাশিত পরিসংখ্যান অনুসন্ধানগুলি কার্যকরভাবে উপেক্ষা করা হয়েছে।
  • পরিসংখ্যান সংগ্রাহকের প্রাপ্ত বাফারের আকার কমপক্ষে 100 কেবি (টম লেন)
  • নিশ্চিত করুন
  • এটি পুরানো প্ল্যাটফর্মগুলির ডেটা পরিত্যক্ত পরিসংখ্যান ডেটাগুলির ঝুঁকি হ্রাস করে যার ডিফল্ট প্রাপ্তি বাফারের আকার কম।
  • যখন এটি একটি XLOG_SWITCH ওয়াল রেকর্ড (আন্দ্রেস ফ্রেন্ড) প্রক্রিয়া করার পরে স্ট্যান্ডবাইটি প্রচারিত হয় তখন একটি অবৈধ ওয়াল বিভাগের সম্ভাব্য সৃষ্টি ঠিক করুন
  • ক্লায়েন্ট অনুরোধগুলি বন্ধ করার সময় তাত্ক্ষণিকভাবে প্রস্থান করার জন্য ওয়ালসেন্ডারটি ঠিক করুন (টম লেন)
  • ওয়ালসেন্ডার প্রক্রিয়ায় হ্যান্ডলিংয়ের SIGHUP এবং SIGUSR1 সংশোধন করুন (পিটার জেলেক, আন্দ্রেস ফ্রেন্ড)
  • শাটডাউন চেকপয়েন্টগুলি (আন্দ্রেস ফ্রুন্ড, মাইকেল Paquier) সময় walsender-triggered panics প্রতিরোধ করুন
  • পোস্টমাস্টার (টম লেন) -এর জাতিগত অবস্থার কারণে ওয়ালারসিভার প্রক্রিয়াগুলির অপ্রয়োজনীয়ভাবে ধীরে ধীরে পুনঃস্থাপন করুন
  • লজিকাল ডিকোডিং (আন্দ্রেস ফ্রুন্ড) সময় ডিস্কে ছোট ছোট সাব-ট্রান্সক্রেশনের ফুটোটি ফিক্স করুন
  • এর ফলে অস্থায়ী ডিস্ক স্থান গ্রহণকারী অস্থায়ী ফাইলগুলি স্থাপিত হয়।
  • লজিকাল-ডিকোডিং স্লটগুলি তৈরি করার সময় স্ন্যাপশটগুলি তৈরি করতে প্রয়োজনীয় কাজটি হ্রাস করুন (আন্দ্রেস ফ্রুন্ড, পেট্র জেলেক্ক)
  • পূর্ববর্তী অ্যালগরিদমটি অনেকগুলি খোলা লেনদেনের সাথে সার্ভারে ব্যয়বহুল ব্যয়বহুল।
  • জাতিগত অবস্থাটি স্থির করুন যা লজিক্যাল-ডিকোডিং স্লটগুলি তৈরি করতে অনির্দিষ্টকালের জন্য বিলম্ব করতে পারে (আন্দ্রেস ফ্রুন্ড, পেট্র জেলেক)
  • সিস্ক্যাস অবৈধীকরণ ইভেন্টগুলি (টম লেন) প্রক্রিয়াকরণে ওভারহেড হ্রাস করুন
  • এটি লজিকাল ডিকোডিংয়ের জন্য বিশেষভাবে সহায়ক, যা ঘন ঘন ক্যাশে অবৈধীকরণকে ট্রিগার করে।
  • বিদেশী কী সীমাবদ্ধতার উপস্থিতি (ডেভিড রোল্লি) উপস্থিতি উপর ভিত্তি করে নির্বাচকতা যোগদান অনুমান করতে কিছু ক্ষেত্রে ব্যবহৃত ভুল হিউরিস্টিকটি সরান
  • কিছু ক্ষেত্রে যেখানে একটি মাল্টি-কলাম বিদেশী কী সীমাবদ্ধতা বিদ্যমান ছিল কিন্তু কোন প্রশ্নটির যোগদান কাঠামোটির সাথে মেলে না, প্ল্যানারটি একটি আনুমানিক হিসেব ব্যবহার করেছিল যা কার্যকরীভাবে কাজ না করে। 9.6 এর আগে যেভাবে এগুলি আনুমানিক করা হয়েছিল তার ক্ষেত্রে এগুলি প্রত্যাহার করুন।
  • কোনও ইনসার্ট বা আপডেট ডোমেন-ওভার অ্যারে টাইপ (টম লেন) এর একটি কলামের একাধিক উপাদানকে নির্দিষ্ট করে এমন ক্ষেত্রে ঠিক করুন।
  • সমষ্টিগত ফাংশন (টম লেন) এর আর্গুমেন্টগুলির মধ্যে থাকা সাব-সিলেক্টগুলিতে উইন্ডো ফাংশনগুলিকে ব্যবহার করার অনুমতি দিন
  • অন্তর্নিহিত টেবিল একটি বিদেশী টেবিল (Etsuro Fujita) হলে একটি দৃশ্যের চেক বিকল্প বিভাগ সঠিকভাবে প্রয়োগ করা হয় তা নিশ্চিত করুন
  • পূর্বে, আপডেটটি সম্পূর্ণরূপে বিদেশী সার্ভারে push করা হতে পারে তবে দৃশ্য শর্ত যাচাই করার প্রয়োজনটি যদি মিস হয় তবে তা মিস করা হয়েছিল।
  • ALTER এর সময় অটোগ্রাফ জেনারেটেড অ্যারের প্রকারগুলি সরান ... পুনঃনাম (ভিক্ট ভিয়ারিং)
  • পূর্বে, আমরা CREATE সময় একটি দ্বন্দ্বযুক্ত অটোগ্রাফ জেনারেটেড অ্যারের নামকরণ করব; এই ফিক্স অপারেশন পুনঃনামকরণ যে আচরণ প্রসারিত।
  • টেবিলে থাকা সীমাবদ্ধতার উপর মন্তব্য করার সময় এলটার টেবিলে ঝুলন্ত পয়েন্টারটি ঠিক করুন (ডেভিড রোলে)
  • পুনর্গঠিত সীমাবদ্ধতার মন্তব্যটি পুনরায় প্রয়োগ করা একটি অদ্ভুত ত্রুটি বার্তা বা এমনকি ক্র্যাশের সাথে ব্যর্থ হতে পারে।
  • নিশ্চিত করুন যে পরে USER ... SET সমস্ত সিনট্যাক্সের রূপান্তরগুলি গ্রহণ করে যা স্থির করে ... SET করে (পিটার এজেন্টট্রট)
  • কোনও বিদেশী টেবিলের চেক সীমাবদ্ধতাগুলি প্রাথমিকভাবে বৈধ নয় (অমিত ল্যাংোট)
  • টেবিলটি নিরবচ্ছিন্নভাবে চেক সীমাবদ্ধতার জন্য কার্যকর স্পেসিফায়ারগুলিকে ড্রপ করে না, কারণ টেবিলের খালি থাকা আবশ্যক, তাই সীমাবদ্ধতা অবিলম্বে যাচাই করা যেতে পারে। কিন্তু বিদেশী টেবিলটি তৈরি করার জন্য এটি ভুল, যেখানে অন্তর্নিহিত টেবিলটি খালি আছে বলে মনে করার কোন কারণ নেই এবং এমনকি যদি এটি আমাদের পক্ষে কোনও ব্যবসা না হয় তবে সিদ্ধান্ত নিতে হবে যে সীমাবদ্ধতাটি এগিয়ে যেতে বৈধ হিসাবে বিবেচনা করা যেতে পারে। বিদেশী টেবিলের জন্য এই "অপ্টিমাইজেশান" এড়িয়ে যান।
  • ডেটাটাইপ I / O ফাংশন এর যুক্তি পরিবর্তন করার সময় নির্ভরযোগ্য তথ্যটি সঠিকভাবে আপডেট করুন বা অপপেক থেকে সঠিক টাইপ (হিকিকি লিননাকাঙ্গাস) থেকে টাইপ করুন
  • এই দীর্ঘ-অপ্রচলিত শৈলীতে টাইপ আপডেটগুলি I / O ফাংশনগুলি ঘোষণা করুন, তবে এটি টাইপের উপর একটি নির্ভরতা রেকর্ড করতে ভুলে গেছেন, পরবর্তী DROP TYPE পিছনে ভাঙা ফাংশন সংজ্ঞাগুলি ছেড়ে দেওয়ার অনুমতি দেয়।
  • ক্যোয়ারির ফলাফল থেকে অনুলিপি ক্যোয়ারী প্লানে সমান্তরাল অনুমতি দিন (আন্দ্রেস ফ্রুন্ড)
  • বিশ্লেষণ যখন একটি স্কেক্টর কলাম (হিকিকি লিনাকাঙ্গাস) প্রক্রিয়া করে তখন মেমরির ব্যবহার হ্রাস করুন
  • পূর্ণসংখ্যা বা floats (টম লেন) দ্বারা অর্থ মান গুণমান বা বিভাজন যখন অপ্রয়োজনীয় স্পষ্টতা ক্ষতি এবং sloppy বৃত্তাকার স্থির করুন
  • সনাক্তকারীগুলিকে বিশ্লেষণ করে এমন ফাংশনগুলিতে হোয়াইট স্পেসের জন্য টাইটেন চেক করুন, যেমন regprocedurein () (টম লেন)
  • প্রচলিত লোকেলের উপর নির্ভর করে, এই ফাংশনগুলি হোয়াইট স্পেস হিসাবে মাল্টিবিট অক্ষরের টুকরা ভুল ব্যাখ্যা করতে পারে।
  • PL / পার্ল (আশুতোষ শর্মা, টম লেন) কম্পাইল করার সময় পার্ল থেকে প্রাসঙ্গিক # নির্দিষ্ট প্রতীক ব্যবহার করুন
  • এটি সামঞ্জস্যপূর্ণ সমস্যাগুলি এড়িয়ে চলতে থাকে, যা সাধারণত সাম্প্রতিক পার্ল সংস্করণের সাথে কাজ করার সময়, লাইব্রেরির লোডের সময় "হ্যান্ডশেক" মেলামেশ হিসাবে প্রকাশ করে।
  • libpq এ, একটি ব্যর্থ সংযোগ প্রচেষ্টা (মাইকেল Paquier) পরে GSS / SASL এবং SSPL প্রমাণীকরণ অবস্থা সঠিকভাবে পুনরায় সেট করুন
  • এটি ব্যর্থ হওয়ার অর্থ হল যে SSL থেকে অ-SSL সংযোগগুলিতে ফিরে আসার সময়, SSL প্রচেষ্টাতে GSS / SASL ব্যর্থতা সর্বদা অ-SSL প্রচেষ্টা ব্যর্থ হতে পারে। এসএসপিআই ব্যর্থ হয়নি, কিন্তু এটি মেমরি ফাঁকা।
  • psql এ, যখন স্টিডিন থেকে কপি একটি কীবোর্ড ইওফ সংকেত দিয়ে শেষ হয় এবং স্টডিন থেকে অন্য কপিটি চেষ্টা করা হয় (ব্যর্থতা থমাস মুুনো)
  • এই ভুল আচরণ বিএসডি-উদ্ভূত প্ল্যাটফর্মগুলিতে (ম্যাকওএস সহ), কিন্তু অন্যান্যদের উপর নয়।
  • রিফ্রেশ ম্যাট্রিকিজড ভিউ কমান্ডগুলি শেষ করার জন্য pg_dump এবং pg_restore স্থির করুন (টম লেন)
  • এটি বস্তুগত দৃশ্যটি অন্য ব্যবহারকারীর মালিকানাধীন টেবিলে বোঝার সময় ডাম্প / পুনরুদ্ধারের সময় ত্রুটিগুলিকে আটকায়।
  • zlib (ভ্লাদিমির Kunschikov, Alvaro Herrera) থেকে উদ্ভূত ত্রুটি অবস্থার pg_dump / pg_restore এর প্রতিবেদনটি উন্নত করুন
  • প্রত্যাশিত (টম লেন) হিসাবে ইভেন্ট ট্রিগারগুলিকে ড্রপ করতে --clean বিকল্প সহ pg_dump স্থির করুন
  • এটি এখন সঠিকভাবে ইভেন্ট ট্রিগারগুলির মালিকানা নির্ধারণ করে; পূর্বে, তারা পুনরুদ্ধার স্ক্রিপ্ট চালানো সুপারউসার দ্বারা মালিকানাধীন হিসাবে পুনরুদ্ধার করা হয়।
  • পাবলিক স্কিমা বিদ্যমান না থাকলে --clean বিকল্পটি দিয়ে pg_dump স্থির করুন (স্টিফেন ফ্রস্ট)
  • খালি অপারেটর বর্গ (ড্যানিয়েল গাস্টাফসন) এর জন্য অবৈধ SQL নির্মূল করতে pg_dump স্থির করুন
  • উইন্ডোজ (কুন্তত ঘোষ) এ stdout এ pg_dump আউটপুটটি ঠিক করুন
  • স্ট্রাউটে লিখিত একটি সংকুচিত প্লেইন-ডাম্প ডাম্প বাইনারি মোডে ফাইল ডিস্ক্রিপ্টরটি স্থাপন করতে ব্যর্থতার কারণে দূষিত ডেটা ধারণ করবে।
  • এমন একটি দৃশ্যের ON নির্বাচন নিয়মটির সঠিক আউটপুট মুদ্রণ করতে pg_get_ruledef () সংশোধন করুন যার কলামগুলির নামকরণ করা হয়েছে (টম লেন)
  • কিছু কোণ ক্ষেত্রে, pg_dump pg_get_ruledef () উপর দৃষ্টিভঙ্গি ডাম্প করার জন্য নির্ভর করে, যাতে এই ত্রুটিটি ডাম্প / পুনরায় লোড ব্যর্থতার ফলস্বরূপ হতে পারে।
  • কোন সাধারণ কলাম (টম লেন) সহ একটি স্বাভাবিক বাম JOIN ফলাফল হিসাবে খালি সীমাবদ্ধতার সাথে বাইরের যোগদানের ডাম্পিং ফিক্স করুন
  • FROM বিভাগে ফাংশন এক্সপ্রেশনগুলির ডাম্পিং ফিক্স করুন যেখানে কোনও ফাংশন কল (টম লেন) এর মত দেখায় এমন অভিব্যক্তি কোনও জায়গায় না যায়
  • উইন্ডোজ (হরিবাবু কোমি) এ stdout এ pg_basebackup আউটপুট ঠিক করুন
  • স্ট্রাউটের লিখিত একটি ব্যাকআপের মধ্যে ফাইল বর্ণনাকারীকে বাইনারি মোডে রাখা ব্যর্থতার কারণে দূষিত ডেটা থাকবে।
  • 2 গিগাবাইট (কুন্তাল ঘোষ, মাইকেল Paquier) ছাড়িয়ে ফাইলগুলিকে সঠিকভাবে পরিচালনা করতে pg_rewind ঠিক করুন
  • সাধারনত এই ধরনের ফাইলগুলি PostgreSQL ডেটা ডিরেক্টরিগুলিতে উপস্থিত হবে না, তবে তারা কিছু ক্ষেত্রে উপস্থিত হতে পারে।
  • শেষ WAL রেকর্ডের wal_level = সর্বনিম্ন (ব্রুস মজজিয়ান) নেই তা নিশ্চিত করতে pg_upgrade ঠিক করুন
  • এই শর্তটি পুনঃসংযোগ থেকে আপগ্রেড স্ট্যান্ডবাই সার্ভারগুলি প্রতিরোধ করতে পারে।
  • WAL রেকর্ড দৈর্ঘ্যের pg_xlogdump এর গণনাটি সমাধান করুন (আন্দ্রেস ফ্রেন্ড)
  • postgres_fdw এ, পরবর্তী সার্ভার বা পরবর্তী ব্যবহারকারীর ম্যাপিং কমান্ড (Kyotaro Horiguchi) এর পরে দূরবর্তী সার্ভারগুলিতে সংযোগ পুনঃ-স্থাপন করুন
  • এটি নিশ্চিত করে যে সংযোগ পরামিতি প্রভাবিত বিকল্প পরিবর্তনগুলি অবিলম্বে প্রয়োগ করা হবে।
  • postgres_fdw এ, রিমোট লেনদেন নিয়ন্ত্রণ কমান্ডগুলি বাতিল করার অনুমতি দেয় (রবার্ট হা, রাফিয়া সাবিহ)
  • এই পরিবর্তনটি আমাদের আগের চেয়ে আরও অনেক ক্ষেত্রে একটি প্রতিক্রিয়াশীল দূরবর্তী সার্ভারের অপেক্ষায় দ্রুত পালাতে অনুমতি দেয়।
  • এক্সটেনশনগুলির জন্য আরও রুম সরবরাহ করার জন্য MAX_SYSCACHE_CALLBACKS বৃদ্ধি করুন (টম লেন)
  • জিপিসি (টম লেন) এর সাথে ভাগ করা লাইব্রেরিগুলি তৈরি করার সময় -ফপিআইসি, নয় -ফিকিক ব্যবহার করুন
  • এটি প্ল্যাটফর্মগুলিতে বড় এক্সটেনশান লাইব্রেরিগুলিকে সমর্থন করে যেখানে এটি একটি পার্থক্য তৈরি করে।
  • এমএসভিসি তৈরি করে, যেখানে খোলা জায়গাটি লাইব্রেরির VC সাবডিরেক্টরি (অ্যান্ড্রু Dunstan) এর মধ্যে থাকে না
  • এমএসভিসি তৈরি করে, libxml2 শিরোনাম ফাইলগুলির জন্য সঠিক পথ অন্তর্ভুক্ত করুন (অ্যান্ড্রু Dunstan)
  • এটি libxml2 এর মানক উইন্ডোজ ইনস্টলেশনের চারপাশে জিনিসগুলি সরানোর পূর্বের প্রয়োজনের সমাধান করে।
  • এমএসভিসি তৈরি করে, tcl86.lib (নোয়া Misch) নামে একটি Tcl লাইব্রেরি চিনতে
  • MSVC এ, vcregress.pl এর কমান্ড লাইন (অ্যান্ড্রু Dunstan) এ PROVE_FLAGS সেটিংসকে সম্মান করে

  • অনুরূপ সফ্টওয়্যার

    SQLite
    SQLite

    22 Jun 18

    Qercus
    Qercus

    14 Apr 15

    মন্তব্য PostgreSQL

    পাওয়া মন্তব্যসমূহ না
    মন্তব্য যোগ করুন
    ছবি চালু!
    বিভাগ দ্বারা অনুসন্ধান