Ní an VPN a choisceann psql: diailíonn do chliaint áit eile
Is féidir le psql agus cliant GUI ceann scríbe difriúil a dhéanamh amach ón meaisín céanna. Cuir óstach, soicéad, ról agus TLS i gcomparáid sula gcuireann tú an milleán ar an VPN.
Tá an dá chliant ar an ríomhaire glúine céanna, téann siad tríd an tollán céanna, agus ní nascann ach duine acu. Breathnaíonn an comparáid sin mar chruthúnas go bhfuil an VPN roghnach, cé gurb é an míniú i bhfad níos coitianta ná go ndéanann an dá chliant ceann scríbe difriúil a dhiailiú. Coinníonn GUI a óstach, a phort, a ról agus a shocruithe TLS féin agus tógann sé seoladh SSH go ciúin nuair a bhíonn ceann de dhíth air, agus cruinníonn psql nasc ó réamhshocruithe libpq a d'fhéadfadh do bhlaosc a bheith socraithe cheana féin. Chun an nasc oibre a atáirgeadh, ní gá ach socruithe an GUI a léamh, ní an tollán a athshuiteáil.
An miotas: cruthaíonn cliant amháin atá ag obair an cosán
Má nascann an GUI, iompraíonn an tollán trácht, agus sin an t-aon rud a chruthaíonn an GUI. Ní deir sé dada faoi cén seoladh a réitíonn psql, cén ról lena ndéanann sé fíordheimhniú, ná an bhfágann an soicéad a osclaíonn sé an meaisín riamh. Tá an cosán roinnte; níl na paraiméadair.
Leathnaíonn seoladh áitiúil an bhearna. Féadann an GUI nascadh le 127.0.0.1 ar phort a sheol sé thar SSH, agus ní bhíonn an éisteoir sin ann ach fad a mhaireann seisiún an GUI. Faigheann psql a dhírítear ar localhost gan an seoladh nasc a diúltaíodh nach bhfuil baint ar bith aige leis an VPN.
Léigh an ceann scríbe a úsáideann an GUI i ndáiríre
Oscail airíonna an naisc agus cóipeáil ceithre luach: óstach, port, bunachar sonraí agus ról. Ansin féach le haghaidh cluaisín tolláin, mar go n-athraíonn seoladh SSH seoladh príobháideach ina phort áitiúil agus athraíonn sé an méid a chaithfear a rá le psql.
| Setting | What the GUI holds | What psql uses when the value is absent |
|---|---|---|
| Destination | A saved hostname, sometimes behind a forward | A local Unix socket, not the remote endpoint |
| Port | The direct port or a forwarded local port | 5432, or the port from a service file |
| Role and database | Stored per connection profile | Your operating-system user name |
| TLS identity | Its own CA bundle and verification mode | Whatever PGSSLMODE or the service file says |
| Startup files | Not read at all | Read unless -X is passed |
Teipeann gach ró ar chiseal difriúil, agus ainmníonn an teachtaireacht a fhaigheann tú an ciseal sin. Ní iompraíonn greamú ainm cairdiúil an phróifíl shábháilte isteach i psql aon cheann de na luachanna thuas, agus réitítear ainm seirbhíse trí chomhad nach léifidh an teirminéal riamh b'fhéidir.
Cad a fhaigheann libpq le hoidhreacht ó do bhlaosc
Is cliant tanaí thar libpq é psql, agus léann libpq an timpeallacht sula léann sé aon rud eile. Féadann athróga ar nós PGHOST, PGHOSTADDR, PGPORT, PGDATABASE, PGUSER, PGSERVICE agus PGSSLMODE cuid den nasc a atreorú. Faightear le hoidhreacht iad seachas iad a chlóscríobh, mar sin ní thaispeánann aon rud sa ordú a rith tú iad. Féadann PGSSLMODE easpórtáilte athrú freisin ar an méid a ghlacann an cliant gan focal ar an líne ordaithe.
Tá dhá cheann de na hathróga sin tuillte ag amhras ar dtús. Soláthraíonn PGHOSTADDR ceann scríbe uimhriúil a sháraíonn réiteach ainmneacha agus an t-óstainm fós i gceannas ar fhéiniúlacht an teastais, agus tarraingíonn PGSERVICE óstach, bunachar sonraí agus roghanna TLS as comhad seirbhíse. Is droch-nós é an timpeallacht iomlán a dhumpáil chun é seo a dhífhabhtú, óir d'fhéadfadh pasfhocail agus comharthaí neamhghaolmhara a bheith ann; roghnaigh na hathróga a bhfuil suim agat iontu ina ionad.
Má fhágtar host agus hostaddr ar lár araon roghnaítear soicéad fearainn Unix seachas seoladh líonra. Dá bhrí sin féadann glao psql gan -h éirí go háitiúil, nó teip le hearráid soicéid, gan an bealach a úsáideann an GUI a bhaint riamh.
Seol na paraiméadair chéanna de láimh
Agus luachanna an GUI agat, cuir ar aghaidh go sainráite iad agus scipeáil an comhad tosaithe a d'fhéadfadh sáruithe a chur leis. Tá an teaghrán naisc thíos léiritheach: cuir an ceann scríbe, an port, an bunachar sonraí agus an ról in ionad na luachanna a d'fhormheas do riarthóir, agus coinnigh an chumraíocht muiníne atá ag obair cheana.
psql -X "host=db.internal.example port=6432 dbname=orders user=report_ro sslmode=verify-full connect_timeout=5"Tá trí shonra sa ordú sin d'aon ghnó. Cuireann -X comhad tosaithe psql faoi chois, cé nach gcuireann sé timpeallacht libpq ná sainmhíniú seirbhíse faoi chois. Coinníonn connect_timeout=5 cosán poll dubh ón teirminéal a chrochadh ar feadh nóiméad. Coinníonn sslmode=verify-full seiceálacha teastais agus óstainm ar siúl, agus sin go díreach an chuid a mhúchann daoine nuair a thagann earráid TLS chun solais.
Má tá an ceann scríbe ceadaithe taobh thiar de phooler, féadann port 6432 agus port 5432 na sonraí céanna a shroicheadh trí fhéiniúlachtaí freastalaí difriúla, agus féadann an fíorú teip ar ainm an phooler seachas ar ainm an bhunachair sonraí. Ceartaigh an t-ainm sa teaghrán naisc seachas an mód a lagsmachtú.
Lig don teachtaireacht earráide an chéad chéim eile a roghnú
Deir téacs na teipe cé chomh fada agus a chuaigh an iarracht, agus sáraíonn sin aon bhuille faoi thuairim faoin tollán. Teipeann ainm nach réitítear sula mbíonn soicéad ann, ciallaíonn am istigh gur scaoil an cosán nó balla dóiteáin paicéid, ciallaíonn diúltú gur fhreagair rud éigin agus gur dhiúltaigh sé, agus ciallaíonn earráid fhíordheimhnithe go raibh an líonra ag obair cheana.
psql -X -w "host=db.internal.example port=6432 dbname=orders user=report_ro sslmode=verify-full connect_timeout=5" -c '\conninfo'
env | grep -E '^PG'
psql --versionCuir aschur \conninfo i gcomparáid le seisiún beo an GUI: an t-óstach céanna, an port céanna, an ról céanna, an staid TLS chéanna. Nuair a aontaíonn na ceithre rud sin, níl aon rud fágtha ag an VPN le mínithe. Go dtí go n-aontaíonn siad, is buille faoi thuairim é gach athrú breise ar an tollán faoi nasc nár dhein an teirminéal riamh.