Postgres CLI-de CTRL-C-iň talaplary ýatyrmagy ajaýyp hack-y | Mewayz Blog Skip to main content
Hacker News

Postgres CLI-de CTRL-C-iň talaplary ýatyrmagy ajaýyp hack-y

Teswirler

9 min read Via neon.com

Mewayz Team

Editorial Team

Hacker News

SÖINGI

Döredijiler we maglumat bazasynyň dolandyryjylary üçin PostgreSQL buýruk setiri interfeýsi (psql) ynamdar gündelik sürüjidir. Güýçli, takyk we hemme ýerde. Şeýle-de bolsa, iň esasy özara täsirleriň biri - ähliumumy CTRL-C gysga ýoly bilen gaçýan soragy ýatyrmak, bilesigelijilik bilen duýulýar. Buýruk häzirki amaly togtadýan köp sanly häzirki zaman programmalaryndan tapawutlylykda, psql-de CTRL-C serwerdäki soragy aslynda ýatyrmaýar. Muňa derek, netijäniň müşderiniň garaşmagyny ýatyrýar we talap bazanyň serwerinde ýüze çykyp biler. Bu özüňi alyp barşyň ýalňyşlygy däl; gurallarymyzyň gatlakly, käwagt näzik, arhitekturasyny açyp görkezýän dizaýn artefakty. Mewayz ýaly modully ulgamlarda gurulýan kärhanalar üçin bu esasy hakykatlara düşünmek, ygtybarly, ulanyjy merkezi iş gatlaklaryny dizaýn etmegiň açarydyr.

Iki prosesiň ertekisi: Müşderi vs. Serwer

"hack-y" duýgusynyň özeni psql arhitekturasyndan gelip çykýar. Psql-de bir soragy ýerine ýetireniňizde, iki sany garaşsyz proses işleýär: ýerli enjamyňyzda psql müşderi prosesi we maglumat bazasynyň öýündäki postgres serwer prosesi. CTRL-C basylanda, psql müşderi işine SIGINT (kesiş signaly) iberilýär. Müşderiniň gyssagly işi, garaşmagy bes etmek we ýerine ýetirýän haýyşyna gaýdyp gelmek. Şeýle-de bolsa, serwerde bu müşderi tarapyndaky signal barada hiç hili maglumat ýok. Nukdaýnazaryndan, talap henizem dogry we işleýän amal. Ationatyryş haýyşy aýratyn, täze görkezme hökmünde habar berilmelidir.

"Psql-daky CTRL-C" durmak "düwmesinden az we" öňki haýyşymy äsgermezlik ediň "belligi, köp sanly kitaphananyň işgärlerine eltip berendiklerini belläň.

ationatyryş teswirnamasy: Ikinji haýyş

Onda, talap nädip ýatyrylýar? SIGINT bilen iş salyşandan soň, özüni gowy alyp baran psql müşderisi PostgreSQL-iň resmi ýatyryş protokolyny başlaýar. Bu, serwere täze birikme açmagy we talapyňyzy ýerine ýetirýän anyk arkany kesgitleýän gizlin açary öz içine alýan ýörite "ýatyryş haýyşy" habaryny ibermegi öz içine alýar. Bu haýyş pes ähmiýetli işlenýär we derrew üstünlik gazanmagyň kepilligi ýok. Bu köp basgançakly, ýangyn we ýatdan çykarmak prosesi, gylyk-häsiýetiň gytaklaýyn duýulmagynyň sebäbi. Bu göni arakesme däl; arka tarapdan iberilen sypaýy, asynkron haýyş.

Ulanyjynyň tejribe boşlugy we gyrasy ýagdaýlary

Bu dizaýn, ulanyjylar üçin birnäçe göze görnüp duran sürtülme nokatlaryna eltýär:

  • Jogapkärçiliksizlik: CTRL-C-e basýarsyňyz, haýal etmän yzyna alyň, ýöne serwer henizem işleýändigi sebäpli ulgam ýükleri ýokary galýar.
  • Näbelli netije: cancelatyrmak haýyşy serwer tarapyndan kabul edilen ýa-da hormatlanan bolsa, derrew tassyklamaňyz ýok.
  • Baglanyşyga bagly şowsuzlyk: Serwer goragly bolsa ýa-da ýatyrmak haýyşy üçin täze birikme şowsuz bolsa, asyl talap esgerleri näbelli.
  • Psihologiki gabat gelmezlik: universalhliumumy "abort" buýrugy, hasaplaýyş gurşawynyň başga bir ýerinde döredilen ulanyjylaryň garaşyşlaryny bozup, sinhron aborty ýerine ýetirmeýär.

Mewaýz bilen habarly binýatlaryň binasy

Häzirki zaman işewürlik ulgamlary, çäklendirmelerine hormat goýmak bilen bu esasy çylşyrymlylyklary aýyrmalydyr. Modully iş ulgamy hökmünde hereket edýän Mewayz ýaly platforma dolandyrylýan hyzmat modullarynyň içinde maglumatlar bazasynyň özara täsirini öz içine alar. Mysal üçin, Mewayz maglumat talap moduly diňe bir çig SQL islegini paş etmez; ony ulanyjy üçin amatly dolandyryşlar bilen üpjün eder - hakyky, barlap boljak "durmak" düwmesi, talaplaryň gutarmagy we serwerde hakykatdanam nämäniň işleýändigini görkezýän hakyky wagt paneli. Bu, tejribe protokol talaplary bilen iş salyşmakdan, aýdyň, hereketli iş amallaryny dolandyrmaga geçirýär. Psql-iň CTRL-C-den sapak, ajaýyp gurallaryň diňe güýçli mümkinçilikleri paş etmezligi; binagärlik miraslaryny üznüksiz iş akymyna öwrüp, olar üçin içgin we ygtybarly interfeýsleri düzýärler. Hacka düşünmek has gowy zat gurmak mümkinçiligini açýar.

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

Freygy-ýygydan soralýan soraglar

SÖINGI

Döredijiler we maglumat bazasynyň dolandyryjylary üçin PostgreSQL buýruk setiri interfeýsi (psql) ynamdar gündelik sürüjidir. Güýçli, takyk we hemme ýerde. Şeýle-de bolsa, iň esasy özara täsirleriň biri - ähliumumy CTRL-C gysga ýoly bilen gaçýan soragy ýatyrmak, bilesigelijilik bilen duýulýar. Buýruk häzirki amaly togtadýan köp sanly häzirki zaman programmalaryndan tapawutlylykda, psql-de CTRL-C serwerdäki soragy aslynda ýatyrmaýar. Muňa derek, müşderiniň netijä garaşmagyny ýatyrýar we talap bazanyň serwerinde mümkin bolup biler. Bu özüňi alyp barşyň ýalňyşlygy däl; gurallarymyzyň gatlakly, käwagt näzik, arhitekturasyny açyp görkezýän dizaýn artefakty. Mewayz ýaly modully ulgamlarda gurulýan kärhanalar üçin bu esasy hakykatlara düşünmek, ygtybarly, ulanyjy merkezi iş gatlaklaryny taslamak üçin açardyr.

Iki prosesiň ertekisi: Müşderi vs. Serwer

"hack-y" duýgusynyň özeni psql arhitekturasyndan gelip çykýar. Psql-de bir soragy ýerine ýetireniňizde, iki sany garaşsyz proses işleýär: ýerli enjamyňyzda psql müşderi prosesi we maglumat bazasynyň öýündäki postgres serwer prosesi. CTRL-C basylanda, psql müşderi prosesine ýörite SIGINT (arakesme signaly) iberilýär. Müşderiniň gyssagly işi, garaşmagy bes etmek we ýerine ýetirýän haýyşyna gaýdyp gelmek. Şeýle-de bolsa, serwerde bu müşderi tarapyndaky signal barada hiç hili maglumat ýok. Nukdaýnazaryndan, talap henizem dogry we işleýän amal. Ationatyryş haýyşy aýratyn, täze görkezme hökmünde habar berilmelidir.

elatyryş protokoly: Ikinji haýyş

Onda, talap nädip ýatyrylýar? SIGINT bilen iş salyşandan soň, özüni gowy alyp baran psql müşderisi PostgreSQL-iň resmi ýatyryş protokolyny başlaýar. Bu, serwere täze baglanyşyk açmagy we talapyňyzy dolandyrýan anyk arkany kesgitleýän gizlin açary öz içine alýan ýörite "haýyşy ýatyrmak" habaryny ibermegi öz içine alýar. Bu haýyş pes ähmiýetli işlenýär we derrew üstünlik gazanmagyň kepilligi ýok. Bu köp basgançakly, ýangyn we ýatdan çykarmak prosesi, gylyk-häsiýetiň gytaklaýyn duýulmagynyň sebäbi. Bu göni arakesme däl; arka tarapdan iberilen sypaýy, asynkron haýyş.

Ulanyjynyň tejribe boşlugy we gyrasy ýagdaýlary

Bu dizaýn, ulanyjylar üçin birnäçe göze görnüp duran sürtülme nokatlaryna eltýär:

Mewayz bilen habarly binýatlaryň binasy

Häzirki zaman işewürlik ulgamlary, çäklendirmelerine hormat goýmak bilen bu esasy çylşyrymlylyklary aýyrmalydyr. Modully iş ulgamy hökmünde çykyş edýän Mewayz ýaly platforma, dolandyrylýan hyzmat modullarynyň içinde maglumatlar bazasynyň özara täsirini öz içine alar. Mysal üçin, Mewayz maglumat talap moduly diňe bir çig SQL islegini paş etmez; ony ulanyjy üçin amatly dolandyryşlar bilen üpjün eder - hakyky, barlap boljak "durmak" düwmesi, talaplaryň gutarmagy we serwerde hakykatdanam nämäniň işleýändigini görkezýän hakyky wagt paneli. Bu, tejribe protokol talaplary bilen iş salyşmakdan, aýdyň, hereketli iş amallaryny dolandyrmaga geçirýär. Psql-iň CTRL-C-den sapak, ajaýyp gurallaryň diňe güýçli mümkinçilikleri paş etmezligi; binagärlik miraslaryny üznüksiz iş akymyna öwrüp, olar üçin içgin we ygtybarly interfeýsleri düzýärler. Hacka düşünmek has gowy zat gurmak mümkinçiligini açýar.

Businesshli iş gurallaryňyz bir ýerde

Birnäçe programma bilen gürleşmegi bes ediň. Mewayz, aýda bary-ýogy 49 dollar üçin 208 guraly birleşdirýär - inwentardan HR-a çenli, bron etmekden analitika çenli. Başlamak üçin kredit kartoçkasy ýok.

Mewayz Free synap görüň