Fix: psql: kunde inte ansluta till servern: ingen sådan fil eller katalog
PostgreSQL marknadsför sig som den mest avancerade databasprogrammet för öppen källkod, och Debian Linux har säkert massor av paket som gör det ännu mer komplext. Du kan också hitta boatloads av paket för PostgreSQL om du arbetar med Ubuntu Server eller någon av de olika Ubuntu-spinnen, eftersom de är baserade på Debians kärna. Denna nivå av komplexitet och utveckling gör det inte möjligt att ansluta till servern och ingen sådan fil eller katalogvarningar som är mycket mer irriterande.
Lyckligtvis är det vanligtvis enkla fall av tillståndsproblem som orsakas av det faktum att PostgreSQL vill att en användare som heter postgres ska hålla fast vid dessa kataloger. Genom att använda ett enkelt kommandorads-trick kan du fixa det här nästan direkt. Du kommer dock att gå igenom några grundläggande diagnostiska kontroller i förväg, för att bara se till att det här är faktiskt det problem som du står inför.
Fixing PostgreSQL kunde inte ansluta till serverfel
Först försök starta om PostgreSQL-systemet manuellt. Ibland räcker det med att fixa saker, och om inte då får du åtminstone ett felmeddelande att arbeta från. Mer än troligt startar du bara om systemet genom att utfärda kommandot psql som postgres-användare.
Det kan hända att det här rensade allt. Annars kan du få en rad som läser psql: kunde inte ansluta till servern: Ingen sådan fil eller katalog, vilket innebär att du har behörighetsproblem. Om du får det här felmeddelandet får du också en annan text som spottas ut.
Kontrollera servicestatus om du har fått det här meddelandet för att se till att modulerna är laddade. De borde vara, men om de inte är kanske du vill starta om. Om du får ett meddelande som läser Loaded: loaded (/lib/systemd/system/postgresql.service; enabled), så kör de. Prova sudo service postgresql starta om för att göra en kort omstart och se om det korrigerar någonting. Det brukar inte, men det kan vara värt ett försök beroende.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här
Förutsatt att det inte har hjälpt, kolla inuti PostgreSQL-loggen för att leta efter fel. I det osannolika fallet hittar du något om paketfel, då kanske du saknar en av SQL-modulerna. Detta är inte vanligtvis orsaken till dessa problem, men det kan verkligen inte skadas för att åtminstone ta en titt. Mer sannolikt kommer du faktiskt att stöta på något som varnar dig för att tillstånd ska vara u = rwx (0700) och
den datakatalogen /var/lib/postgresql/9.6/main har grupp- eller världsanslutning, även om du kanske ser ett annat versionsnummer beroende på vilken SQL-server du kör.
Detta beror på att Debian och liknande distributioner förväntar sig att postgres användare och grupp kontrollerar dessa kataloger med 0700 behörigheter och alla filer genom 0600 behörigheter för säkerhets skull. Allt du behöver göra är att köra följande kommando vid terminalen för att fixa behörigheter:
sudo chown -R postgres: postgres /var/lib/postgresql/9.6/&& sudo chmod -Ru = rwX, go = /var/lib/postgresql/9.6/
Tänk på att det borde vara ett övre fall X och inte det vanligare fallet x du är förmodligen mer bekant med på grund av det specifika sättet att du ska vilja ställa in dessa filrättighetsalternativ. Medan du behöver root-åtkomst för att göra detta bör inkluderandet av dessa två sudo-märken vara mer än tillräckligt för att ge dig rätt behörighet när du kör som en vanlig användare. Detta är viktigt eftersom Ubuntu och de olika Linux-implementeringarna spunnit från Ubuntu hash ut huvudrotkontot så att du behöver göra saker på det här sättet.
När det här kommandot är klart kan du starta om tjänsten igen genom sudo service postgresql omstart från terminalen och du borde inte ha några fel den här gången. Om du skulle titta på loggen, varför inte dessa varningar angående behörighetsproblem finns längre heller.
Detta är ett fel som händer som en följd av ganska specifika förhållanden, så du bör inte uppleva det igen när du har korrigerat det första gången, förutsatt att du inte försöker manuellt göra någonting som involverar behörighetsmanipulation av PostgreSQL-katalogerna. Det finns ingen situation där det verkligen borde vara nödvändigt, utan att först rätta till problemet först.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här