VPN kò dènà psql: alábàákẹ́kọ̀ọ́ rẹ ń pe ibòmíràn
psql àti alábàákẹ́kọ̀ọ́ GUI lè pe àwọn ibi ìparí ọ̀tọ̀ọ̀tọ̀ láti ẹ̀rọ kan. Fi host, socket, ipa àti TLS wéra kí o tó di VPN lẹ́bi.
Àwọn alábàákẹ́kọ̀ọ́ mejeeji wà lórí kọ̀mpútà gbé pẹ̀lú kan náà, wọ́n ń gba inú ọ̀nà abẹ́lẹ̀ kan náà, ọ̀kan nínú wọn ni ó ń so mọ́. Ìfiwéra yẹn dà bí ẹ̀rí pé VPN ń yan ènìyàn, nígbà tí àlàyé tó wọ́pọ̀ jù ni pé àwọn alábàákẹ́kọ̀ọ́ méjèèjì ń pe àwọn ibi tó yàtọ̀. GUI kan ń pa host, port, ipa àti àwọn ètò TLS tirẹ̀ mọ́, ó sì ń kọ́ ìtọ́nisí SSH ní ìdákẹ́jẹ́ nígbà tí ó bá nílò rẹ̀, nígbà tí psql ń so ìsopọ̀ pọ̀ láti inú àwọn iye àkọ́kọ́ libpq tí shell rẹ le ti ṣètò tẹ́lẹ̀. Ṣíṣe àtúnṣe ìsopọ̀ tó ń ṣiṣẹ́ jẹ́ kíkà àwọn ètò GUI, kì í ṣe àtúnfi tunnel sínú.
Àròsọ: alábàákẹ́kọ̀ọ́ kan tó ń ṣiṣẹ́ fi ọ̀nà hàn
Bí GUI bá so mọ́, tunnel ń gbé ìrìnàjò, ìyẹn ni ohun kan ṣoṣo tí GUI fi hàn. Kò sọ ohunkóhun nípa irú àdírẹ́sì tí psql ń yanjú, irú ipa tí ó ń fi jẹ́rìí, tàbí bóyá socket tí ó ń ṣí máa ń jáde kúrò nínú ẹ̀rọ náà. Ọ̀nà náà jẹ́ ti gbogbo ènìyàn; àwọn paramita kì í ṣe bẹ́ẹ̀.
Ìtọ́nisí àdúgbò ń mú àlàfo pọ̀ sí i. GUI lè so mọ́ 127.0.0.1 lórí port tí ó ti tọ́nisí nípasẹ̀ SSH, olùgbọ́ yẹn sì wà nígbà tí ìpàdé GUI bá ń lọ lọ́wọ́ nìkan. psql tí ó tọ́ka sí localhost láìsí ìtọ́nisí ń gba ìsopọ̀ tí a kọ̀ tí kò ní í ṣe pẹ̀lú VPN rárá.
Ka ibi ìparí tí GUI ń lò gan-an
Ṣí àwọn ẹ̀yà ìsopọ̀ náà kí o sì ṣe àdàkọ iye mẹ́rin: host, port, database àti ipa. Lẹ́yìn náà wá tab tunnel, nítorí pé ìtọ́nisí SSH ń yí àdírẹ́sì aládàáni padà sí port àdúgbò, ó sì ń yí ohun tí a gbọ́dọ̀ sọ fún psql padà.
| 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 |
Ẹsẹ̀ kọ̀ọ̀kan ń kùnà ní ìpele ọ̀tọ̀ọ̀tọ̀, ìfiránṣẹ́ tí o bá gbà sì ń dárúkọ ìpele yẹn. Lílé orúkọ ọ̀rẹ́ ti profáìlì tí a fi pamọ́ sínú psql kò gbé èyíkéyìí nínú àwọn iye tó wà lókè, orúkọ iṣẹ́ sì ń yanjú nípasẹ̀ fáìlì tí terminal lè máà kà rárá.
Kí ni libpq ń jogún láti shell rẹ
psql jẹ́ alábàákẹ́kọ̀ọ́ tín-ínrín lórí libpq, libpq sì ń ka àyíká kí ó tó ka ohunkóhun mìíràn. Àwọn àfikún bí PGHOST, PGHOSTADDR, PGPORT, PGDATABASE, PGUSER, PGSERVICE àti PGSSLMODE lè darí apá kan ìsopọ̀ náà. A ń jogún wọn dípò kíkọ wọ́n, nítorí náà kò sí ohunkóhun nínú àṣẹ tí o ṣe tí ó fi wọ́n hàn. PGSSLMODE tí a tà jáde lè tún yí ohun tí alábàákẹ́kọ̀ọ́ náà gbà padà láìsí ọ̀rọ̀ kan lórí ìlà àṣẹ.
Méjì nínú àwọn àfikún yẹn yẹ fún ìfura ní àkọ́kọ́. PGHOSTADDR ń pèsè ibi ìparí oní-nọ́mbà tí ó rékọjá ìyanjú orúkọ nígbà tí orúkọ host ṣì ń darí ìdánimọ̀ ìwé-ẹ̀rí, PGSERVICE sì ń fa host, database àti àwọn àṣàyàn TLS jáde láti fáìlì iṣẹ́. Sísọ gbogbo àyíká jáde fún àtúnṣe èyí jẹ́ àṣà búburú, nítorí ó lè ní ọ̀rọ̀ìpamọ́ àti àmì tí kò ní í ṣe pẹ̀lú rẹ̀; dípò bẹ́ẹ̀ yan àwọn àfikún tí ó ṣe pàtàkì fún ọ.
Fífi host àti hostaddr méjèèjì sílẹ̀ ń yan socket ẹ̀ka Unix dípò àdírẹ́sì nẹ́tíwọ́kì. Nítorí náà ìpè psql láìsí -h lè ṣàṣeyọrí ní àdúgbò, tàbí ó lè kùnà pẹ̀lú àṣìṣe socket, láìfi ọ̀nà tí GUI ń lò kàn rárá.
Fi àwọn paramita kan náà ránṣẹ́ pẹ̀lú ọwọ́
Tí iye GUI bá wà ní ọwọ́ rẹ, gbé wọn kalẹ̀ ní gbangba kí o sì fo fáìlì ìbẹ̀rẹ̀ tí ó lè ṣàfikún àwọn àtúnṣe. Ìlà ìsopọ̀ tó wà nísàlẹ̀ jẹ́ àpẹẹrẹ: rọ́pò ibi ìparí, port, database àti ipa pẹ̀lú àwọn iye tí alábòójútó rẹ fọwọ́ sí, kí o sì pa ètò ìgbẹ́kẹ̀lé tí ó ti ń ṣiṣẹ́ tẹ́lẹ̀ mọ́.
psql -X "host=db.internal.example port=6432 dbname=orders user=report_ro sslmode=verify-full connect_timeout=5"Àwọn àlàyé mẹ́ta nínú àṣẹ yẹn jẹ́ àìmọ̀ọ́mọ̀. -X ń dènà fáìlì ìbẹ̀rẹ̀ psql, bó tilẹ̀ jẹ́ pé kò dènà àyíká libpq tàbí ìtumọ̀ iṣẹ́. connect_timeout=5 ń dènà ọ̀nà tí ó ṣófo láti gbé terminal dórí fún ìṣẹ́jú. sslmode=verify-full ń pa àwọn àyẹ̀wò ìwé-ẹ̀rí àti orúkọ host mọ́ ní ṣíṣí, èyí sì ni apá tí àwọn ènìyàn ń pa dà nígbà tí àṣìṣe TLS bá farahàn.
Tí ibi ìparí tí a fọwọ́ sí bá wà lẹ́yìn pooler kan, port 6432 àti port 5432 lè dé orí data kan náà nípasẹ̀ àwọn ìdánimọ̀ server ọ̀tọ̀ọ̀tọ̀, ìmúdájú sì lè kùnà lórí orúkọ pooler dípò orúkọ database. Tún orúkọ náà ṣe nínú ìlà ìsopọ̀ dípò kí o sọ ipò náà di aláìlera.
Jẹ́ kí ìfiránṣẹ́ àṣìṣe yan ìgbésẹ̀ tó kàn
Ọ̀rọ̀ ìkùnà sọ bí ìgbìyànjú náà ti lọ jìnnà tó, ìyẹn sì ju èyíkéyìí nínú àwọn àfọ̀mọ́ nípa tunnel lọ. Orúkọ tí kò ní yanjú ń kùnà kí socket tó wà, àkókò tí ó tán túmọ̀ sí pé ọ̀nà tàbí firewall ju packet sílẹ̀, ìkọ̀ túmọ̀ sí pé ohun kan dáhùn ó sì kọ̀, àṣìṣe ìjẹ́rìí sì túmọ̀ sí pé nẹ́tíwọ́kì ti ń ṣiṣẹ́ tẹ́lẹ̀.
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 --versionFi ìjáde \conninfo wéra pẹ̀lú ìpàdé ìgbàlódé GUI: host kan náà, port kan náà, ipa kan náà, ipò TLS kan náà. Nígbà tí àwọn mẹ́rin náà bá bá ara wọn mu, VPN kò ní ohunkóhun mìíràn láti ṣàlàyé. Títí tí wọn yóò fi bá ara wọn mu, gbogbo àtúnṣe tunnel àfikún jẹ́ àfọ̀mọ́ nípa ìsopọ̀ tí terminal kò tíì dá rárá.