Womabili amaklayenti asekhompyutheni ephathwayo eyodwa, adlula emhubheni owodwa, futhi lilodwa kuphela elixhumayo. Lokho kuqhathanisa kubonakala kuyihlonzeka lokuthi i-VPN iyakhetha, kuyilapho incazelo evame kakhulu iwukuthi amaklayenti amabili aya ezindaweni ezihlukene. I-GUI igcina i-host yayo, i-port, indima kanye nezilungiselelo ze-TLS futhi yakhe ukudluliswa kwe-SSH ngokuthula uma ikudinga, kuyilapho i-psql ihlanganisa uxhumano ngamavelu aphansi e-libpq okungenzeka ukuthi igobolondo lakho likusethile. Ukukhiqiza kabusha uxhumano olusebenzayo kuwukufunda izilungiselelo ze-GUI, hhayi ukufaka umhubhe kabusha.

Inganekwane: iklayenti elilodwa elisebenzayo lifakazela indlela

Uma i-GUI ixhuma, umhubhe uthwala ithrafikhi, futhi yilokho kuphela i-GUI ekufakazayo. Ayisho lutho ngokuthi iyiphi ikheli i-psql eyixazululayo, iyiphi indima eyiqinisekisa ngayo, noma ukuthi isokhethi eyivulayo iyaphuma yini emshinini. Indlela yabiwe; amapharamitha awabiwe.

Ukudluliswa kwendawo kukhulisa igebe. I-GUI ingaxhuma ku-127.0.0.1 kupoti eyayidlulisela nge-SSH, futhi umlaleli lowo ukhona kuphela ngesikhathi seseshini ye-GUI. I-psql eqonde ku-localhost ngaphandle kokudluliswa ithola uxhumano olwenqatshiwe olungahlangene ngalutho ne-VPN.

Funda indawo yokugcina i-GUI eyisebenzisa ngempela

Vula izici zoxhumano bese ukopisha amavelu amane: i-host, i-port, idathabhezi nendima. Bese ufuna ithebhu yomhubhe, ngoba ukudluliswa kwe-SSH kuguqula ikheli langasese libe yipoti yendawo futhi kushintsha okumele kutshelwe i-psql.

SettingWhat the GUI holdsWhat psql uses when the value is absent
DestinationA saved hostname, sometimes behind a forwardA local Unix socket, not the remote endpoint
PortThe direct port or a forwarded local port5432, or the port from a service file
Role and databaseStored per connection profileYour operating-system user name
TLS identityIts own CA bundle and verification modeWhatever PGSSLMODE or the service file says
Startup filesNot read at allRead unless -X is passed

Umgqa ngamunye wehluleka kusendlalelo esihlukile, futhi umlayezo okuwutholayo usho leso sendlalelo. Ukunamathisela igama elingokobungani lephrofayela egciniwe ku-psql akuthwali nelilodwa lalawa mavelu angenhla, futhi igama lesevisi lixazululwa ngefayela okungenzeka ukuthi itheminali ayoke ilifunde.

Yini i-libpq eyithola njengefa egobolondini lakho

I-psql iyiklayenti elincanyana phezu kwe-libpq, futhi i-libpq ifunda imvelo ngaphambi kokufunda noma yini enye. Iziguquguquko ezinjenge-PGHOST, PGHOSTADDR, PGPORT, PGDATABASE, PGUSER, PGSERVICE ne-PGSSLMODE ngayinye ingaqondisa kabusha ingxenye yoxhumano. Zitholwa njengefa esikhundleni sokuthi zibhalwe, ngakho akukho lutho emyalweni oyisebenzisile oluzibonisayo. I-PGSSLMODE ethunyelwe ngaphandle nayo ingashintsha lokho iklayenti elikwamukelayo ngaphandle kwegama emgqeni womyalo.

Ezimbili zalezi ziguquguquko zifanele ukusolwa kuqala. I-PGHOSTADDR inikeza indawo yokugcina enezinombolo edlula ukuxazululwa kwamagama ngesikhathi igama le-host lisabusa ubunikazi besitifiketi, futhi i-PGSERVICE idonsa i-host, idathabhezi nezinketho ze-TLS efayeleni lesevisi. Ukukhipha yonke imvelo ukuze ulungise lokhu kuwumkhuba omubi, ngoba ingaqukatha amaphasiwedi namathokheni angahlobene; esikhundleni salokho khetha iziguquguquko ozikhathazayo.

Ukushiya kokubili i-host ne-hostaddr kukhetha isokhethi yesizinda se-Unix esikhundleni sekheli lenethiwekhi. Ngakho ukubiza i-psql ngaphandle kwe--h kungaphumelela endaweni, noma kwehluleke ngephutha lesokhethi, ngaphandle kokuthinta indlela i-GUI eyisebenzisayo.

Thumela amapharamitha afanayo ngesandla

Uma unamavelu e-GUI esandleni, wadlulise ngokucacile futhi weqe ifayela lokuqala elingangeza ukubhala phezulu. Umucu woxhumano ongezansi uyisibonelo: shintsha indawo yokugcina, ipoti, idathabhezi nendima ngamavelu agunyazwe umphathi wakho, futhi gcina ukucushwa kokwethemba osekuvele kusebenza.

psql -X "host=db.internal.example port=6432 dbname=orders user=report_ro sslmode=verify-full connect_timeout=5"

Imininingwane emithathu kulo myalo iyenziwe ngamabomu. I--X icindezela ifayela lokuqala le-psql, nakuba ingacindezeli imvelo ye-libpq noma incazelo yesevisi. I-connect_timeout=5 ivimbela indlela engenalutho ukuthi ilengise itheminali imizuzu. I-sslmode=verify-full igcina ukuhlolwa kwesitifiketi negama le-host kuvuliwe, futhi yingxenye yilapho abantu abayivalayo lapho kuvela iphutha le-TLS.

Uma indawo yokugcina egunyaziwe ingemuva kwe-pooler, ipoti 6432 nepooti 5432 zingafinyelela idatha efanayo ngobunikazi besiphakamiso esihlukile, futhi ukuqinisekisa kungahluleka egameni le-pooler esikhundleni segama ledathabhezi. Lungisa igama emucwini woxhumano esikhundleni sokwenza buthakathaka imodi.

Vumela umlayezo wephutha ukhethe isinyathelo esilandelayo

Umbhalo wokwehluleka usho ukuthi umzamo ufike kude kangakanani, futhi lokho kudlula noma yikuphi ukuqagela ngomhubhe. Igama elingaxazululeki lihluleka ngaphambi kokuba isokhethi ibe khona, isikhathi sokuphela sisho ukuthi indlela noma i-firewall ilahle amaphakethe, ukwenqatshwa kusho ukuthi okuthile kuphendulile kwala, futhi iphutha lokuqinisekisa lisho ukuthi inethiwekhi yayivele isebenza.

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 --version

Qhathanisa okukhiphayo kwe-\conninfo neseshini ebukhoma ye-GUI: i-host efanayo, ipoti efanayo, indima efanayo, isimo se-TLS esifanayo. Uma lezi zine zivumelana, i-VPN ayinalutho olunye engaluchaza. Kuze kube zivumelana, zonke izinguquko ezengeziwe kumhubhe ziwukuqagela ngoxhumano itheminali engakaze ilwenze.

Izihloko ezihlobene