sql >> Database >  >> RDS >> PostgreSQL

psql:kan geen verbinding maken met de server:geen bestand of map (Mac OS X)

WAARSCHUWING:Als je postmaster.pid verwijdert zonder er zeker van te zijn dat er geen postgres zijn processen die u uitvoeren, kunnen uw database permanent beschadigen . (PostgreSQL zou het automatisch moeten verwijderen als de postmaster heeft afgesloten.)

OPLOSSING:dit loste het probleem op - ik heb dit bestand verwijderd en toen werkte alles!

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

--

en hier is hoe ik erachter kwam waarom dit moest worden verwijderd.

  1. Ik heb de volgende opdracht gebruikt om te zien of er PG-processen actief waren. voor mij waren er geen, ik kon de PG-server niet eens starten:

    ps auxw | grep post
    
  2. Ik heb gezocht naar het bestand .s.PGSQL.5432 dat in de bovenstaande foutmelding stond. ik heb het volgende commando gebruikt:

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

    dit liet niets zien na het doorzoeken van mijn hele computer, dus het bestand bestond niet, maar duidelijk psql "wilde het" of "dacht dat het er was".

  3. Ik heb mijn serverlogboeken bekeken en zag de volgende fout:

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

    aan het einde van het serverlogboek zie ik de volgende fout:

    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. Na het advies in de foutmelding heb ik het postmaster.pid-bestand verwijderd in dezelfde map als server.log. Dit loste het probleem op en ik kon opnieuw opstarten.

Dus het lijkt erop dat mijn macbook vastliep en hard opnieuw werd opgestart, waardoor Postgres dacht dat zijn processen nog steeds actief waren, zelfs na opnieuw opstarten. Het verwijderen van dit bestand is opgelost. Hoop dat dit anderen helpt! Veel mensen hebben vergelijkbare problemen, maar de meeste antwoorden hadden te maken met bestandsrechten, terwijl in mijn geval de zaken anders waren.



  1. Mysql-query om rijen dynamisch naar kolommen te converteren op basis van twee kolommen

  2. Hoe laat u uw database veel talen spreken?

  3. Room Persistence Library importeren in een Android-project

  4. GeoDjango op Windows:Kon de GDAL-bibliotheek niet vinden / OSError:[WinError 126] De opgegeven module kon niet worden gevonden