sql >> Database teknologi >  >> RDS >> PostgreSQL

psql:kunne ikke oprette forbindelse til serveren:Ingen sådan fil eller mappe (Mac OS X)

ADVARSEL:Hvis du sletter postmaster.pid uden at sikre dig, at der ikke er nogen postgres processer, der kører dig, kan permanent ødelægge din database . (PostgreSQL bør slette det automatisk, hvis postmasteren har forladt.)

LØSNING:Dette løste problemet - jeg slettede denne fil, og så virkede alt!

/usr/local/var/postgres/postmaster.pid

--

og her er, hvordan jeg fandt ud af, hvorfor dette skulle slettes.

  1. Jeg brugte følgende kommando til at se, om der kørte nogen PG-processer. for mig var der ingen, jeg kunne ikke engang starte PG-serveren:

    ps auxw | grep post
    
  2. Jeg søgte efter filen .s.PGSQL.5432, der var i fejlmeddelelsen ovenfor. jeg brugte følgende kommando:

    sudo find / -name .s.PGSQL.5432 -ls
    

    dette viste ikke noget efter at have søgt på hele min computer, så filen eksisterede ikke, men åbenbart psql "ville have det til" eller "troede det var der".

  3. Jeg tog et kig på mine serverlogfiler og så følgende fejl:

    cat /usr/local/var/postgres/server.log
    

    i slutningen af ​​serverloggen ser jeg følgende fejl:

    FATAL:  pre-existing shared memory block (key 5432001, ID 65538) is still in use
    HINT:  If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
    
  4. Efter rådet i fejlmeddelelsen slettede jeg postmaster.pid-filen i samme mappe som server.log. Dette løste problemet, og jeg var i stand til at genstarte.

Så det ser ud til, at min macbook fryser og blev hårdt genstartet fik Postgres til at tro, at dens processer stadig kørte, selv efter genstart. Sletningen af ​​denne fil blev løst. Håber dette hjælper andre! Mange mennesker har lignende problemer, men de fleste svar havde at gøre med filtilladelser, hvorimod tingene i mit tilfælde var anderledes.



  1. Hvordan kan jeg eksportere indholdet af en oracle-tabel til en fil?

  2. SQL Hent alle poster, der er ældre end 30 dage

  3. MariaDB Backup &PostgreSQL i skyen - ClusterControl Release 1.6.1

  4. Hvordan vælger jeg effektivt den tidligere ikke-nul værdi?