Postgres CLI ত CTRL-C এ প্ৰশ্ন বাতিল কৰাৰ ধৰণ অবিশ্বাস্যভাৱে হেক-ৱাই | Mewayz Blog Skip to main content
Hacker News

Postgres CLI ত CTRL-C এ প্ৰশ্ন বাতিল কৰাৰ ধৰণ অবিশ্বাস্যভাৱে হেক-ৱাই

মন্তব্য

1 min read Via neon.com

Mewayz Team

Editorial Team

Hacker News
<শৰীৰ>

SIGINT ৰ দীৰ্ঘদিনীয়া ভূত: কিয় Postgres CLI প্ৰশ্ন বাতিল এটা হেকৰ দৰে অনুভৱ হয়

ডেভেলপাৰ আৰু ডাটাবেইচ প্ৰশাসকৰ বাবে, PostgreSQL আদেশ-শাৰী আন্তঃপৃষ্ঠ (psql) এটা বিশ্বাসযোগ্য দৈনিক চালক । ই শক্তিশালী, নিখুঁত আৰু সৰ্বব্যাপী৷ তথাপিও ইয়াৰ এটা মৌলিক পাৰস্পৰিক ক্ৰিয়া—ইউনিভাৰ্চেল CTRL-C চৰ্টকাটৰ সৈতে এটা পলায়নবাদী প্ৰশ্ন বাতিল কৰা—কৌতুহলজনকভাৱে ঠাইৰ বাহিৰত অনুভৱ হয়। বহুতো আধুনিক এপ্লিকেচনৰ দৰে নহয় য’ত আদেশে বৰ্তমানৰ কাৰ্য্য বন্ধ কৰে, psql ত, CTRL-C এ প্ৰকৃততে চাৰ্ভাৰত প্ৰশ্ন বাতিল নকৰে। ইয়াৰ পৰিবৰ্তে, ই ফলাফলৰ বাবে ক্লায়েণ্টৰ অপেক্ষা বাতিল কৰে, প্ৰশ্নটোক ডাটাবেছ চাৰ্ভাৰত সম্ভাৱ্যভাৱে মন্থন কৰিবলৈ এৰি দিয়ে। এই আচৰণ কোনো বাগ নহয়; ই এটা ডিজাইন আৰ্টিফেক্ট যিয়ে আমাৰ সঁজুলিসমূহৰ স্তৰযুক্ত, কেতিয়াবা ভংগুৰ, স্থাপত্য প্ৰকাশ কৰে। Mewayzৰ দৰে মডিউলাৰ ব্যৱস্থাপ্ৰণালীৰ ওপৰত নিৰ্মাণ কৰা ব্যৱসায়সমূহৰ বাবে, এই অন্তৰ্নিহিত বাস্তৱতাসমূহ বুজি পোৱাটো শক্তিশালী, ব্যৱহাৰকাৰী-কেন্দ্ৰিক কাৰ্য্যকৰী স্তৰসমূহ ডিজাইন কৰাৰ মূল চাবিকাঠি।

দুটা প্ৰক্ৰিয়াৰ এটা কাহিনী: ক্লায়েণ্ট বনাম চাৰ্ভাৰ

"hack-y" অনুভৱৰ মূল psql ৰ স্থাপত্যৰ পৰা উদ্ভৱ হৈছে। যেতিয়া আপুনি psql ত এটা প্ৰশ্ন এক্সিকিউট কৰে, দুটা স্বতন্ত্ৰ প্ৰক্ৰিয়া কাম কৰি আছে: আপোনাৰ স্থানীয় যন্ত্ৰত psql ক্লাএন্ট প্ৰক্ৰিয়া আৰু ডাটাবেইচ হস্টত postgres চাৰ্ভাৰ প্ৰক্ৰিয়া । CTRL-C টিপিলে এটা SIGINT (বিঘিনি সংকেত) বিশেষভাৱে psql ক্লাএন্ট প্ৰক্ৰিয়ালে পঠায়। ক্লায়েণ্টৰ তাৎক্ষণিক কাম হ'ল অপেক্ষা কৰা বন্ধ কৰি প্ৰমপ্টলৈ উভতি যোৱা, যিটো ই কৰে। কিন্তু, চাৰ্ভাৰৰ এই ক্লাএন্ট-পক্ষ সংকেতৰ কোনো অন্তৰ্নিহিত জ্ঞান নাই। ইয়াৰ দৃষ্টিকোণৰ পৰা, প্ৰশ্নটো এতিয়াও এটা বৈধ, চলি থকা কাৰ্য্য। বাতিলৰ অনুৰোধটো এটা পৃথক, নতুন নিৰ্দেশনা হিচাপে যোগাযোগ কৰিব লাগিব।

<ব্লককোট> "psql ত CTRL-C এটা 'বন্ধ' বুটাম কম আৰু এটা 'অনুগ্ৰহ কৰি মোৰ পূৰ্বৰ অনুৰোধ আওকাণ কৰক' টোকা যে আপুনি এটা ব্যস্ত লাইব্ৰেৰিয়ানক দিয়ে যেতিয়া সিহঁত ইতিমধ্যে ষ্টেকসমূহৰ আধাতে আছে।" ৰ দ্বাৰা

বাতিল প্ৰটোকল: এটা গৌণ অনুৰোধ

গতিকে, প্ৰশ্নটো প্ৰকৃততে কেনেকৈ বাতিল কৰা হয়? SIGINT নিয়ন্ত্ৰণ কৰাৰ পিছত, এটা ভাল আচৰণ কৰা psql ক্লাএন্টে PostgreSQL ৰ অফিচিয়েল বাতিল প্ৰটোকল আৰম্ভ কৰে। ইয়াৰ লগত চাৰ্ভাৰলৈ এটা এটা নতুন সংযোগ খোলা আৰু এটা গোপন চাবি থকা এটা বিশেষ "অনুৰোধ বাতিল কৰক" বাৰ্তা প্ৰেৰণ কৰা জড়িত যি আপোনাৰ প্ৰশ্ন চলোৱা নিৰ্দিষ্ট বেকএণ্ড প্ৰক্ৰিয়া চিনাক্ত কৰে। এই অনুৰোধ কম অগ্ৰাধিকাৰৰ সৈতে প্ৰক্ৰিয়াকৰণ কৰা হয়, আৰু তাৎক্ষণিক সফলতাৰ কোনো নিশ্চয়তা নাই। এই বহুপদক্ষেপৰ, জুই-পাহৰি প্ৰক্ৰিয়াটোৱেই কিয় আচৰণটো পৰোক্ষ অনুভৱ কৰে। ই কোনো প্ৰত্যক্ষ বাধা নহয়; ই এটা বেকচেনেলৰ জৰিয়তে প্ৰেৰণ কৰা এটা ভদ্ৰ, এচিনক্ৰ’নাছ অনুৰোধ।

ব্যৱহাৰকাৰী অভিজ্ঞতা ফাঁক আৰু প্ৰান্ত ক্ষেত্ৰসমূহ

এই ডিজাইনে ব্যৱহাৰকাৰীসকলৰ বাবে কেইবাটাও স্পষ্ট ঘৰ্ষণ বিন্দুলৈ লৈ যায়:

  • অনুভৱ কৰা অপ্ৰতিক্ৰিয়াশীলতা: আপুনি CTRL-C টিপে, আপোনাৰ প্ৰমপ্ট তৎক্ষণাত ঘূৰাই পায়, কিন্তু চিস্টেমৰ লোড বেছি থাকে কাৰণ চাৰ্ভাৰ এতিয়াও কাম কৰি আছে ।
  • অনিশ্চিত ফলাফল: বাতিলৰ অনুৰোধ চাৰ্ভাৰে গ্ৰহণ কৰিলে বা সন্মান কৰিলে আপোনাৰ কোনো তাৎক্ষণিক নিশ্চিতকৰণ নাই।
  • সংযোগ-নিৰ্ভৰশীল বিফলতা: যদি চাৰ্ভাৰ ফায়াৰৱাল কৰা হয় বা বাতিল অনুৰোধৰ বাবে নতুন সংযোগ বিফল হয়, মূল প্ৰশ্ন সৈন্য অনিৰ্দিষ্টকাললৈ অন কৰে।
  • মনোবৈজ্ঞানিক মিছমেচ: ইউনিভাৰ্চেল "abort" আদেশে এটা সমকালীন এবৰ্ট নকৰে, কম্পিউটিং পৰিৱেশৰ অন্য ঠাইত গঠিত ব্যৱহাৰকাৰীৰ প্ৰত্যাশা ভংগ কৰে।

মেৱেজৰ সৈতে সচেতন ভেটিৰ ওপৰত নিৰ্মাণ কৰা

আধুনিক ব্যৱসায়িক অপাৰেটিং চিস্টেমসমূহে এই অন্তৰ্নিহিত জটিলতাসমূহ বিমূৰ্ত কৰিব লাগিব আৰু ইয়াৰ বাধাসমূহ সন্মান কৰিব লাগিব। Mewayzৰ দৰে এটা প্লেটফৰ্মে, এটা মডিউলাৰ ব্যৱসায়িক অপাৰেটিং চিষ্টেম হিচাপে কাম কৰা, পৰিচালিত সেৱা মডিউলসমূহৰ ভিতৰত ডাটাবেইচ পাৰস্পৰিক ক্ৰিয়াসমূহ এনকেপচুলেট কৰিব। উদাহৰণস্বৰূপ, এটা Mewayz ডাটা প্ৰশ্ন মডিউলে কেৱল এটা কেঁচা SQL প্ৰমপ্ট উন্মোচন নকৰে; ই ইয়াক ব্যৱহাৰকাৰী-বন্ধুত্বপূৰ্ণ নিয়ন্ত্ৰণসমূহৰ সৈতে ৰেপ কৰিব—এটা সত্য, পৰীক্ষাযোগ্য "বন্ধ" বুটাম, প্ৰশ্ন সময়সীমা, আৰু বাস্তৱ-সময়ৰ অৱস্থা ডেচব'ৰ্ডসমূহ যি চাৰ্ভাৰত প্ৰকৃততে কি চলি আছে দেখুৱায়। ই অভিজ্ঞতাক প্ৰট'কল কুইৰ্কসমূহৰ সৈতে মোকাবিলা কৰাৰ পৰা স্পষ্ট, কাৰ্য্যকৰী ব্যৱসায়িক কাৰ্য্যকলাপ পৰিচালনা কৰালৈ লৈ যায়। psql ৰ CTRL-C ৰ পৰা শিক্ষাটো হ'ল যে মহান সঁজুলিসমূহে কেৱল শক্তিশালী ক্ষমতাসমূহ উন্মোচন নকৰে; সিহঁতে সিহঁতৰ বাবে স্বজ্ঞাত আৰু নিৰ্ভৰযোগ্য আন্তঃপৃষ্ঠসমূহ ডিজাইন কৰে, স্থাপত্যৰ উত্তৰাধিকাৰসমূহক নিৰৱচ্ছিন্ন কাৰ্য্যপ্ৰবাহলৈ ৰূপান্তৰিত কৰে। হেকটো বুজিলে ভাল কিবা এটা নিৰ্মাণ কৰাৰ সুযোগ ওলাই পৰে।

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

সঘনাই সোধা প্ৰশ্ন

SIGINT ৰ দীৰ্ঘদিনীয়া ভূত: কিয় Postgres CLI প্ৰশ্ন বাতিল এটা হেকৰ দৰে অনুভৱ হয়

ডেভেলপাৰ আৰু ডাটাবেইচ প্ৰশাসকৰ বাবে, PostgreSQL আদেশ-শাৰী আন্তঃপৃষ্ঠ (psql) এটা বিশ্বাসযোগ্য দৈনিক চালক । ই শক্তিশালী, নিখুঁত আৰু সৰ্বব্যাপী৷ তথাপিও ইয়াৰ এটা মৌলিক পাৰস্পৰিক ক্ৰিয়া—ইউনিভাৰ্চেল CTRL-C চৰ্টকাটৰ সৈতে এটা পলায়নবাদী প্ৰশ্ন বাতিল কৰা—কৌতুহলজনকভাৱে ঠাইৰ বাহিৰত অনুভৱ হয়। বহুতো আধুনিক এপ্লিকেচনৰ দৰে নহয় য’ত আদেশে বৰ্তমানৰ কাৰ্য্য বন্ধ কৰে, psql ত, CTRL-C এ প্ৰকৃততে চাৰ্ভাৰত প্ৰশ্ন বাতিল নকৰে। ইয়াৰ পৰিবৰ্তে, ই ক্লায়েণ্টৰ ফলাফলৰ বাবে অপেক্ষা বাতিল কৰে, যাৰ ফলত প্ৰশ্নটো ডাটাবেছ চাৰ্ভাৰত সম্ভাৱ্যভাৱে আঁতৰি যায়। এই আচৰণ কোনো বাগ নহয়; ই এটা ডিজাইন আৰ্টিফেক্ট যিয়ে আমাৰ সঁজুলিসমূহৰ স্তৰযুক্ত, কেতিয়াবা ভংগুৰ, স্থাপত্য প্ৰকাশ কৰে। Mewayz ৰ দৰে মডিউলাৰ ব্যৱস্থাপ্ৰণালীৰ ওপৰত নিৰ্মাণ কৰা ব্যৱসায়ৰ বাবে, এই অন্তৰ্নিহিত বাস্তৱতাসমূহ বুজি পোৱাটো শক্তিশালী, ব্যৱহাৰকাৰী-কেন্দ্ৰিক কাৰ্য্যকৰী স্তৰসমূহ ডিজাইন কৰাৰ মূল চাবিকাঠি।

দুটা প্ৰক্ৰিয়াৰ এটা কাহিনী: ক্লায়েণ্ট বনাম চাৰ্ভাৰ

"hack-y" অনুভৱৰ মূল psql ৰ স্থাপত্যৰ পৰা উদ্ভৱ হৈছে। যেতিয়া আপুনি psql ত এটা প্ৰশ্ন এক্সিকিউট কৰে, দুটা স্বতন্ত্ৰ প্ৰক্ৰিয়া কাম কৰি আছে: আপোনাৰ স্থানীয় যন্ত্ৰত psql ক্লাএন্ট প্ৰক্ৰিয়া আৰু ডাটাবেইচ হস্টত postgres চাৰ্ভাৰ প্ৰক্ৰিয়া । CTRL-C টিপিলে এটা SIGINT (বিঘিনি সংকেত) বিশেষভাৱে psql ক্লাএন্ট প্ৰক্ৰিয়ালৈ পঠায়। ক্লায়েণ্টৰ তাৎক্ষণিক কাম হ'ল অপেক্ষা কৰা বন্ধ কৰি প্ৰমপ্টলৈ উভতি যোৱা, যিটো ই কৰে। কিন্তু, চাৰ্ভাৰৰ এই ক্লাএন্ট-পক্ষ সংকেতৰ কোনো অন্তৰ্নিহিত জ্ঞান নাই। ইয়াৰ দৃষ্টিকোণৰ পৰা, প্ৰশ্নটো এতিয়াও এটা বৈধ, চলি থকা কাৰ্য্য। বাতিলৰ অনুৰোধটো এটা পৃথক, নতুন নিৰ্দেশনা হিচাপে যোগাযোগ কৰিব লাগিব।

বাতিল প্ৰটোকল: এটা গৌণ অনুৰোধ

গতিকে, প্ৰশ্নটো প্ৰকৃততে কেনেকৈ বাতিল কৰা হয়? SIGINT নিয়ন্ত্ৰণ কৰাৰ পিছত, এটা ভাল আচৰণ কৰা psql ক্লাএন্টে PostgreSQL ৰ অফিচিয়েল বাতিল প্ৰটোকল আৰম্ভ কৰে। ইয়াৰ লগত চাৰ্ভাৰলৈ এটা নতুন সংযোগ খোলা আৰু এটা গোপন চাবি থকা এটা বিশেষ "অনুৰোধ বাতিল কৰক" বাৰ্তা প্ৰেৰণ কৰা জড়িত যি আপোনাৰ প্ৰশ্ন চলোৱা নিৰ্দিষ্ট বেকএণ্ড প্ৰক্ৰিয়া চিনাক্ত কৰে। এই অনুৰোধ কম অগ্ৰাধিকাৰৰ সৈতে প্ৰক্ৰিয়াকৰণ কৰা হয়, আৰু তাৎক্ষণিক সফলতাৰ কোনো নিশ্চয়তা নাই। এই বহুপদক্ষেপৰ, জুই-পাহৰি প্ৰক্ৰিয়াটোৱেই কিয় আচৰণটো পৰোক্ষ অনুভৱ কৰে। ই কোনো প্ৰত্যক্ষ বাধা নহয়; ই এটা বেকচেনেলৰ জৰিয়তে প্ৰেৰণ কৰা এটা ভদ্ৰ, এচিনক্ৰ’নাছ অনুৰোধ।

ব্যৱহাৰকাৰী অভিজ্ঞতা ফাঁক আৰু প্ৰান্ত ক্ষেত্ৰসমূহ

এই ডিজাইনে ব্যৱহাৰকাৰীসকলৰ বাবে কেইবাটাও স্পষ্ট ঘৰ্ষণ বিন্দুলৈ লৈ যায়:

মেৱেজৰ সৈতে সচেতন ভেটিৰ ওপৰত নিৰ্মাণ কৰা

আধুনিক ব্যৱসায়িক অপাৰেটিং চিস্টেমসমূহে এই অন্তৰ্নিহিত জটিলতাসমূহ বিমূৰ্ত কৰিব লাগিব আৰু ইয়াৰ বাধাসমূহ সন্মান কৰিব লাগিব। Mewayz ৰ দৰে এটা প্লেটফৰ্মে, এটা মডিউলাৰ ব্যৱসায়িক অপাৰেটিং চিষ্টেম হিচাপে কাম কৰা, পৰিচালিত সেৱা মডিউলসমূহৰ ভিতৰত ডাটাবেছ পাৰস্পৰিক ক্ৰিয়াসমূহক এনকেপচুলেট কৰিব। উদাহৰণস্বৰূপ, এটা Mewayz ডাটা প্ৰশ্ন মডিউলে কেৱল এটা কেঁচা SQL প্ৰমপ্ট উন্মোচন নকৰে; ই ইয়াক ব্যৱহাৰকাৰী-বন্ধুত্বপূৰ্ণ নিয়ন্ত্ৰণসমূহৰ সৈতে ৰেপ কৰিব—এটা সত্য, পৰীক্ষাযোগ্য "বন্ধ" বুটাম, প্ৰশ্ন সময়সীমা, আৰু বাস্তৱ-সময়ৰ অৱস্থা ডেচব'ৰ্ডসমূহ যি চাৰ্ভাৰত প্ৰকৃততে কি চলি আছে দেখুৱায়। ই অভিজ্ঞতাক প্ৰট'কল কুইৰ্কসমূহৰ সৈতে মোকাবিলা কৰাৰ পৰা স্পষ্ট, কাৰ্য্যকৰী ব্যৱসায়িক কাৰ্য্যকলাপ পৰিচালনা কৰালৈ লৈ যায়। psql ৰ CTRL-C ৰ পৰা শিক্ষাটো হ'ল যে মহান সঁজুলিসমূহে কেৱল শক্তিশালী ক্ষমতাসমূহ উন্মোচন নকৰে; সিহঁতে সিহঁতৰ বাবে স্বজ্ঞাত আৰু নিৰ্ভৰযোগ্য আন্তঃপৃষ্ঠসমূহ ডিজাইন কৰে, স্থাপত্যৰ উত্তৰাধিকাৰসমূহক নিৰৱচ্ছিন্ন কাৰ্য্যপ্ৰবাহলৈ ৰূপান্তৰিত কৰে। হেকটো বুজিলে ভাল কিবা এটা নিৰ্মাণ কৰাৰ সুযোগ ওলাই পৰে।

আপোনাৰ সকলো ব্যৱসায়িক সঁজুলি এটা ঠাইত

একাধিক এপৰ জগলিং বন্ধ কৰক। মেৱাইজে মাত্ৰ ৪৯ ডলাৰ/মাহৰ বাবে ২০৮টা সঁজুলি একত্ৰিত কৰে — ইনভেণ্টৰীৰ পৰা এইচ আৰ, বুকিঙৰ পৰা বিশ্লেষণলৈকে। আৰম্ভ কৰিবলৈ কোনো ক্ৰেডিট কাৰ্ডৰ প্ৰয়োজন নাই।

মেৱাইজ ফ্ৰী চেষ্টা কৰক →