Ինչպես CTRL-C-ն Postgres CLI-ում չեղարկում է հարցումները, անհավանական է
Մեկնաբանություններ
Mewayz Team
Editorial Team
SIGINT-ի երկարատև ուրվական.
Կարգավորողների և տվյալների բազայի ադմինիստրատորների համար PostgreSQL հրամանի տողի ինտերֆեյսը (psql) ամենօրյա վստահելի վարորդ է: Այն հզոր է, ճշգրիտ և ամենուր: Այնուամենայնիվ, նրա ամենահիմնական փոխազդեցություններից մեկը՝ չեղյալ համարվող հարցումը համընդհանուր CTRL-C դյուրանցման միջոցով, անտեղի է թվում: Ի տարբերություն շատ ժամանակակից հավելվածների, որտեղ հրամանը պարզապես դադարեցնում է ընթացիկ գործողությունը, psql-ում CTRL-C-ն իրականում չի չեղարկում սերվերի հարցումը: Փոխարենը, այն չեղարկում է հաճախորդի սպասումը արդյունքի համար՝ թողնելով հարցումը պոտենցիալ հեռանալով տվյալների բազայի սերվերից: Այս պահվածքը վրիպակ չէ. դա դիզայնի արտեֆակտ է, որը բացահայտում է մեր գործիքների շերտավոր, երբեմն փխրուն ճարտարապետությունը: Մոդուլային համակարգերի վրա հիմնված ձեռնարկությունների համար, ինչպիսին է Mewayz-ը, այս հիմքում ընկած իրողությունների ըմբռնումը կարևոր է ամուր, օգտագործողին կենտրոնացած գործառնական շերտերի նախագծման համար:
Երկու գործընթացների հեքիաթ. հաճախորդն ընդդեմ սերվերի
«hack-y» զգացողության առանցքը բխում է psql-ի ճարտարապետությունից: Երբ հարցում եք կատարում psql-ում, գործում են երկու անկախ գործընթացներ՝ psql հաճախորդի գործընթացը ձեր տեղական մեքենայի վրա և postgres սերվերի գործընթացը տվյալների բազայի հոսթի վրա: Սեղմելով CTRL-C-ն, ուղարկվում է SIGINT (ընդհատման ազդանշան) հատուկ psql հաճախորդի գործընթացին: Հաճախորդի անմիջական գործն է դադարեցնել սպասելը և վերադառնալ հուշումին, ինչն էլ անում է: Այնուամենայնիվ, սերվերը չունի հատուկ գիտելիքներ այս հաճախորդի կողմից ազդանշանի մասին: Իր տեսանկյունից հարցումը դեռ վավեր, գործող գործողություն է: Չեղարկման հարցումը պետք է փոխանցվի որպես առանձին, նոր հրահանգ:
«CTRL-C-ն psql-ում ավելի քիչ «դադարեցնել» կոճակ է, իսկ ավելի շատ՝ «խնդրում եմ անտեսել իմ նախորդ խնդրանքը» նշումը, որը դուք հանձնում եք զբաղված գրադարանավարին, երբ նրանք արդեն կիսով չափ են դեպի կույտերը»:
Չեղարկման արձանագրություն. երկրորդական հարցում
Այսպիսով, ինչպե՞ս է հարցումն իրականում չեղարկվում: SIGINT-ի հետ աշխատելուց հետո լավ վարք ունեցող psql հաճախորդը նախաձեռնում է PostgreSQL-ի չեղարկման պաշտոնական արձանագրությունը: Սա ներառում է լրիվ նոր կապ բացել սերվերին և ուղարկել հատուկ «չեղարկել հարցումը» հաղորդագրություն, որը պարունակում է գաղտնի բանալի, որը նույնականացնում է ձեր հարցումն իրականացնող հատուկ հետին պլանի գործընթացը: Այս հարցումը մշակվում է ցածր առաջնահերթությամբ, և անհապաղ հաջողության երաշխիք չկա: Այս բազմաքայլ, կրակի և մոռացության գործընթացն է պատճառը, որ վարքագիծն անուղղակի է թվում: Դա ուղղակի ընդհատում չէ. դա քաղաքավարի, ասինքրոն խնդրանք է, որն ուղարկվում է հետին ալիքով:
Օգտատիրոջ փորձի բացը և եզրային դեպքերը
Այս դիզայնը հանգեցնում է օգտվողների համար մի քանի շոշափելի շփման կետերի.
- Ըմբռնված անպատասխանություն. Դուք սեղմում եք CTRL-C, անմիջապես հետ եք ստանում ձեր հաղորդագրությունը, սակայն համակարգի ծանրաբեռնվածությունը մնում է բարձր, քանի որ սերվերը դեռ աշխատում է:
- Անորոշ արդյունք. Դուք անհապաղ հաստատում չունեք, եթե չեղարկելու հարցումը ստացվել կամ բավարարվել է սերվերի կողմից:
- Միացումից կախված ձախողում. Եթե սերվերը պատված է կամ չեղարկելու խնդրանքի նոր կապը ձախողվի, սկզբնական հարցման զինվորները միացված են անորոշ ժամանակով:
- Հոգեբանական անհամապատասխանություն. Համընդհանուր «աբորտ» հրամանը չի կատարում համաժամանակյա ընդհատում, ինչը խախտում է օգտատերերի սպասելիքները, որոնք ձևավորվել են հաշվողական միջավայրի այլ վայրերում:
Իրազեկ հիմքերի վրա հիմնվելով Mewayz-ի հետ
Ժամանակակից բիզնեսի օպերացիոն համակարգերը պետք է վերացնեն այս հիմքում ընկած բարդությունները՝ հարգելով դրանց սահմանափակումները: Mewayz-ի նման հարթակը, որը հանդես է գալիս որպես մոդուլային բիզնես OS, կներառի տվյալների բազայի փոխազդեցությունները կառավարվող ծառայության մոդուլներում: Օրինակ, 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 →