Fix: psql: kon geen verbinding maken met de server: geen bestand of map
PostgreSQL promoot zichzelf als het meest geavanceerde open-source database-toepassingsplatform en Debian Linux heeft zeker veel pakketten die het nog ingewikkelder maken. Je kunt ook bootloads met pakketten voor PostgreSQL vinden als je met Ubuntu Server of een van de verschillende Ubuntu-spins werkt, omdat ze op Debians kern zijn gebaseerd. Dit niveau van complexiteit en ontwikkeling kan geen verbinding maken met de server en geen dergelijke bestands- of mapwaarschuwingen die veel vervelender zijn.
Gelukkig zijn dit meestal eenvoudige gevallen van toestemmingsproblemen veroorzaakt door het feit dat PostgreSQL een gebruiker met de naam postgres wil vasthouden aan deze mappen. Door een eenvoudige opdrachtregel-truc te gebruiken, kunt u dit vrijwel direct oplossen. U wilt van tevoren een paar standaard diagnostische controles doornemen om er zeker van te zijn dat dit het probleem is waarmee u te maken krijgt.
Fixing PostgreSQL Kon geen verbinding maken met serverfouten
Probeer eerst het PostgreSQL-systeem handmatig opnieuw op te starten. Soms is dit genoeg om dingen op te lossen, en zo niet, dan krijg je op zijn minst een foutmelding om te werken. Meer dan waarschijnlijk start u het systeem opnieuw op door de opdracht psql uit te geven als gebruiker van postgres.
Je zou kunnen merken dat dit alles opklaarde. Anders zou u een regel kunnen krijgen die psql leest: kon geen verbinding maken met de server: geen bestand of map, wat betekent dat u toestemmingsproblemen hebt. Als je deze foutmelding krijgt, krijg je ook een andere tekst uitgespuugd.
Controleer de servicestatus als u dit bericht hebt ontvangen om te controleren of de modules zijn geladen. Dat zouden ze moeten zijn, maar als dat niet zo is, wil je misschien opnieuw beginnen. Als er een bericht verschijnt met de melding Loaded: loaded (/lib/systemd/system/postgresql.service; enabled), dan zijn ze actief. Probeer sudo service postgresql opnieuw op te starten om een korte herstart uit te voeren en kijk of dat alles corrigeert. Meestal niet, maar het is misschien de moeite van het proberen waard.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken
Ervan uitgaande dat het niet heeft geholpen, kijk eens in het PostgreSQL-logboek om fouten te zoeken. In het onwaarschijnlijke geval dat u iets vindt over pakketfouten, mist u misschien een van de SQL-modules. Dit is meestal niet de oorzaak van deze problemen, maar het kan zeker geen kwaad om op zijn minst een kijkje te nemen. Meer dan waarschijnlijk kom je iets tegen dat je waarschuwt dat machtigingen u = rwx (0700) en
die datadirectory /var/lib/postgresql/9.6/main heeft groeps- of wereldtoegang, hoewel je een ander versienummer zou kunnen zien, afhankelijk van welke SQL-server je gebruikt.
Dit komt omdat Debian en vergelijkbare distributies verwachten dat de postgres-gebruiker en -groep deze mappen beheren met 0700-machtigingen en alle bestanden via 0600-rechten omwille van de veiligheid. Het enige wat u hoeft te doen is de volgende opdracht uitvoeren op de terminal om machtigingen in te stellen:
sudo chown -R postgres: postgres /var/lib/postgresql/9.6/ & sudo chmod -R u = rwX, go = /var/lib/postgresql/9.6/
Houd in gedachten dat dit een hoofdletter X zou moeten zijn en niet de meer gebruikelijke kleine x waarvan je waarschijnlijk meer bekend bent vanwege de specifieke manier waarop je deze opties voor bestandsrechten wilt instellen. Hoewel je wel root-toegang nodig hebt om dit te doen, zou het opnemen van die twee sudo-tekens meer dan voldoende moeten zijn om jezelf de juiste rechten te geven als je als gewone gebruiker werkt. Dit is belangrijk omdat Ubuntu en de verschillende Linux-implementaties die van Ubuntu zijn afgesplitst, het hoofd-rootaccount verwijderen, zodat je dingen op deze manier moet doen.
Zodra deze opdracht is voltooid, kunt u de service opnieuw starten door sudo service postgresql opnieuw op te starten vanaf de terminal en u zou deze keer geen fouten mogen ondervinden. Als je het logboek zou bekijken, dan zouden die waarschuwingen over toestemmingsproblemen er ook niet langer moeten zijn.
Dit is een fout die optreedt als het resultaat van redelijk specifieke omstandigheden, dus je zou het niet opnieuw moeten ervaren nadat je het hebt gecorrigeerd de eerste keer op voorwaarde dat je niet probeert om handmatig iets te doen met betrekking tot het manipuleren van permissies van de PostgreSQL-directory's. Er is geen situatie waar dit toch echt nodig zou moeten zijn, buiten de correctie van dit probleem in de eerste plaats.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken