Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Tuhinga o te korero a Bruce Momjian 2020 "Te Wewete i te Kaiwhakahaere Maukati Postgres".

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

(Tuhipoka: Ko nga patai SQL katoa mai i nga kiriata ka taea te tiki mai i tenei hononga: http://momjian.us/main/writings/pgsql/locking.sql)

Kia ora! He rawe te noho mai ano ki Russia. E pouri ana ahau kaore i taea e au te haere mai i tera tau, engari i tenei tau he mahere nui maua ko Ivan. Te ti'aturi nei au kia maha ake au ki konei. He pai ki ahau te haere mai ki Russia. Ka toro atu ahau ki Tyumen, Tver. Ka tino koa ahau ka taea e au te haere ki enei taone nui.

Ko Bruce Momjian toku ingoa. Kei te mahi ahau i EnterpriseDB, kua neke atu i te 23 tau ahau e mahi tahi ana me Postgres. Kei Philadelphia, USA ahau e noho ana. E 90 ra taku haere i te tau. A e 40 pea nga huihuinga ka tae atu ahau. Taku Paetukutuku, kei roto nga kiriata ka whakaatuhia e ahau inaianei. Na reira, i muri i te huihuinga ka taea e koe te tango mai i taku paetukutuku whaiaro. E 30 pea nga whakaaturanga kei roto. He riipene ataata me te maha o nga whakaurunga rangitaki, neke atu i te 500. He rauemi tino mohio tenei. A, ki te hiahia koe ki tenei rauemi, ka tono ahau ki a koe ki te whakamahi.

He kaiako ahau, he ahorangi i mua i taku tiimata ki te mahi me te Postgres. A e tino koa ana ahau ka taea e au te korero atu ki a koe nga mea ka korerotia e ahau ki a koe. Koinei tetahi o aku whakaaturanga tino pai. A kei roto i tenei whakaaturanga 110 nga kiriata. Ka timata tatou ki te korero ki nga mea ngawari, a, hei te mutunga ka tino uaua te purongo, ka tino uaua.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

He korero kino tenei. Ehara te aukati i te kaupapa tino rongonui. E hiahia ana matou kia ngaro tenei ki tetahi wahi. He rite ki te haere ki te taote niho.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

  1. Ko te raka he raruraru mo te tini o nga tangata e mahi ana i roto i nga papaa raraunga me te maha o nga tukanga e whakahaere ana i te wa kotahi. Me aukati ratou. Arā, i tenei ra ka hoatu e ahau ki a koe nga matauranga taketake mo te aukati.
  2. Tauwhitinga ID. He wahanga hoha tenei o te whakaaturanga, engari me maarama.
  3. I muri mai ka korero tatou mo nga momo aukati. He waahanga miihini tenei.
  4. A kei raro nei ka hoatu e matou etahi tauira o te aukati. A ka tino uaua ki te maarama.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Me korero tatou mo te aukati.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

He tino uaua a tatou kupu. Tokohia o koutou e mohio ana no hea tenei waahanga? Tokorua nga tangata. No tetahi keemu e kiia nei ko Colossal Cave Adventure. He keemu rorohiko i runga i te tuhinga i nga tau 80, ki taku whakaaro. I reira me haere koe ki roto i te ana, ki roto i te labyrinth, ka huri te tuhinga, engari he rite tonu nga korero i ia wa. Koia taku mahara ki tenei keemu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na konei ka kite tatou i te ingoa o nga raka i tae mai ki a tatou i Oracle. Ka whakamahia e matou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I konei ka kite tatou i nga kupu e rangirua ana ahau. Hei tauira, SHARE UPDATE ECXLUSIVE. Next SHARE RAW ECXLUSIVE. Kia pono, kare i tino marama enei ingoa. Ka ngana taatau ki te whai whakaaro ki a raatau. Ko etahi kei roto ko te kupu "tuha", tona tikanga he wehe. Ko etahi kei roto te kupu "motuhake". Kei etahi o enei kupu e rua. E hiahia ana ahau ki te timata me pehea enei raka mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ko te kupu "whakauru" he mea tino nui hoki. A ko nga kupu "rarangi" he aho. Arā, tohatoha uru, tohatoha rarangi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko tetahi atu take e tika ana kia maarama i roto i te Postgres, karekau e taea e au te korero i roto i aku korero, ko MVCC. He whakaaturanga motuhake taku mo tenei kaupapa i runga i taku paetukutuku. A, ki te whakaaro koe he uaua tenei whakaaturanga, ko MVCC pea taku tino uaua. A, ki te hiahia koe, ka taea e koe te maataki i runga i te paetukutuku. Ka taea e koe te matakitaki i te ataata.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko tetahi atu mea me maarama tatou ko nga ID tauwhitinga. He maha nga tauwhitinga kaore e taea te mahi me te kore he tohu motuhake. Na kei konei he whakamarama he aha te mahi hokohoko. E rua nga punaha nama tauwhitinga a Postgres. E mohio ana ahau ehara tenei i te otinga tino ataahua.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kia mahara ano ka tino uaua ki te maarama nga kiriata, na ko te mea e tohuhia ana ki te whero ko nga mea e tika ana kia aro koe.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

http://momjian.us/main/writings/pgsql/locking.sql

Kia kite tatou. Ko te tau tauwhitinga kua tohua ki te whero. Ko te mahi SELECT pg_back ka whakaatuhia ki konei. Ka whakahokia mai taku tauwhitinga me te ID tauwhitinga.

Ko tetahi atu mea, ki te pai koe ki tenei whakaaturanga me te hiahia ki te whakahaere i runga i to papaunga raraunga, katahi ka taea e koe te haere ki tenei hononga ma te mawhero ka tango i te SQL mo tenei whakaaturanga. Ka taea e koe te whakahaere noa i roto i to PSQL ka noho tonu te whakaaturanga katoa ki to mata. Karekau he putiputi, engari ka kitea e tatou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I tenei keehi ka kite tatou i te ID tauwhitinga. Koinei te nama i hoatu e matou ki a ia. A tera ano tetahi momo ID tauwhitinga kei Postgres, e kiia ana ko te ID tauwhitinga mariko

A me mohio tatou ki tenei. He mea tino nui tenei, ki te kore e kore e maarama taatau ki te raka ki te Postgres.

Ko te ID tauwhitinga mariko he ID tauwhitinga karekau he uara pumau. Hei tauira, ki te whakahaere ahau i te whakahau SELECT, karekau pea au e huri i te papaunga raraunga, kaore au e kati i tetahi mea. Na, ka whakahaerea e matou he TIKANGA ngawari, kaore matou e tuku i taua tauwhitinga he ID tohe. Ka hoatu noa e matou he ID mariko ki a ia.

Na tenei ka whakapai ake i nga mahi a Postgres, ka whakapai ake i nga mahi horoi, no reira e rua nga tau o te ID tauwhitinga mariko. Ko te tau tuatahi i mua i te rītaha ko te ID whakamuri. A kei te taha matau ka kitea he porotiti noa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

No reira, ki te whakahaere au i tetahi tono, e kii ana ko te ID tuara he 2.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te whakahaere au i nga raupapa o enei whakawhitinga, ka kite tatou ka piki ake te kaute i nga wa katoa ka whakahaere au i tetahi patai. Hei tauira, ka whakahaere ahau i te patai 2/10, 2/11, 2/12, etc.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kia maumahara e rua nga pou kei konei. I te taha maui ka kite tatou i te ID tauwhitinga mariko - 2/12. A kei te taha matau he ID tauwhitinga pumau. A kua takoto kau tenei mara. A kaore tenei tauwhitinga e whakarereke i te paataka raraunga. Na e kore ahau e hoatu he ID tauwhitinga pumau.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I taku whakahaerenga i te tono tātari ((ANALYZE)), ko taua patai ano ka homai he ID tauwhitinga tuturu. Titiro pehea te rereke o tenei mo tatou. Kaore au i tenei ID i mua, engari inaianei kei a au.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

No reira he tono ano, he hokohoko ano. Ko te tau tauwhitinga mariko ko 2/13. A, ki te tono ahau mo te ID tauwhitinga tohe tonu, katahi ka whakahaere au i te patai, ka whiwhi ahau.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, kotahi ano te wa. Kei a matou he ID tauwhitinga mariko me te ID tauwhitinga pumau. Me mohio noa ki tenei waahanga kia mohio ai koe ki te whanonga Postgres.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka neke tatou ki te waahanga tuatoru. I konei ka hikoi noa tatou i nga momo raka rereke i Postgres. Ehara i te mea tino whakamere. Ko te waahanga whakamutunga ka tino pai ake. Engari me whai whakaaro tatou ki nga mea matua, no te mea karekau tatou e mohio ki nga mea ka puta i muri mai.

Ka haere tatou i tenei wahanga, ka titiro tatou ki ia momo raka. A ka whakaatu ahau ki a koe i nga tauira mo te whakaurunga, me pehea te mahi, ka whakaatu ahau ki a koe etahi patai ka taea e koe te whakamahi ki te kite i te mahi maukati i Postgres.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Hei waihanga uiui me te kite he aha te mea kei te Postgres, me tuku te patai ki te tirohanga punaha. I tenei take, ka tohua te pg_lock ki te whero. Ko te Pg_lock he ripanga punaha e whakaatu ana he aha nga raka e whakamahia ana i tenei wa i Postgres.

Heoi, he tino uaua ki ahau te whakaatu i a koe pg_lock na te mea he tino uaua. Na ka hanga e ahau he tirohanga e whakaatu ana i nga pg_locks. A he mahi ano mo au ka taea e au te maarama ake. Arā, ka whakakorehia aku raka, taku ake huihuinga, me etahi atu. He SQL paerewa noa ka taea e koe te whakaatu pai atu ki a koe nga mea kei te haere.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko tetahi atu raruraru he tino whanui tenei tirohanga, na me hanga e au tetahi tuarua - lockview2.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian A ka whakaatu mai i etahi atu pou mai i te ripanga. A ko tetahi e whakaatu ana i nga toenga o nga pou. He tino uaua tenei, no reira ka ngana ahau ki te whakaatu i te mea ka taea.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka hanga e matou he ripanga ko Lockdemo. Na ka hanga e matou tetahi raina ki reira. Koinei ta matou tepu tauira. A ka hangaia e matou etahi waahanga hei whakaatu ki a koe i nga tauira raka.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, kotahi rarangi, kotahi pou. Ko te momo raka tuatahi e kiia ana ko ACCESS SHARE. Koinei te aukati iti rawa atu. Ko te tikanga karekau e taupatupatu ki etahi atu raka.

A, ki te hiahia maatau ki te tautuhi i tetahi raka, ka whakahaerehia e matou te whakahau "tepu maukati". A ka tino karaka, ara, i te aratau ACCESS SHARE ka whakarewahia e matou te tepu raka. A, ki te whakahaere ahau i te PSQL i muri, ka timata ahau i te wahanga tuarua mai i taku waahi tuatahi i tenei huarahi. Arā, ka aha ahau ki konei? Ka haere ahau ki tetahi atu huihuinga me te kii atu "whakakitea mai ki ahau te lockview mo tenei tono." Na konei kei a au a AccessShareLock i tenei ripanga. Koia tonu taku i tono ai. A e ki ana ia kua whakaritea te poraka. Tino ngawari.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I tua atu, ki te titiro tatou ki te pou tuarua, karekau he mea kei reira. Kei te takoto kau.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te whakahaere ahau i te whakahau "KORERO", koinei te huarahi tino (marama) ki te tono AccessShareLock. Na ka tukuna e ahau taku tepu ka whakahaere i te patai ka whakahokia e te patai nga rarangi maha. Na i roto i tetahi o nga rarangi ka kite tatou i te AccessShareLock. Na, ka karanga a SELECT ki a AccessShareLock i runga i te tepu. A karekau e taupatupatu ki tetahi mea na te mea he raka taumata iti.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

He aha mena ka whakahaerehia e au he SELECT ka toru nga ripanga rereke? I mua kotahi noa te tepu e whakahaere ana ahau, inaianei e toru au: pg_class, pg_namespace me pg_attribute.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Inaianei ka titiro au ki te patai, ka kite ahau i te 9 AccessShareLocks i roto i nga ripanga e toru. He aha? E toru nga ripanga kua tohua ki te puru: pg_attribute, pg_class, pg_namespace. Engari ka taea ano e koe te kite ko nga tohu tohu katoa kua tautuhia ma enei ripanga kei a raatau ano te AccessShareLock.

A he raka tenei kaore e taupatupatu ki etahi atu. Ko nga mea katoa he aukati i a maatau ki te tautuhi ano i te tepu i a maatau e kowhiri ana. Ka whai tikanga. Arā, ki te kowhiria he ripanga, ka ngaro i taua wa, ka he tenei, na Ko te AccessShare he raka taumata iti e kii mai ana "kaua e tuku i tenei tepu i a au e mahi ana". Ko te tikanga, koinei anake tana mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

HAERE HAERE - He paku rereke tenei raka.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka tango tatou i tetahi tauira. TITIROhia te tikanga tiritiri haupae mo te maukati takitahi ia rarangi. Ma tenei ara e kore e taea e tetahi te whakakore, te whakarereke ranei i a maatau e matakitaki ana.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce MomjianNa he aha te mahi SHARE LOCK? Ka kite matou ko te ID tauwhitinga ko 681 mo SELECT. A he mea whakamere tenei. I aha i konei? Ko te wa tuatahi ka kite tatou i te nama kei roto i te mara "Maukati". Ka tangohia e matou te ID tauwhitinga me te kii kei te aukati i te aratau motuhake. Ko nga mea katoa e kii ana he rarangi taku e mau ana i tetahi waahi o te teepu. Engari kaore ia e kii ana kei hea. Ka titiro tatou ki tenei i roto i te taipitopito i muri iti.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I konei e kii ana matou ko te raka e whakamahia ana e matou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, he raka motuhake e kii ana he mea motuhake. A, ki te mukua e koe tetahi rarangi o tenei ripanga, katahi ka puta, ka kite koe.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko SHARE EXCLUSIVE he raka roa ake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Koinei te tono tātari (ANALYZE) ka whakamahia.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

KAUPAPA KAUPAPA - ka taea e koe te maukati i te aratau tiri.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka taea hoki e koe te hanga i tetahi tohu motuhake. A kei reira koe e kite ai i te SHARE LOCK, he wahanga o ratou. Na ka maukati i te teepu, ka makahia he raka tiritiri ki runga.

Ma te taunoa, SHARE LOCK ki runga tepu te tikanga ka taea e etahi atu te panui te ripanga, engari kaore e taea e tetahi te whakarereke. A koinei tonu te mea ka tupu ina hanga e koe he taurangi ahurei.

Mena ka waihangahia e au he taurangi motuhake i te wa kotahi, katahi ka rere ke atu taku momo raka na te mea, e mahara ana koe, ma te whakamahi i nga taupū i te wa kotahi ka whakaitihia te whakaritenga maukati. A, ki te whakamahia e au he raka noa, he taupū noa, katahi ka aukati ahau i te tuhi ki te taupū ripanga i te wa e hangaia ana. Mena ka whakamahi au i te taurangi i te wa kotahi, me whakamahi au i tetahi momo raka rereke.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

HAERE HAERE KORERO – ka taea ano te tautuhi (marama).

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka taea ranei e tatou te hanga ture, ara, tango i tetahi keehi motuhake ka whakamahia.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko te tikanga maukati motuhake e kore e taea e tetahi atu te huri te tepu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I konei ka kite tatou i nga momo raka rereke.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

ACCESS EXCLUSIVE, hei tauira, he tono aukati. Hei tauira, ki te mahi koe CLUSTER table, katahi ka kore e taea e tetahi te tuhi ki reira. Na ka kati i te teepu ake, engari ano hoki nga tohu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Koinei te wharangi tuarua o te aukati ACCESS EXCLUSIVE, i reira ka kite tatou i nga mea e paraka ana i te ripanga. Ka kati i nga rarangi tepu takitahi, he mea whakamere.

Koia nga korero taketake katoa i hiahia ahau ki te tuku. I korero matou mo nga raka, mo nga ID tauwhitinga, i korero matou mo nga ID tauwhitinga mariko, mo nga ID tauwhitinga tuturu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na inaianei ka haere maatau etahi tauira aukati. Koinei te waahanga tino pai. Ka titiro tatou ki nga keehi tino pai. A ko taku whainga i roto i tenei whakaaturanga kia pai ake to maarama ki nga mahi a Postgres ka ngana ana ki te aukati i etahi mea. Ki taku whakaaro he tino pai ia ki te aukati i nga waahanga.

Kia titiro tatou ki etahi tauira motuhake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka timata tatou ki nga ripanga me te rarangi kotahi ki te tepu. Ina whakauruhia e au tetahi mea ka whakaatuhia e au te ExclusiveLock, Transaction ID me ExclusiveLock ki te tepu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka aha mena ka whakauruhia e ahau etahi atu rarangi e rua? Inaianei e toru nga rarangi o ta matou tepu. Na ka whakauruhia e ahau tetahi rarangi ka riro tenei hei putanga. A, ki te whakauruhia e ahau etahi atu rarangi e rua, he aha te ahua o tera? He mea rereke kei konei na te mea kua taapirihia e au nga rarangi e toru ki tenei tepu, engari e rua tonu aku rarangi kei te tepu raka. Na koinei te tino whanonga a Postgres.

He maha nga tangata e whakaaro ana mena ka maukati koe i nga rarangi 100 i roto i te putunga, katahi ka hiahia koe ki te hanga i nga urunga raka 100. Mena ka poraka ahau i nga rarangi 1 i te wa kotahi, ka hiahia ahau kia 000 nga patai penei. A ki te hiahia ahau kia kotahi miriona, piriona ranei hei aukati. Engari ki te mahi tatou i tenei, kare e tino pai. Mena kua whakamahia e koe he punaha e hanga ana i nga urunga aukati mo ia rarangi takitahi, katahi ka kite koe he uaua tenei. Na te mea me tautuhi tonu koe i tetahi ripanga raka ka puhake, engari kaore a Postgres e mahi.

A ko te mea nui mo tenei kiriata ko te whakaatu marama he punaha ano kei roto i te MVCC e kati ana i nga rarangi takitahi. Na, ka maukatihia e koe nga piriona rarangi, kaore a Postgres e hanga i te piriona whakahau maukati motuhake. A he tino pai tenei ki te hua.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Me pehea te whakahou? Kei te whakahōu ahau i te rarangi inaianei, ka kite koe e rua nga mahi rereke i te wa kotahi. I maukatihia te teepu i te wa ano, engari i maukati ano te taurangi. A me raka e ia te taurangi na te mea he here motuhake kei runga i tenei teepu. A kei te pirangi matou kia kaua e whakarereketia e te tangata, no reira ka aukatihia e matou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka aha mena ka hiahia ahau ki te whakahou i nga rarangi e rua? Na ka kite tatou he pera ano tana mahi. E rua nga whakahōutanga ka mahia e matou, engari he rite tonu te maha o nga raina raka.

Mena kei te whakaaro koe me pehea te mahi a Postgres, me whakarongo koe ki aku korero mo MVCC ki te ako me pehea te tohu a-roto a Postgres i enei rarangi ka huri. A he huarahi ano ta Postgres e mahi ana i tenei, engari kaore i te mahi i te taumata raka tepu, ka mahia i te taumata iti me te pai ake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka aha mehemea ka hiahia au ki te muku i tetahi mea? Mena ka mukua e au, hei tauira, kotahi rarangi me aku e rua tonu nga whakaurunga aukati, a ahakoa ka pirangi au ki te muku katoa, kei reira tonu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, hei tauira, e hiahia ana ahau ki te whakauru i nga rarangi 1, katahi ka mukua, ka taapirihia ranei nga rarangi 000, katahi ko nga rarangi takitahi ka taapirihia e au, ka whakarerekehia ranei, kaore i tuhia ki konei. Ka tuhia ki te taumata iti i roto i te raupapa ake. A i te wa o te korero a te MVCC i korero au mo tenei. Engari he mea tino nui ina wetewete koe i nga raka kia mohio kei te raka koe i te taumata tepu me te kore koe e kite me pehea te tuhi i nga rarangi takitahi ki konei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Me pehea te aukati marama?

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Mena ka paatohia e au te whakamaamata, e rua nga rarangi kua maukati. A, ki te kowhiria katoatia e au ka paato "whakahou i nga waahi katoa," ka rua tonu aku rekoata aukati.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kaore matou e hanga rekoata motuhake mo ia rarangi takitahi. Na te mea ka heke te hua, ka nui rawa pea. A ka kitea pea tatou i roto i tetahi ahuatanga kino.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ko te mea ano, ki te tiritiri taatau, ka taea e taatau katoa te mahi 30 nga wa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka whakahokia e matou to maatau tepu, ka mukua nga mea katoa, ka whakauru ano i tetahi rarangi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko tetahi atu whanonga e kitea ana e koe i roto i nga Postgres e tino mohiotia ana, e hiahiatia ana ko te mahi ka taea e koe te whakahou, te whiriwhiri ranei. A ka taea e koe te mahi i tenei i te wa ano. A ko te kowhiri kaore e aukati i te whakahou me te mea ano i te huarahi rereke. Ka kii atu matou ki te kaipanui kia kaua e aukati i te kaituhi, kaore hoki te kaituhi i aukati i te kaipanui.

Ka whakaatu ahau i tetahi tauira o tenei. Ka whiriwhiri ahau inaianei. Ka mahia e matou te INSERT. Na ka kite koe - 694. Ka taea e koe te kite i te ID o te tauwhitinga i mahia tenei whakauru. Na ka pera te mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te titiro au ki taku ID o muri inaianei, kua 695 inaianei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ka kite ahau i te 695 e puta ana i taku teepu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te whakahou ahau ki konei penei, ka whiwhi ahau i tetahi keehi rereke. I tenei keehi, he raka motuhake a 695, he rite tonu te ahua o te whakahou, engari kaore he tautohetohe i waenga i a raatau, he mea rerekee.

A ka kite koe kei runga ko ShareLock, kei raro ko ExclusiveLock. Na ka puta nga mahi e rua.

A me whakarongo koe ki taku korero i MVCC kia mohio ai koe ka pewhea tenei. Engari he tauira tenei ka taea e koe te mahi i te wa kotahi, ara, me mahi i te SELECT me te UPDATE i te wa kotahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Me tautuhi ano ka mahi i tetahi atu mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Mena ka ngana koe ki te whakahaere i nga whakahoutanga e rua i te wa kotahi i runga i te rarangi kotahi, ka aukatihia. A, kia maumahara, i kii ahau kaore te kaipanui e aukati i te kaituhi, kaore hoki te kaituhi e aukati i te kaipanui, engari ma tetahi kaituhi e poraka tetahi atu kaituhi. Arā, e kore e taea e matou kia rua nga tangata ki te whakahou i te rarangi kotahi i te wa kotahi. Me tatari koe kia mutu ra ano tetahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A hei whakaatu i tenei, ka titiro ahau ki te ripanga Lockdemo. A ka titiro tatou ki tetahi rarangi. Mo ia tauwhitinga 698.

Kua whakahoutia e matou tenei ki te 2. Ko 699 te whakahou tuatahi. A i angitu, kei roto ranei i te tauwhitinga e tatari ana me te tatari mo taatau ki te whakaū, ki te whakakore ranei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Engari titiro ki tetahi atu mea - 2/51 ko ta matou tauwhitinga tuatahi, ko ta matou huihuinga tuatahi. Ko te 3/112 te tuarua o nga tono i puta mai i runga i whakarereke i taua uara ki te 3. A, ki te kite koe, ka raka te runga ake, ko te 699. Engari kaore a 3/112 i tuku i te raka. E kii ana te tīwae Lock_mode he aha tana e tatari ana. Ko te tumanako 699. A, ki te titiro koe kei hea te 699, kei runga ake. A he aha te mahi o te wahanga tuatahi? I hanga e ia he raka motuhake mo tana ake ID tauwhitinga. Koinei te mahi a Postgres. Ka porakahia e ia tana ake ID tauwhitinga. A, ki te hiahia koe ki te tatari mo tetahi ki te whakaū, ki te whakakore ranei, me tatari koe i te wa e tatari ana te tauwhitinga. A koinei te take ka kite tatou i tetahi raina ke.

Kia titiro ano tatou. Kei te taha maui ka kite matou i to maatau ID tukatuka. I te rua o nga pou ka kite matou i ta matou ID tauwhitinga mariko, a i te tuatoru ka kite matou i te momo_lock_type. He aha te tikanga o tenei? Ko te mea nui e kii ana kei te aukati i te ID tauwhitinga. Engari kia mahara ko nga rarangi katoa o raro he hononga. Na e rua nga momo raka kei runga i te tepu. He raka hononga. Na, kei reira te transactionid blocking, kei reira koe e poraka ana i a koe ano, koira te mea ka tupu i te rarangi tuatahi, i raro rawa ranei, kei reira te transactionid, kei reira ta tatou tatari mo te 699 kia mutu tana mahi.

Ka kite ahau ka ahatia i konei. Na konei e rua nga mea ka puta i te wa kotahi. Kei te titiro koe ki tetahi raka ID tauwhitinga i te rarangi tuatahi e maukati ana. Na ka aukati ia i a ia ano kia tatari te tangata.

Ki te titiro koe ki te rarangi tuaono, he rite tonu te urunga ki te rarangi tuatahi. Na reira ka aukatihia te whakawhitinga 6. Ko te 699 kei te kati ano. Na i te rarangi o raro ka kite koe kei te tatari matou mo te 700 kia mutu tana mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A i roto i te momo_raka, tuple ka kite koe i nga tau.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka kite koe he 0/10. A koinei te nama wharangi, me te taapiri hoki o tenei rarangi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka kite koe ka 0/11 ka whakahōuhia.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Engari ko te mea pono ko 0/10, na te mea he tatari mo tenei mahi. Ka whai waahi taatau ki te kite koinei te raupapa e tatari ana ahau ki te whakau.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka oti te whakapumau me te pehi i te commit, ka mutu te whakahou, koinei te mea ka whiwhi ano tatou. Ko te Transaction 700 anake te raka, kare e tatari mo tetahi atu na te mea i mahia. Ka tatari noa kia oti te tauwhitinga. Kia pau te 699, kare e tatari mo tetahi mea. Inaianei e kii ana te tauwhitinga 700 he pai nga mea katoa, kei a ia nga raka katoa e hiahiatia ana i runga i nga teepu whakaae katoa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ki te whakararu ake i tenei mea katoa, ka hangahia e matou tetahi atu tirohanga, ma tenei wa ka whakawhiwhia ki a matou he hierarchy. Kaore au e tumanako ka marama koe ki tenei tono. Engari ma tenei ka maarama ake te tirohanga mo nga mea kei te haere.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

He tirohanga recursive tenei kei tetahi atu waahanga. Na ka whakahoki ano i nga mea katoa. Kia whakamahi tatou i tenei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

He aha mena ka mahia e matou e toru nga whakahou tukutahi me te kii kua toru te rarangi inaianei. A ka huri tatou i te 3 ki te 4.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na konei ka kite tatou i te 4. Me te tauwhitinga ID 702.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka huri au i te 4 ki te 5. Me te 5 ki te 6, me te 6 ki te 7. A ka whakaraina e au etahi tangata ka tatari kia mutu tenei mahi kotahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka marama nga mea katoa. He aha te rarangi tuatahi? Ko 702 tenei. Ko te ID tauwhitinga tenei i whakatakoto tuatahi ai tenei uara. He aha te mea kua tuhia ki taku rarangi Whakamana? He tohu aku f. Ko enei aku whakahou kaore e taea te whakaae (5, 6, 7) na te mea kei te tatari matou kia mutu te tauwhitinga ID 702. I reira kei a matou te aukati ID tauwhitinga. Na tenei ka puta mai nga raka ID tauwhitinga e 5.

A, ki te titiro koe ki te 704, ki te 705, kaore ano kia tuhia ki reira, no te mea kare ano ratou i te mohio he aha nga mahi. Ka tuhi noa ratou kaore ratou i te mohio ki nga mea kei te tupu. A ka moe noa ratou na te mea e tatari ana kia oti te tangata ka oho ake ina whai waahi ki te huri rarangi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko te ahua tenei. E kitea ana kei te tatari katoa ratou mo te rarangi tekau ma rua.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Koinei ta matou i kite i konei. Anei te 0/12.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, ka whakaaetia te tauwhitinga tuatahi, ka kite koe i konei me pehea te mahi a te hierarchy. Na inaianei kua marama nga mea katoa. Ka ma katoa ratou. Na kei te tatari tonu ratou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Anei te mahi. 702 e mahi ana. Inaianei kua whiwhi a 703 i tenei raka rarangi, katahi ka timata te 704 ki te tatari mo te 703 ki te mahi. A kei te tatari ano te 705 mo tenei. A ka oti enei mea katoa, ka tahia ratou ano. A e hiahia ana ahau ki te tohu kei te rarangi katoa. A he tino rite tenei ki tetahi ahuatanga i roto i te waahi waka i te wa e tatari ana te katoa mo te motuka tuatahi. Ka tu te motoka tuatahi ka tu te katoa ki te rarangi roa. Katahi ka neke, katahi ka taea e te waka o muri mai te haere whakamua ka tiki i tana poraka, aha atu.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te mea kaore i tino uaua tenei ki a koe, katahi ka korero matou ki a koe mo nga kati. Kare au e mohio ko wai o koutou kua tutaki ki a ratou. He raruraru noa tenei i roto i nga punaha putunga raraunga. Engari ko nga kati ko te wa e tatari ana tetahi huihuinga mo tetahi atu huihuinga hei mahi i tetahi mea. A i tenei wa kei te tatari ano tetahi huihuinga mo te huihuinga tuatahi ki te mahi i tetahi mea.

A, hei tauira, ki te mea a Ivan: "Homai tetahi mea ki ahau," ka ki atu ahau: "Kao, ka hoatu noa e ahau ki a koe mena ka homai e koe tetahi atu mea." Na ka mea ia, "Kao, e kore e hoatu e ahau ki a koe ki te kore koe e homai ki ahau." Na ka mutu taatau i roto i te waahi kati. E tino mohio ana ahau e kore a Ivan e mahi i tenei, engari kei te mohio koe ki te tikanga e rua nga tangata e hiahia ana ki te tiki i tetahi mea, kaore ano kia rite ki te tuku kia hoatu ra ano e tera atu ta raua e hiahia ana. A kaore he otinga.

A ko te mea nui, me mohio to papaunga raraunga i tenei. Na ka hiahia koe ki te whakakore, ki te kati ranei i tetahi o nga waahi, na te mea ka noho tonu ki reira mo ake tonu atu. A ka kite tatou i roto i nga papaa raraunga, ka kite tatou i nga punaha whakahaere. A, ki nga waahi katoa he rite tonu nga mahi, ka puta tenei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na inaianei ka whakauruhia e matou nga kati e rua. Ka hoatu e matou te 50 me te 80. I te rarangi tuatahi, ka whakahou ahau mai i te 50 ki te 50. Ka whiwhi ahau i te nama tauwhitinga 710.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka huri au i te 80 ki te 81, me te 50 ki te 51.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A koinei te ahua o te ahua. Na ko te 710 kua araia tetahi rarangi, kei te tatari a 711 mo te whakau. I kite matou i tenei i to maatau whakahou. Ko 710 te rangatira o ta maatau raupapa. A ka tatari a 711 mo te 710 kia oti te mahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A e kii ana ano kei te rarangi ka puta nga kati. Na konei ka timata te ahua rereke.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Inaianei kei te whakahouhia e matou te 80 ki te 80.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na konei ka timata nga kati. Kei te tatari a 710 mo te whakautu mai i a 711, kei te tatari a 711 mo 710. A e kore e mutu pai tenei. A kaore he huarahi ki waho o tenei. A ka tatari ratou he whakautu mai i a raatau ano.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ka timata noa ki te whakaroa i nga mea katoa. A kaore matou e pirangi ki tera.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A he huarahi ano a Postgres ki te kite ka pa ana tenei. A, ka tupu tenei, ka whiwhi koe i tenei hapa. A mai i tenei e marama ana ko te mahi pera me tera e tatari ana mo te KARAKA SHARE mai i tetahi atu mahi, ara, ka aukatihia e te mahinga 711. A ko taua mahi e tatari ana kia tukuna he raka SHARE i runga i taua ID tauwhitinga, a kua aukatia e taua mahi. Na reira, he ahua mate kei konei.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

E toru nga ara kati? Ka taea ranei? Ae.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka whakauruhia enei tau ki roto i te tepu. Ka huri matou i te 40 ki te 40, ka mahi matou i te aukati.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka huri tatou i te 60 ki te 61, 80 ki te 81.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka huri tatou i te 80 katahi ka pupuhi!

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na 714 kei te tatari inaianei mo te 715. Kei te tatari te 716 mo ​​te 715th. A kaore e taea te mahi mo taua mea.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kua kore e rua nga tangata i konei, e toru nga tangata kei konei. Kei te pirangi ahau ki tetahi mea mai i a koe, kei te pirangi tenei ki tetahi mea mai i te tangata tuatoru, kei te pirangi ano te tangata tuatoru ki ahau. A, ka mutu taatau ki te tatari e toru nga huarahi na te mea kei te tatari katoa tatou mo tera atu ki te whakaoti i nga mea e tika ana kia mahia.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A e mohio ana a Postgres ko tehea rarangi ka puta tenei. Na ka hoatu ki a koe te karere e whai ake nei, e whakaatu ana he raru koe e toru nga whakaurunga e aukati ana tetahi ki tetahi. A kaore he here i konei. Koinei pea te take e 20 nga urunga e aukati ana tetahi ki tetahi.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ko te raruraru e whai ake nei he raupapa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ki te raka rangatū motuhake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka hoki ano ki te 719. He tino noa tona putanga.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ka taea e koe te paato ki te hanga i te tauwhitinga mai i te raupapa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka mohio koe he momo momo raka SA kei a koe - ko te tikanga ka taea te raupapa.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, he momo raka hou ta matou ko SARieadLock te ingoa, he raka rangatū ka taea e koe te whakauru i nga rangatū.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Ka taea hoki e koe te whakauru i nga tohu tohu motuhake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

I tenei ripanga kei a matou nga tohu tohu motuhake.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na, ki te hoatu e ahau te nama 2 ki konei, na he 2 taku. Engari ki runga rawa, ka whakauruhia e ahau tetahi atu 2 ki roto. Ka kite koe he raka motuhake to 721. Inaianei kei te tatari a 722 mo te 721 kia oti tana mahi na te mea kare e taea e ia te whakauru i te 2 kia mohio ra ano ka ahatia te 721.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te mahi tatou i te tauwhitinga.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kei konei tatou 723.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A, ki te tiakina e matou te tohu ka whakahouhia, ka whiwhi matou i tetahi ID tauwhitinga hou. He tauira ano tenei o te whanonga me mohio koe. Mena ka whakahokia mai e matou tenei, ka haere te ID tauwhitinga. 724 kei te wehe atu. Inaianei kei a matou 725.

Na he aha taku e ngana ana ki konei? Kei te ngana ahau ki te whakaatu ki a koe etahi tauira o nga raka rereke ka kitea pea e koe: ahakoa he raka raupapa, he SAVEPOINT ranei, he momo raka rereke ka puta ki te ripanga raka.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Koinei te hanga o nga raka marama (marama) he pg_advisory_lock.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na ka kite koe kua whakarārangihia te momo aukati hei tohutohu. Na konei e kii ana "tohutohu" i te whero. A ka taea e koe te aukati penei me pg_advisory_unlock.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Hei whakamutunga, e hiahia ana ahau ki te whakaatu ki a koe i tetahi atu mea whakamiharo. Ka hanga e ahau tetahi atu tirohanga. Engari ka uru atu ahau ki te ripanga pg_locks me te ripanga pg_stat_activity. A he aha ahau i hiahia ai ki te mahi i tenei? Na te mea ka taea e au te titiro me te kite i nga huihuinga katoa o naianei me te kite i te ahua o nga raka e tatari ana ratou. A he tino rawe tenei ina whakahiatotia e matou te tepu raka me te tepu patai.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Na konei ka hangaia e matou te pg_stat_view.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ka whakahouhia e matou te rarangi kotahi. Na konei ka kite tatou i te 724. Katahi ka whakahōu i ta tatou rarangi ki te toru. A he aha taau e kite nei i konei inaianei? He tono enei, ara, ka kite koe i te rarangi katoa o nga tono kua whakarārangihia ki te taha maui. Na i te taha matau ka kite koe i nga aukati me nga mea ka hangaia e ratou. A ka marama ake ki a koe kia kore ai koe e hoki ki ia wahanga i ia wa ka kite mena ka hiahia koe ki te whakauru atu, kaore ranei. Ka mahia e ratou mo tatou.

Ko tetahi atu waahanga e tino whai hua ana pg_blocking_pids. Kaore pea koe i rongo mo ia. He aha tana mahi? Ka taea e maatau te korero mo tenei wahanga 11740 he aha nga ID tukanga motuhake e tatari ana. A ka kite koe kei te tatari a 11740 mo te 724. Ko te 724 kei runga rawa atu. A ko 11306 to ID tukanga. Ko te tikanga, ka haere tenei mahi ki roto i to tepu raka. A e mohio ana ahau he iti te uaua, engari kei te mohio koe. Ko te tikanga ka haere tenei mahi i roto i tenei tepu raka ka ngana ki te rapu kei hea te ID tukanga ka hoatu nga raka e tatari ana. A ka ngana ano hoki ki te whakaaro ko wai te tukanga ID te tukanga e tatari ana mo te raka. Na ka taea e koe te whakahaere i tenei mahi pg_blocking_pids.

A ka tino whai hua tenei. I tapirihia e matou tenei i roto i te putanga 9.6, no reira he 5 noa nga tau o tenei ahuatanga, engari he tino whai hua. A he pera ano mo te tono tuarua. E whakaatu ana i nga mea e tika ana kia kite tatou.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Koinei taku i hiahia ki te korero ki a koe. Ka rite ki taku i whakaaro ai, i pau katoa o matou waa na te mea he maha nga kiriata. A kei te waatea nga kiriata mo te tango. Ka mihi au ki a koe mo to taenga mai. Ki taku mohio ka koa koe ki nga toenga o te huihuinga, ka nui te mihi!

Nga Utai:

Hei tauira, mena kei te ngana ahau ki te whakahou i nga rarangi, kei te ngana te wahanga tuarua ki te muku i te ripanga katoa. Ki taku mohio, me waiho he mea penei i te raka whakaaro. He penei ano kei Postgres?

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

Kia hoki ki te timatanga. Ka mahara pea koe ka mahi koe i tetahi mea, hei tauira ka mahia e koe he SELECT, ka tukuna e matou he AccessShareLock. Na tenei ka aukati i te tukunga o te tepu. Na, ki te hiahia koe, hei tauira, ki te whakahou i tetahi rarangi i roto i te ripanga, ki te whakakore ranei i tetahi rarangi, kaore e taea e tetahi te whakakore i te ripanga katoa i te wa ano na te mea kei te pupuri koe i tenei AccessShareLock ki runga i te ripanga katoa me te rarangi. A ka oti ana koe, ka taea e ratou te whakakore. Engari ka huri tika koe i tetahi mea ki reira, kare e taea e ratou.

Me mahi ano. Me neke atu ki te tauira whakakore. A ka kite koe me pehea te raka motuhake i te rarangi kei runga ake i te tepu katoa.

Ka rite tenei ki te raka motuhake, tika?

Ae, he rite te ahua. Kei te mohio ahau ki taau e korero nei. E kii ana koe mena ka mahia e au he SELECT ka whai ahau he ShareExclusive katahi ka mahia e au hei Row Exclusive, ka raru tena? Engari ko te mea miharo kaore tenei i te raru. He rite tenei ki te whakanui ake i te tohu raka, engari ko te tikanga he raka taku hei aukati i te mukunga. Na inaianei, ka kaha ake taku raka, ka aukati tonu te whakakore. Na ehara i te mea kei te piki ahau. Arā, i aukati i te tupu i te wa i te taumata iti rawa atu, no reira ka hikitia e au tona taumata ka aukati tonu te whakakore i te ripanga.

Kei te mohio ahau ki taau e korero nei. Karekau he take piki raka i konei, kei te ngana koe ki te tuku i tetahi raka hei whakauru i tetahi raka kaha ake. I konei ka whakapiki noa i tenei aukati puta noa i te poari, kia kore ai e puta he raruraru. Engari he patai pai. Ka nui te mihi ki a koe mo te patai i tenei!

Me aha tatou kia kore ai e raru i te wa e maha nga huihuinga, he maha nga kaiwhakamahi?

Ka kite aunoa a Postgres i nga ahuatanga kati. A ka whakakore aunoa i tetahi o nga waahi. Ko te huarahi anake hei karo i te aukati mate ko te aukati i nga tangata i roto i te raupapa kotahi. Na, ka titiro koe ki to tono, ko te nuinga o nga wa ko te take mo nga kati... Me whakaaro ake e hiahia ana ahau ki te aukati i nga mea rereke e rua. Ko tetahi tono ka maukati te ripanga 1, ko tetahi atu tono ka kati i te 2, katahi ko te ripanga 1. A ko te huarahi ngawari ki te karo i nga kati ko te titiro ki to tono me te ngana ki te whakarite kia rite tonu te raupapa o te raka puta noa i nga tono katoa. Na tenei ka whakakore i te 80% o nga raruraru, na te mea ka tuhia e nga momo tangata enei tono. A, ki te aukati koe i a raatau i roto i te raupapa kotahi, kaore koe e pa ki tetahi ahuatanga mate.

Ka nui te mihi ki a koe mo to mahi! I korero koe mo te korehau ki tonu, a, ki te tika taku maarama, ka whakakorikorihia e te marua ki tonu te raupapa o nga rekoata i roto i te rokiroki motuhake, na reira ka mau tonu nga rekoata o naianei kia kore e rereke. He aha te take e mau ai te urunga raka motuhake me te aha i taupatupatu ai ki nga mahi tuhi?

He patai pai tena. Ko te take ka mau te korehau ki te tepu. A kei te hangaia e matou he putanga hou o te tepu. A ka hou te tepu. Te ahua nei he ahua hou tenei o te tepu. A ko te raru, ka mahia e matou tenei, kaore matou e pai kia panuihia e te tangata na te mea me kite ratou i te ripanga hou. Na ka hono tenei ki te patai o mua. Mena ka taea e tatou te panui i te wa ano, kaore e taea te neke me te arahi i nga tangata ki tetahi ripanga hou. Me tatari tatou kia mutu katoa te panui i tenei teepu, no reira he mea raka anake.
Ka kii noa matou ka maukati mai i te timatanga na te mea e mohio ana matou hei te mutunga ka hiahia matou he raka motuhake kia nekehia te katoa ki te kape hou. Na ka taea e tatou te whakatau i tenei. Na ka penei ta matou mahi me te taurangi tukutahi. Engari he uaua ake tenei ki te mahi. Na tenei e tino pa ana ki to patai o mua mo te raka anake.

Ka taea te taapiri i te wa kati ki te Postgres? I Oracle, ka taea e au, hei tauira, te tuhi "twhiria ki te whakahou" ka tatari mo te 50 hēkona i mua i te whakahou. He pai mo te tono. Engari i roto i nga Postgres, me mahi tonu ahau, kaua e tatari, kia tatari ranei kia tae noa ki etahi wa.

Ae, ka taea e koe te kowhiri i te waahi mo o raka, ki o raka. Ka taea hoki e koe te whakaputa i te whakahau kore ara, ka... mena kare e taea e koe te raka tonu. No reira, he waahi kati, tetahi atu mea ranei ka taea e koe te mahi i tenei. Kaore e mahia i te taumata syntactic. Ka mahia tenei hei taurangi i runga i te tūmau. I etahi wa kaore e taea te whakamahi i tenei.

Ka taea e koe te whakatuwhera i te kiriata 75?

Ae.

Wewete i te Kaiwhakahaere Maukati Postgres. Bruce Momjian

A ko taku patai e whai ake nei. He aha nga tukanga whakahou e rua e tatari ana ki te 703?

A he patai nui tenei. Kaore au i te marama, na te aha i penei ai a Postgres. Engari i te wa i hangaia ai te 703, e tatari ana kia 702. A, ka puta mai a 704 me 705, te ahua nei kaore ratou i te mohio he aha ta ratou e tumanako ana na te mea karekau he mea i reira. Na ka mahi a Postgres i tenei huarahi: ka kore e taea e koe te tiki raka, ka tuhia "He aha te take ki te tukatuka i a koe?", No te mea kei te tatari koe mo tetahi. No reira ka waiho noa e tatou kia iri ki te rangi, kare rawa e whakahou. Engari he aha te mea i tupu i konei? I te mutunga o te mahi a 702 me te raka a 703, ka hoki mai ano te punaha. Na ka kii ia inaianei e rua nga tangata e tatari ana. Na ka whakahou tahi tatou. A kia tohu tatou kei te tatari nga tokorua.

Kaore au i te mohio he aha a Postgres i penei ai. Engari he raruraru ko f…. Ki taku whakaaro ehara tenei i te kupu i te reo Ruhia. Koinei te wa e tatari ana te katoa mo te whare rangatira kotahi, ahakoa 20 nga mana whakahaere e tatari ana mo te whare rangatira. Na ohorere ana ka oho katoa ratou i te wa kotahi. Na ka timata te katoa ki te ngana ki te urupare. Engari ka mahia e te punaha kia tatari te katoa mo te 703. Na te mea kei te tatari katoa ratou, a ka tere tonu ta matou rarangi i a ratou katoa. A, ki te puta mai etahi atu tono hou i hangaia i muri mai i tenei, hei tauira, 707, katahi ka noho kau ano.

A, ki taku titiro kua mahia tenei kia taea ai e tatou te kii kei tenei wahanga 702 e tatari ana mo te 703, a ko te hunga katoa e haere mai ana karekau he urunga ki tenei mara. Engari ka wehe atu te kaitaita tuatahi, ko te hunga katoa e tatari ana i tera wa i mua i te whakahou ka whiwhi i taua tohu. Na, ki taku whakaaro kua mahia tenei kia taea ai e tatou te whakahaere i runga i te tikanga kia tika ai te ota.

I nga wa katoa ka titiro ahau he ahua rereke tenei. No te mea i konei, hei tauira, kaore matou i te rarangi katoa. Engari ki ahau nei i nga wa katoa ka tukuna e matou he raka hou, ka titiro matou ki te hunga katoa e tatari ana. Kātahi ka whakarārangihia e mātou katoa. Na ko nga mea hou ka uru mai ka uru noa ki te rarangi ka mutu te mahi a te tangata e whai ake nei. Tino pai te patai. Ka nui te mihi ki a koe mo to patai!

Ki ahau nei he tino arorau ake ina tatari ana a 705 ki te 704.

Engari ko te raruraru i konei ko nga mea e whai ake nei. Ma te hangarau, ka taea e koe te oho tetahi, tetahi atu ranei. Na ka oho tatou tetahi, tetahi ranei. Engari ka aha i roto i te punaha? Ka taea e koe te kite me pehea te aukati a 703 i runga rawa i tana ake ID tauwhitinga. Koinei te mahi a Postgres. A ko te 703 kua araia e tana ake tauwhitinga ID, na, ki te hiahia tetahi ki te tatari, ka tatari mo te 703. A, ko te tikanga, ka oti te 703. A, i muri i tana otinga ka oho tetahi o nga tukanga. A kaore matou e mohio he aha te ahua o tenei mahi. Na ka tukatuka maatau nga mea katoa. Engari kaore i te maarama ko tehea tukanga ka whakaohohia i te tuatahi, na te mea ko tetahi o enei mahinga. Ko te mea nui, he kaihōtaka ta matou e kii ana ka taea e matou te whakaara ake i enei mahi. Ka whiriwhiri noa tatou i tetahi i te matapōkeretia. No reira me tuhi nga mea e rua na te mea ka taea e tatou te oho tetahi o raua.

A ko te raruraru kei a tatou te CP-infinity. Na reira, tera pea ka taea e tatou te oho i muri mai. A ki te mea, hei tauira, ka oho tatou i te mea o muri mai, ka tatari tatou mo te tangata kua riro mai i te poraka, no reira kare tatou e whakatau ko wai tonu ka oho tuatahi. Ka hanga noa e matou he ahuatanga penei, a ka whakaohohia e te punaha i roto i te raupapa ohorere.

He nga korero mo nga raka na Egor Rogov. Titiro, he mea whakamere, he whai hua hoki. Ko te kaupapa, o te akoranga, he tino uaua. Ka nui te mihi ki a koe, Bruce!

Source: will.com

Tāpiri i te kōrero