Ti wagas ti CTRL-C iti Postgres CLI a mangkansela kadagiti saludsod ket nakaskasdaaw a hack-y | Mewayz Blog Skip to main content
Hacker News

Ti wagas ti CTRL-C iti Postgres CLI a mangkansela kadagiti saludsod ket nakaskasdaaw a hack-y

Dagiti Komento

10 min read Via neon.com

Mewayz Team

Editorial Team

Hacker News

Ti Agtaltalinaed nga Aswang ti SIGINT: Apay a ti Postgres CLI Query Cancellation ket Marikna a Kasla Hack

Para kadagiti agparparang-ay ken dagiti administrador ti database, ti PostgreSQL command-line interface (psql) ket maysa a mapagtalkan nga inaldaw a drayber. Nabileg, eksakto, ken adda iti sadinoman dayta. Kaskasdi, maysa kadagiti kangrunaan unay a pannakilangenna —ti panangkansela iti naglibas a saludsod babaen ti sapasap a CTRL-C nga ab-ababa a dalan —ket marikna a mausioso a saan a maitutop. Saan a kas kadagiti adu a moderno nga aplikasion a ti bilin ket basta pasardengenna ti agdama nga operasion, iti psql, ti CTRL-C ket saan nga aktual a mangkansela ti saludsod iti server. Imbes ketdi, kanselaenna ti client’s wait para iti resulta, a baybay-anna ti saludsod a mabalin a mai-churn away iti database server. Daytoy a kababalin ket saan a bug; maysa dayta nga artifact ti disenio a mangipalgak iti naisaad, no dadduma nalaka a madadael, nga arkitektura dagiti ramittayo. Para kadagiti negosio a mangbangbangon kadagiti modular a sistema a kas ti Mewayz, ti pannakaawat kadagitoy a naibatay a kinapudno ket tulbek iti panagdisenio kadagiti natibker, agar-aramat-a-naisentro nga operasional a suson.

Ti Sarita ti Dua a Proseso: Kliyente vs. Serbidor

Ti puso ti "hack-y" a rikna ket nagtaud manipud iti arkitektura ti psql. No ipatungpalmo ti panagsaludsod iti psql, dua nga agwaywayas a proseso ti agtartrabaho: ti proseso ti kliyente ti psql iti lokal a makinam ken ti proseso ti serbidor ti postgres iti host ti database. Ti panangiprenta ti CTRL-C ket mangipatulod ti SIGINT (interrupt signal) nga espesipiko iti psql a proseso ti kliyente. Ti dagus a trabaho ti kliyente ket isardengna ti aguray ken agsubli iti prompt, nga aramidenna. Nupay kasta, awan ti nainkasigudan a pannakaammo ti serbidor iti daytoy a signal iti sikigan ti kliyente. Manipud iti panangmatmatna, ti saludsod ket maysa pay laeng a balido, agtartaray nga operasion. Ti kiddaw ti pannakakansela ket masapul a maipakaammo a kas naisina, baro nga instruksion.

"Ti CTRL-C iti psql ket basbassit a maysa a buton ti 'agsardeng' ken ad-adu ti maysa a 'pangngaasim ta di ikankano ti napalabas a kiddawko' a nota nga itedmo iti maysa nga okupado a biblioteka bayat a dagitoy ket kaguduadan kadagiti stack."

Ti Protokol ti Panagkansela: Ti Sekondario a Kiddaw

Gapuna, kasano nga aktual a makanselar ti saludsod? Kalpasan ti panangtaming ti SIGINT, ti nasayaat ti kababalinna a kliyente ti psql ket mangirugi ti opisial a protokol ti panagkansela ti PostgreSQL. Ramanen daytoy ti pananglukat iti brand new connection iti server ken panangipatulod iti espesial a mensahe ti "cancel request" a naglaon iti nalimed a tulbek a mangilasin iti espesipiko a proseso ti backend a mangpataray iti saludsodmo. Daytoy a kiddaw ket naproseso nga addaan iti nababa a prioridad, ken awan ti garantia ti dagus a balligi. Daytoy a multi-step, fire-and-forget a proseso ti makagapu a marikna ti kababalin a saan a direkta. Saan a direkta a pannakasinga dayta; maysa dayta a nadayaw, asynchronous a panagpakaasi a naipatulod babaen ti backchannel.

Dagiti Kaso ti Giwang ken Edge ti Kapadasan ti Agus-usar

Daytoy a disenio ket mangiturong kadagiti sumagmamano a makita a puntos ti panagkugtar para kadagiti agar-aramat:

  • Naipagarup a Di Panagsungbat: Pindutem ti CTRL-C, dagus nga isublim ti promptmo, ngem agtalinaed a nangato ti karga ti sistema gapu ta agtartrabaho pay laeng ti serbidor.
  • Di Masigurado a Pagbanagan: Awan ti dagus a pammatalgedmo no ti kiddaw a panagkansela ket naawat wenno pinadayawan ti serbidor.
  • Panagpagpannuray-iti-Koneksion: No ti serbidor ket na-firewall wenno ti baro a koneksion para iti kiddaw a panagkansela ket mapaay, dagiti orihinal a panagsaludsod ket agsaludsod kadagiti soldado iti awan patinggana.
  • Sikolohikal a Di Panagtunos: Ti sapasap a bilin ti "abort" ket saan nga agaramid ti agsinkrono a panagsardeng, a mangburak kadagiti namnamaen ti agar-aramat a nabukel iti sabali a lugar iti aglawlaw ti panagkomputar.

Panangbangon kadagiti Aware Foundations a kadua ni Mewayz

Dagiti moderno a sistema ti panagpataray ti negosio ket masapul nga abstrakto dagitoy a naibatay a kinarikut bayat a raraemenda dagiti pagbeddengan dagitoy. Ti plataporma a kas ti Mewayz, nga agtigtignay a kas ti modular nga OS ti negosio, ket mangikapsula kadagiti panagtitinnulong ti database iti uneg dagiti naiturong a modulo ti serbisio. Kas pagarigan, ti maysa a modulo ti panagsaludsod ti datos ti Mewayz ket saan laeng a mangibutaktak ti raw SQL a panagibaga; daytoy ket mangbalkot daytoy kadagiti nalaka nga agar-aramat a kontrol—ti pudno, mapaneknekan a "agsardeng" a buton, dagiti timeout ti panagsaludsod, ken dagiti aktual nga oras a kasasaad a dashboard a mangipakita no ania ti pudno nga agtartaray iti serbidor. Daytoy ti mangyakar iti padas manipud iti panangtaming kadagiti protocol quirks agingga iti panangtarawidwid kadagiti nalawag, maaramid nga operasion ti negosio. Ti leksion manipud iti CTRL-C ti psql ket dagiti naindaklan nga alikamen ket saan laeng nga ibutaktak dagiti nabileg a kabaelan; agdisenioda kadagiti intuitibo ken mapagtalkan nga interface para kadakuada, a mamagbalin kadagiti tawid ti arkitektura nga awan ti pagkuranganna nga ayus ti trabaho. Ti pannakaawat iti hack ket ipalgakna ti gundaway a mangbangon iti nasaysayaat a banag.

💡 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 →

Dagiti Masansan a Saludsod

Ti Agtaltalinaed nga Aswang ti SIGINT: Apay a ti Postgres CLI Query Cancellation ket Marikna a Kasla Hack

Para kadagiti agparparang-ay ken dagiti administrador ti database, ti PostgreSQL command-line interface (psql) ket maysa a mapagtalkan nga inaldaw a drayber. Nabileg, eksakto, ken adda iti sadinoman dayta. Kaskasdi, maysa kadagiti kangrunaan unay a pannakilangenna —ti panangkansela iti naglibas a saludsod babaen ti sapasap a CTRL-C nga ab-ababa a dalan —ket marikna a mausioso a saan a maitutop. Saan a kas kadagiti adu a moderno nga aplikasion a ti bilin ket basta pasardengenna ti agdama nga operasion, iti psql, ti CTRL-C ket saan nga aktual a mangkansela ti saludsod iti server. Imbes ketdi, kanselaenna ti panaguray ti kliyente iti resulta, a baybay-anna ti saludsod a mabalin a mai-churn away iti database server. Daytoy a kababalin ket saan a bug; maysa dayta nga artifact ti disenio a mangipalgak iti naisaad, no dadduma nalaka a madadael, nga arkitektura dagiti ramittayo. Para kadagiti negosio a mangbangbangon kadagiti modular a sistema a kas ti Mewayz, ti pannakaawat kadagitoy a naibatay a kinapudno ket tulbek iti panagdisenio kadagiti natibker, agar-aramat-a-naisentro nga operasional a suson.

Ti Sarita ti Dua a Proseso: Kliyente vs. Serbidor

Ti puso ti "hack-y" a rikna ket nagtaud manipud iti arkitektura ti psql. No ipatungpalmo ti panagsaludsod iti psql, dua nga agwaywayas a proseso ti agtartrabaho: ti proseso ti kliyente ti psql iti lokal a makinam ken ti proseso ti serbidor ti postgres iti host ti database. Ti panangiprenta ti CTRL-C ket mangipatulod ti SIGINT (interrupt signal) nga espesipiko iti proseso ti kliyente ti psql. Ti dagus a trabaho ti kliyente ket isardengna ti aguray ken agsubli iti prompt, nga aramidenna. Nupay kasta, awan ti nainkasigudan a pannakaammo ti serbidor iti daytoy a signal iti sikigan ti kliyente. Manipud iti panangmatmatna, ti saludsod ket maysa pay laeng a balido, agtartaray nga operasion. Ti kiddaw ti pannakakansela ket masapul a maipakaammo a kas naisina, baro nga instruksion.

Ti Protokol ti Panagkansela: Ti Sekondario a Kiddaw

Gapuna, kasano nga aktual a makanselar ti saludsod? Kalpasan ti panangtaming ti SIGINT, ti nasayaat ti kababalinna a kliyente ti psql ket mangirugi ti opisial a protokol ti panagkansela ti PostgreSQL. Daytoy ket mairaman ti pananglukat ti baro a koneksion iti serbidor ken panangipatulod ti naisangayan a mensahe a "kanselaen ti kiddaw" a naglaon ti nalimed a tulbek a mangilasin ti espesipiko a proseso ti backend a mangpataray ti saludsodmo. Daytoy a kiddaw ket naproseso nga addaan iti nababa a prioridad, ken awan ti garantia ti dagus a balligi. Daytoy a multi-step, fire-and-forget a proseso ti makagapu a marikna ti kababalin a saan a direkta. Saan a direkta a pannakasinga dayta; maysa dayta a nadayaw, asynchronous a panagpakaasi a naipatulod babaen ti backchannel.

Dagiti Kaso ti Giwang ken Edge ti Kapadasan ti Agus-usar

Daytoy a disenio ket mangiturong kadagiti sumagmamano a makita a puntos ti panagkugtar para kadagiti agar-aramat:

Panangbangon kadagiti Aware Foundations a kadua ni Mewayz

Dagiti moderno a sistema ti panagpataray ti negosio ket masapul nga abstrakto dagitoy a naibatay a kinarikut bayat a raraemenda dagiti pagbeddengan dagitoy. Ti maysa a plataporma a kas ti Mewayz, nga agtigtignay a kas ti modular a negosio nga OS, ket mangikapsula kadagiti panagtitinnulong ti database iti uneg dagiti naiturong a modulo ti serbisio. Kas pagarigan, ti maysa a modulo ti panagsaludsod ti datos ti Mewayz ket saan laeng a mangibutaktak ti raw SQL a panagibaga; daytoy ket mangbalkot daytoy kadagiti nalaka nga agar-aramat a kontrol—ti pudno, mapaneknekan a "agsardeng" a buton, dagiti timeout ti panagsaludsod, ken dagiti aktual nga oras a kasasaad a dashboard a mangipakita no ania ti pudno nga agtartaray iti serbidor. Daytoy ti mangyakar iti padas manipud iti panangtaming kadagiti protocol quirks agingga iti panangtarawidwid kadagiti nalawag, maaramid nga operasion ti negosio. Ti leksion manipud iti CTRL-C ti psql ket dagiti naindaklan nga alikamen ket saan laeng nga ibutaktak dagiti nabileg a kabaelan; agdisenioda kadagiti intuitibo ken mapagtalkan nga interface para kadakuada, a mamagbalin kadagiti tawid ti arkitektura nga awan ti pagkuranganna nga ayus ti trabaho. Ti pannakaawat iti hack ket ipalgakna ti gundaway a mangbangon iti nasaysayaat a banag.

Amin nga Alikamen ti Negosyom iti Maymaysa a Lugar

Isardeng ti panag-juggle kadagiti adu nga app. Ti Mewayz ket pagtitiponenna ti 208 nga alikamen iti gatad laeng a $49/bulan — manipud iti imbentaryo agingga iti HR, panag-book agingga iti analytics. Awan ti kasapulan a credit card tapno mangrugi.

|