Ɔkwan a CTRL-C a ɛwɔ Postgres CLI mu no twa nsɛmmisa mu no yɛ hack-y a ɛyɛ nwonwa
Nsɛm a wɔka
Mewayz Team
Editorial Team
SIGINT Honhom a Ɛtra Hɔ: Nea Enti a Postgres CLI Asɛmmisa a Wɔtwa mu no Te nka sɛ Hack
Wɔ developers ne database administrators fam no, PostgreSQL command-line interface (psql) yɛ da biara da draiver a wogye di. Ɛyɛ tumi, ɛyɛ pɛpɛɛpɛ, na ɛwɔ baabiara. Nanso, ne nkitahodi atitiriw no mu biako—sɛ wɔde amansan nyinaa CTRL-C kwan tiawa no twa asɛmmisa a aguan mu—te nka sɛ ɛnyɛ nea ɛfata. Nea ɛnte sɛ nnɛyi aplikeshɔn pii a ahyɛde no gyae mprempren dwumadi no ara kwa no, wɔ psql mu no, CTRL-C ntwa asɛmmisa no mu ankasa wɔ server no so. Mmom, ɛtwa client’s wait no mu ma nea ebefi mu aba no, na ɛma asɛmmisa no betumi ayɛ churn away wɔ database server no so. Saa suban yi nyɛ bɔne; ɛyɛ design artifact a ɛda layered, ɛtɔ mmere bi a ɛyɛ mmerɛw, architecture a yɛn nnwinnade no adi. Wɔ nnwuma a wɔkyekye wɔ modular nhyehyɛe te sɛ Mewayz so no, saa nokwasɛm ahorow a ɛwɔ ase yi ntease yɛ ade titiriw a ɛbɛma wɔayɛ adwumayɛ ntoatoaso a ɛyɛ den, a ɛfa nea ɔde di dwuma ho.
Nneyɛe Abien ho Asɛm: Client vs. Server
"Hack-y" atenka no mu titiriw fi psql nhyehyɛe mu. Sɛ woyɛ asɛmmisa bi wɔ psql mu a, dwumadie mmienu a ɛde ne ho na ɛreyɛ adwuma: psql afɛfoɔ dwumadie wɔ wo mpɔtam hɔ mfiri no so ne postgres server dwumadie wɔ database host no so. Sɛ wobɔ CTRL-C a, ɛde SIGINT (ntwitwagye sɛnkyerɛnne) kɔma psql afɛfo nhyehyɛe pɔtee. Adwuma a client no yɛ ntɛm ara ne sɛ obegyae twɛn na wasan akɔ prompt no so, na ɛyɛ saa. Nanso, server no nni nimdeɛ biara a efi awosu mu wɔ saa client-side signal yi ho. Sɛ yɛhwɛ no a, asɛmmisa no da so ara yɛ adwuma a ɛfata, a ɛrekɔ so. Ɛsɛ sɛ wɔde abisade a ɛfa twa mu no di nkitaho sɛ akwankyerɛ foforo, a ɛyɛ soronko.
a wɔde ahyɛ mu "CTRL-C wɔ psql mu no sua sɛ 'gyae' bɔtn na ɛboro 'mesrɛ wo bu w'ani gu m'abisade a atwam no so' hyɛ no nsow sɛ wode ma nhomakorabea sohwɛfo a onni adagyew bere a wɔakɔ stacks no fã dedaw."na ɛkyerɛ sɛ woayɛ
Cancelation Protocol: Abisadeɛ a Ɛto so Abien
Enti, ɛbɛyɛ dɛn na wɔatwa asɛmmisa no mu ankasa? Sɛ wodi SIGINT no ho dwuma wie a, psql afɛfoɔ a ɔbɔ ne bra yie no hyɛ PostgreSQL aban kwan so cancellation protocol ase. Eyi hwehwɛ sɛ wubue nkitahodi foforo koraa kɔ server no so na wode "cancel request" nkra soronko bi a kokoam safoa a ɛkyerɛ akyi nhyehyɛe pɔtee a ɛreyɛ w'abisade no wom no amena. Wɔde nneɛma a ɛho nhia pii na edi abisade yi ho dwuma, na biribiara nni hɔ a ɛkyerɛ sɛ wobedi nkonim ntɛm ara. Saa anammɔn pii, ogya-ne-werɛ-fi adeyɛ yi ne nea enti a suban no te nka sɛ ɛnte saa no. Ɛnyɛ ntwitwiridii tẽẽ; ɛyɛ animtew, asynchronous adesrɛ a wɔde fa backchannel so mena.
Ɔdefoɔ Osuahu Gap ne Edge Cases
Saa nhyehyɛe yi de akasakasa pii a wotumi hu ba ma wɔn a wɔde di dwuma no:
- Perceived Unresponsiveness: Wobɔ CTRL-C, wo nya wo prompt no san ntɛm ara, nanso system load kɔ so yɛ kɛseɛ ɛfiri sɛ server no da so ara reyɛ adwuma.
- Nea ebefi mu aba a wontumi nsi pi: Wonni si so dua ntɛm ara sɛ sɛ server no nsa kaa abisade a wɔde twaa mu no anaasɛ odii no ni a.
- Nkitahodi-Dependent Failure: Sɛ wɔde firewalled server no anaasɛ nkitahodi foforo a ɛfa cancel request no di nkogu a, mfitiase asɛmmisa asraafo no kɔ so daa.
- Adwene mu Nkitahodi: Amansan "abort" ahyɛdeɛ no nnyɛ synchronous abort, na ɛbu ɔdefoɔ akwanhwɛ a wɔahyehyɛ wɔ baabi foforɔ wɔ kɔmputa tebea no mu.
Adansi wɔ Aware Fapem so ne Mewayz
Ɛsɛ sɛ nnɛyi adwumayɛ nhyehyɛe ahorow yi saa nsɛnnennen a ɛwɔ ase yi fi hɔ bere a ɛkyerɛ obu ma wɔn anohyeto ahorow no. Platform te sɛ Mewayz, a ɛyɛ adwuma sɛ modular adwumayɛ OS, bɛkata database nkitahodi ahorow so wɔ managed service modules mu. Sɛ nhwɛso no, Mewayz data query module bi renda raw SQL prompt adi kɛkɛ; anka ɛde controls a ɛyɛ mmerɛw sɛ ɔde di dwuma bɛkyekyere no —nokware, "gyina" bɔtn a wotumi di ho adanse, asɛmmisa bere a etwa to, ne bere ankasa mu tebea dashboard ahorow a ɛkyerɛ nea ɛrekɔ so ankasa wɔ server no so. Eyi ma osuahu no fi sɛnea wodi protocol quirks ho dwuma so kɔ adwumayɛ dwumadi ahorow a emu da hɔ na wotumi yɛ ho adwuma so. Asuadeɛ a ɛfiri psql CTRL-C mu ne sɛ nnwinnadeɛ akɛseɛ nkyerɛ tumi a tumi wom kɛkɛ; wɔyɛ nkitahodi ahorow a ɛyɛ mmerɛw na wotumi de ho to so ma wɔn, na wɔdan adansi ho agyapade ma ɛbɛyɛ adwumayɛ a ɛnyɛ den. Sɛ wote hack no ase a, ɛda hokwan a ɛwɔ hɔ sɛ wobɛkyekye biribi pa adi.
💡 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 →