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
<ශරීරය>

The Lingering Ghost of SIGINT: Postgres CLI විමසුම අවලංගු කිරීම හැක් කිරීමක් සේ හැඟෙන්නේ ඇයි

සංවර්ධකයින් සහ දත්ත සමුදා පරිපාලකයින් සඳහා, PostgreSQL විධාන රේඛා අතුරුමුහුණත (psql) විශ්වාසදායක දෛනික ධාවකයකි. එය බලවත්, නිරවද්‍ය සහ සර්වසම්පූර්ණ ය. එහෙත්, විශ්වීය CTRL-C කෙටිමඟ සමඟින් පලා යන විමසුමක් අවලංගු කිරීම එහි මූලික අන්තර්ක්‍රියාවලින් එකකි. විධානය වත්මන් ක්‍රියාකාරිත්වය නවත්වන බොහෝ නවීන යෙදුම්වල මෙන් නොව, psql හි, CTRL-C ඇත්ත වශයෙන්ම සේවාදායකයේ විමසුම අවලංගු නොකරයි. ඒ වෙනුවට, එය ප්‍රතිඵලය සඳහා සේවාදායකයාගේ බලා සිටීම අවලංගු කරයි, දත්ත සමුදා සේවාදායකය මත විමසුමට ඉඩ හැරිය හැක. මෙම හැසිරීම දෝෂයක් නොවේ; එය අපගේ මෙවලම්වල ස්ථර, සමහර විට බිඳෙනසුලු, ගෘහ නිර්මාණ ශිල්පය හෙළි කරන නිර්මාණ කෞතුක වස්තුවකි. Mewayz වැනි මොඩියුලර් පද්ධති මත ගොඩනැගෙන ව්‍යාපාර සඳහා, මෙම යටින් පවතින යථාර්ථයන් අවබෝධ කර ගැනීම ශක්තිමත්, පරිශීලක කේන්ද්‍රීය මෙහෙයුම් ස්ථර සැලසුම් කිරීම සඳහා ප්‍රධාන වේ.

ක්‍රියාවලි දෙකක කතාවක්: සේවාදායකයට එදිරිව සේවාදායකය

"හැක්-වයි" හැඟීමේ හරය පැන නගින්නේ psql හි ගෘහ නිර්මාණ ශිල්පයෙනි. ඔබ psql හි විමසුමක් ක්‍රියාත්මක කරන විට, ස්වාධීන ක්‍රියාවලි දෙකක් ක්‍රියාත්මක වේ: ඔබේ දේශීය යන්ත්‍රයේ psql සේවාදායක ක්‍රියාවලිය සහ දත්ත සමුදා ධාරකයේ postgres සේවාදායක ක්‍රියාවලිය. CTRL-C එබීමෙන් SIGINT (බාධා සංඥා) විශේෂයෙන් psql සේවාදායක ක්‍රියාවලිය වෙත යවයි. සේවාලාභියාගේ ක්ෂණික කාර්යය වන්නේ බලා සිටීම නතර කර එය කරන විමසුම වෙත ආපසු යාමයි. කෙසේ වෙතත්, සේවාදායකයාට මෙම සේවාදායක පාර්ශ්ව සංඥාව පිළිබඳ ආවේනික දැනුමක් නොමැත. එහි දෘෂ්ටිකෝණයෙන්, විමසුම තවමත් වලංගු, ධාවන මෙහෙයුමකි. අවලංගු කිරීමේ ඉල්ලීම වෙනම, නව උපදෙස් ලෙස සන්නිවේදනය කළ යුතුය.

"psql හි CTRL-C යනු 'නැවතුම්' බොත්තමට වඩා අඩු වන අතර 'කරුණාකර මගේ පෙර ඉල්ලීම නොසලකා හරින්න' වැඩි සටහනක් ඔබ කාර්යබහුල පුස්තකාලයාධිපතිවරයෙකුට භාර දෙන අතර ඔවුන් දැනටමත් ගොඩවල්වලට ගොස් ඇති බව සලකන්න."

අවලංගු කිරීමේ ප්‍රොටෝකෝලය: ද්විතියික ඉල්ලීමක්

ඉතින්, විමසුම ඇත්ත වශයෙන්ම අවලංගු වන්නේ කෙසේද? SIGINT හැසිරවීමෙන් පසු, හොඳින් හැසිරෙන psql සේවාදායකයෙක් PostgreSQL හි නිල අවලංගු කිරීමේ ප්‍රොටෝකෝලය ආරම්භ කරයි. මෙයට නව සබැඳුමක්ක් සේවාදායකය වෙත විවෘත කිරීම සහ ඔබේ විමසුම ක්‍රියාත්මක වන නිශ්චිත පසුපෙළ ක්‍රියාවලිය හඳුනා ගන්නා රහස් යතුරක් අඩංගු විශේෂ "ඉල්ලීම අවලංගු කරන්න" පණිවිඩයක් යැවීම ඇතුළත් වේ. මෙම ඉල්ලීම අඩු ප්‍රමුඛතාවයකින් සකසන ලද අතර, ක්ෂණික සාර්ථකත්වය පිළිබඳ සහතිකයක් නොමැත. මෙම බහු-පියවර, ගින්න සහ අමතක කිරීමේ ක්‍රියාවලිය හැසිරීම වක්‍රව දැනෙන්නේ මන්ද යන්නයි. එය සෘජු බාධාවක් නොවේ; එය backchannel එකක් හරහා යවන ලද ආචාරශීලී, අසමමුහුර්ත ආයාචනයකි.

පරිශීලක අත්දැකීම් පරතරය සහ දාර අවස්ථා

මෙම සැලසුම පරිශීලකයින් සඳහා ස්පර්ශ කළ හැකි ඝර්ෂණ ස්ථාන කිහිපයකට මඟ පෙන්වයි:

  • දැනගත් ප්‍රතිචාර නොදක්වන බව: ඔබ CTRL-C ඔබන්න, ඔබේ ප්‍රේරකය ක්ෂණිකව ආපසු ලබා ගන්න, නමුත් සේවාදායකය තවමත් ක්‍රියා කරන නිසා පද්ධති භාරය ඉහළ මට්ටමක පවතී.
  • අවිනිශ්චිත ප්‍රතිඵලය: අවලංගු කිරීමේ ඉල්ලීම සේවාදායකයට ලැබුණේ නම් හෝ ගෞරවයට පාත්‍ර වූයේ නම් ඔබට ක්ෂණික තහවුරු කිරීමක් නොමැත.
  • සම්බන්ධතාවය මත යැපෙන අසාර්ථකත්වය: සේවාදායකය ෆයර්වෝල් කර ඇත්නම් හෝ අවලංගු කිරීමේ ඉල්ලීම සඳහා නව සම්බන්ධතාවය අසාර්ථක වුවහොත්, මුල් විමසුම් සොල්දාදුවන් දින නියමයක් නොමැතිව ක්‍රියාත්මක වේ.
  • මනෝවිද්‍යාත්මක නොගැලපීම: විශ්වීය "abort" විධානය සමමුහුර්ත ගබ්සාවක් සිදු නොකරයි, පරිගණක පරිසරයේ වෙනත් තැන්වල පිහිටුවා ඇති පරිශීලක අපේක්ෂාවන් බිඳ දමයි.

Mewayz සමඟ දැනුවත් පදනම් ගොඩනැගීම

නවීන ව්‍යාපාර මෙහෙයුම් පද්ධති ඒවායේ සීමාවන්ට ගරු කරමින් මෙම යටින් පවතින සංකීර්ණතා වියුක්ත කළ යුතුය. Mewayz වැනි වේදිකාවක්, මොඩියුලර් ව්‍යාපාරික මෙහෙයුම් පද්ධතියක් ලෙස ක්‍රියා කරයි, කළමනාකරණය කළ සේවා මොඩියුල තුළ දත්ත සමුදා අන්තර්ක්‍රියා ආවරණය කරයි. උදාහරණයක් ලෙස, Mewayz දත්ත විමසුම් මොඩියුලය raw 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 →

නිතර අසන ප්‍රශ්න

The Lingering Ghost of SIGINT: Postgres CLI විමසුම අවලංගු කිරීම හැක් කිරීමක් සේ හැඟෙන්නේ ඇයි

සංවර්ධකයින් සහ දත්ත සමුදා පරිපාලකයින් සඳහා, PostgreSQL විධාන රේඛා අතුරුමුහුණත (psql) විශ්වාසදායක දෛනික ධාවකයකි. එය බලවත්, නිරවද්‍ය සහ සර්වසම්පූර්ණ ය. එහෙත්, විශ්වීය CTRL-C කෙටිමඟ සමඟින් පලා යන විමසුමක් අවලංගු කිරීම එහි මූලික අන්තර්ක්‍රියාවලින් එකකි. විධානය වත්මන් ක්‍රියාකාරිත්වය නවත්වන බොහෝ නවීන යෙදුම්වල මෙන් නොව, psql හි, CTRL-C ඇත්ත වශයෙන්ම සේවාදායකයේ විමසුම අවලංගු නොකරයි. ඒ වෙනුවට, එය ප්‍රතිඵලය සඳහා සේවාලාභියාගේ රැඳී සිටීම අවලංගු කරයි, දත්ත සමුදා සේවාදායකය මත විමසුමට ඉඩ හැරිය හැක. මෙම හැසිරීම දෝෂයක් නොවේ; එය අපගේ මෙවලම්වල ස්ථර, සමහර විට බිඳෙනසුලු, ගෘහ නිර්මාණ ශිල්පය හෙළි කරන නිර්මාණ කෞතුක වස්තුවකි. Mewayz වැනි මොඩියුලර් පද්ධති මත ගොඩනැගෙන ව්‍යාපාර සඳහා, මෙම යටින් පවතින යථාර්ථයන් අවබෝධ කර ගැනීම ශක්තිමත්, පරිශීලක කේන්ද්‍රීය මෙහෙයුම් ස්ථර සැලසුම් කිරීම සඳහා ප්‍රධාන වේ.

ක්‍රියාවලි දෙකක කතාවක්: සේවාදායකයට එදිරිව සේවාදායකය

"හැක්-වයි" හැඟීමේ හරය පැන නගින්නේ psql හි ගෘහ නිර්මාණ ශිල්පයෙනි. ඔබ psql හි විමසුමක් ක්‍රියාත්මක කරන විට, ස්වාධීන ක්‍රියාවලි දෙකක් ක්‍රියාත්මක වේ: ඔබේ දේශීය යන්ත්‍රයේ psql සේවාදායක ක්‍රියාවලිය සහ දත්ත සමුදා ධාරකයේ postgres සේවාදායක ක්‍රියාවලිය. CTRL-C එබීමෙන් විශේෂයෙන් psql සේවාදායක ක්‍රියාවලියට SIGINT (බාධා සංඥා) යවයි. සේවාලාභියාගේ ක්ෂණික කාර්යය වන්නේ බලා සිටීම නතර කර එය කරන විමසුම වෙත ආපසු යාමයි. කෙසේ වෙතත්, සේවාදායකයාට මෙම සේවාදායක පාර්ශ්ව සංඥාව පිළිබඳ ආවේනික දැනුමක් නොමැත. එහි දෘෂ්ටිකෝණයෙන්, විමසුම තවමත් වලංගු, ධාවන මෙහෙයුමකි. අවලංගු කිරීමේ ඉල්ලීම වෙනම, නව උපදෙස් ලෙස සන්නිවේදනය කළ යුතුය.

අවලංගු කිරීමේ ප්‍රොටෝකෝලය: ද්විතියික ඉල්ලීමක්

ඉතින්, විමසුම ඇත්ත වශයෙන්ම අවලංගු වන්නේ කෙසේද? SIGINT හැසිරවීමෙන් පසු, හොඳින් හැසිරෙන psql සේවාදායකයෙක් PostgreSQL හි නිල අවලංගු කිරීමේ ප්‍රොටෝකෝලය ආරම්භ කරයි. මෙයට සේවාදායකයට අලුත්ම සම්බන්ධතාවයක් විවෘත කිරීම සහ ඔබේ විමසුම ක්‍රියාත්මක වන නිශ්චිත පසුපෙළ ක්‍රියාවලිය හඳුනා ගන්නා රහස් යතුරක් අඩංගු විශේෂ "අවලංගු ඉල්ලීම" පණිවිඩයක් යැවීම ඇතුළත් වේ. මෙම ඉල්ලීම අඩු ප්‍රමුඛතාවයකින් සකසන ලද අතර, ක්ෂණික සාර්ථකත්වය පිළිබඳ සහතිකයක් නොමැත. මෙම බහු-පියවර, ගින්න සහ අමතක කිරීමේ ක්‍රියාවලිය හැසිරීම වක්‍රව දැනෙන්නේ මන්ද යන්නයි. එය සෘජු බාධාවක් නොවේ; එය backchannel එකක් හරහා යවන ලද ආචාරශීලී, අසමමුහුර්ත ආයාචනයකි.

පරිශීලක අත්දැකීම් පරතරය සහ දාර අවස්ථා

මෙම සැලසුම පරිශීලකයින් සඳහා ස්පර්ශ කළ හැකි ඝර්ෂණ ස්ථාන කිහිපයකට මඟ පෙන්වයි:

Mewayz සමඟ දැනුවත් පදනම් ගොඩනැගීම

නවීන ව්‍යාපාර මෙහෙයුම් පද්ධති ඒවායේ සීමාවන්ට ගරු කරමින් මෙම යටින් පවතින සංකීර්ණතා වියුක්ත කළ යුතුය. Mewayz වැනි වේදිකාවක්, මොඩියුලර් ව්‍යාපාර මෙහෙයුම් පද්ධතියක් ලෙස ක්‍රියා කරයි, කළමනාකරණය කළ සේවා මොඩියුල තුළ දත්ත සමුදා අන්තර්ක්‍රියා සංග්‍රහ කරයි. උදාහරණයක් ලෙස, Mewayz දත්ත විමසුම් මොඩියුලය raw SQL විමසුමක් පමණක් නිරාවරණය නොකරයි; එය පරිශීලක-හිතකාමී පාලන සමඟ එය ඔතා ඇත - සත්‍ය, සත්‍යාපනය කළ හැකි "නැවතුම්" බොත්තමක්, විමසුම් කල් ඉකුත්වීම් සහ සේවාදායකයේ සත්‍ය වශයෙන්ම ක්‍රියාත්මක වන දේ පෙන්වන තත්‍ය කාලීන තත්ව උපකරණ පුවරු. මෙය ප්‍රොටෝකෝල විචක්ෂණභාවය සමඟ ගනුදෙනු කිරීමේ සිට පැහැදිලි, ක්‍රියාකාරී ව්‍යාපාරික මෙහෙයුම් කළමනාකරණය දක්වා අත්දැකීම් ගෙන යයි. psql හි CTRL-C වෙතින් වන පාඩම නම් විශිෂ්ට මෙවලම් ප්‍රබල හැකියාවන් පමණක් හෙළි නොකරන බවයි; ඔවුන් ඔවුන් සඳහා බුද්ධිමය සහ විශ්වාසදායක අතුරුමුහුණත් නිර්මාණය කරයි, වාස්තු විද්‍යාත්මක උරුමයන් බාධාවකින් තොරව වැඩ ප්‍රවාහයන් බවට පත් කරයි. හැක් කිරීම තේරුම් ගැනීමෙන් වඩා හොඳ දෙයක් ගොඩනඟා ගැනීමට අවස්ථාව අනාවරණය වේ.

ඔබේ සියලුම ව්‍යාපාරික මෙවලම් එක තැනක

විවිධ යෙදුම් ජුගුල් කිරීම නවත්වන්න. Mewayz මසකට ඩොලර් 49 කට මෙවලම් 208 ක් ඒකාබද්ධ කරයි - ඉන්වෙන්ටරියේ සිට HR දක්වා, වෙන්කරවා ගැනීම විශ්ලේෂණ දක්වා. ආරම්භ කිරීමට ණය කාඩ්පතක් අවශ්‍ය නොවේ.

නොමිලේ →za>උත්සාහ කරන්න