Fiks: psql: kunne ikke koble til server: Ingen slik fil eller katalog

PostgreSQL fremmer seg som den mest avanserte open source database applikasjonsplattformen, og Debian Linux har sikkert mange pakker som gjør det enda mer komplekst. Du kan også finne boatloads av pakker for PostgreSQL hvis du jobber med Ubuntu Server eller noen av de forskjellige Ubuntu-spinnene, siden de er basert på Debians kjernen. Dette nivået av kompleksitet og utvikling gjør det ikke mulig å koble til serveren og ingen slik fil eller katalogvarsler som er mye mer irriterende.

Heldigvis er disse vanligvis enkle tilfeller av tillatelsesproblemer forårsaket av at PostgreSQL vil ha en bruker som heter postgres å holde fast på disse katalogene. Ved å bruke et enkelt kommandolinjebud kan du reparere dette nesten umiddelbart. Du vil gjennomgå noen grunnleggende diagnostiske kontroller på forhånd, men bare for å forsikre deg om at dette faktisk er problemet du er opptatt av.

Å fikse PostgreSQL kunne ikke koble til serverfeil

Prøv først å starte PostgreSQL-systemet manuelt. Noen ganger er dette nok til å fikse ting, og hvis ikke så får du i det minste en feilmelding til å jobbe fra. Mer enn sannsynlig, starter du bare systemet på nytt ved å utstede psql-kommandoen som postgres-bruker.

Det kan hende du oppdaget at dette fjernet alt. Ellers kan du få en linje som leser psql: kan ikke koble til server: Ingen slik fil eller katalog, noe som betyr at du har tillatelsesproblemer. Hvis du mottar denne feilmeldingen, får du også en annen tekst spyttet ut.

Sjekk servicestatus hvis du har fått denne meldingen for å kontrollere at modulene er lastet. De burde være, men hvis de ikke er, vil du kanskje starte på nytt. Hvis du får en melding som leser Loaded: loaded (/lib/systemd/system/postgresql.service; enabled), så kjører de. Prøv sudo service postgresql restart bare for å gjøre en kort omstart og se om det korrigerer noe. Det gjør det vanligvis ikke, men det kan være verdt et forsøk avhengig.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her


Forutsatt at det ikke har hjulpet, ta en titt inne i PostgreSQL loggen for å lete etter feil. I det usannsynlige tilfellet finner du noe om pakkefeil, så kan du mangle en av SQL-modulene. Dette er vanligvis ikke årsaken til disse problemene, men det kan absolutt ikke skade for minst å se på. Mer enn sannsynlig, vil du faktisk komme over noe som advarer deg om at Tillatelser skal være u = rwx (0700) og

Datakatalogen /var/lib/postgresql/9.6/main har gruppe- eller verdensadgang, selv om du kanskje ser et annet versjonsnummer, avhengig av hvilken SQL-server du kjører.

Dette skyldes at Debian og lignende distribusjoner forventer at postgres-brukeren og gruppen kontrollerer disse katalogene med 0700 tillatelser og alle filer gjennom 0600 tillatelser for sikkerhets skyld. Alt du trenger å gjøre er å kjøre følgende kommando på terminalen for å fikse tillatelser:

sudo chown -R postgres: postgres /var/lib/postgresql/9.6/&& sudo chmod -R u = rwX, go = /var/lib/postgresql/9.6/

Husk at det burde være en stor sak X og ikke den vanligste små boksen x du er sannsynligvis mer kjent med på grunn av den spesifikke måten du vil ønske å angi disse filtillatelsesalternativene. Mens du trenger root-tilgang for å gjøre dette, bør inkluderingen av de to sudo-merkene være mer enn nok til å gi deg de riktige tillatelsene når du kjører som en vanlig bruker. Dette er viktig siden Ubuntu og de forskjellige Linux-implementeringene spunnet fra Ubuntu hash ut hovedrotkontoen, slik at du må gjøre ting på denne måten.

Når denne kommandoen er ferdig, kan du starte tjenesten på nytt med sudo service postgresql restart fra terminalen, og du bør ikke ha noen feil denne gangen. Hvis du skulle se på loggen, bør disse advarslene om tillatelsesproblemer heller ikke være der lenger.

Dette er en feil som oppstår som følge av ganske spesifikke forhold, så du bør ikke oppleve det igjen etter at du har korrigert det første gang, forutsatt at du ikke prøver å manuelt gjøre noe som involverer tillatelser manipulasjon av PostgreSQL-katalogene. Det er ingen situasjon hvor dette egentlig burde være nødvendig, utenom å rette opp dette problemet i utgangspunktet.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Facebook Twitter Google Plus Pinterest