OS X Server kullanarak MacMini Sunucumu Lion Server'dan Mountain Lion'a yükselttim. Geçen yıl Lion Server'ı ilk kurduğumda yaşadığım problemin aynısını PostgreSQL ile yaşıyorum.
Herhangi bir PostgreSQL terminal komutunu yapmaya çalıştığımda, birçok kişinin yıllar içinde aldığı şu kötü şöhretli hata mesajını alıyorum:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Hatayı aldığımda _postgres şifresini değiştirmeye çalışıyordum. Birkaç komut denedim ama aynı hatayı aldım. Sunucumu yeniden başlattım ama şansım yok. / Var / pgsql_socket'e bakmak için root olarak oturum açtım ve klasör boş. / Var / pgsql_socket_alt klasörü de boş.
İnternette bununla ilgili kontrol ettim. Bununla birlikte, Stack Overflow dahil olmak üzere okuduğum tüm çözümler, PostgreSQL'in kaldırılmasını ve yeniden kurulmasını öneriyor. Bilmiyorum ama bu mantıklı bir seçenek gibi görünmüyor çünkü Sunucu Uygulamasındaki birçok seçenek PostgreSQL kullanıyor. Apple Kurumsal Destek ile iletişime geçtim (anlaşma yok) ve sorunumun 695 dolara mal olacak geliştiriciler tarafından çözülmesi gerektiği söylendi.
Şu anda kapalı olan bir web sitem var çünkü onu yeniden inşa edemiyorum. Bu noktada yardım için nereye başvuracağımı bilmiyorum. Bir şey bulabilir miyim diye çevrimiçi bakmaya devam edeceğim. Ancak, veritabanımı yeniden oluşturabilmem için birinin bana hızlı bir şekilde yanıt vermesini umuyorum.
Güncelleme: 12/13/2012 15:33 GMT-6
İşte ps auwx | grep postg için çıktım:
_postgres 28123 0.0 0.1 2479696 7724 ?? Ss 3:01PM 0:00.04 /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/PostgreSQL For Server Services/Data -c listen_addresses= -c log_connections=on -c log_directory=/Library/Logs/PostgreSQL -c log_filename=PostgreSQL_Server_Services.log -c log_line_prefix=%t -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c unix_socket_directory=/Library/Server/PostgreSQL For Server Services/Socket -c unix_socket_group=_postgres -c unix_socket_permissions=0770
server1 28216 0.0 0.0 2432768 620 s000 R+ 3:02PM 0:00.00 grep postg
_postgres 28138 0.0 0.0 2439388 752 ?? Ss 3:01PM 0:00.01 postgres: stats collector process
_postgres 28137 0.0 0.0 2479828 1968 ?? Ss 3:01PM 0:00.00 postgres: autovacuum launcher process
_postgres 28136 0.0 0.0 2479696 544 ?? Ss 3:01PM 0:00.00 postgres: wal writer process
_postgres 28135 0.0 0.0 2479696 732 ?? Ss 3:01PM 0:00.01 postgres: writer process
_postgres 28134 0.0 0.0 2479696 592 ?? Ss 3:01PM 0:00.00 postgres: checkpointer process
_postgres 28131 0.0 0.0 2439388 368 ?? Ss 3:01PM 0:00.00 postgres: logger process
Güncelleme: 12/13/2012 18:10 GMT-6
Yoğun web aramasından sonra bu video bulundu. PostgreSQL'i çalıştırabildim ve hatayı kaldırabildim. Pgadmin ve phppgadmin kullanarak bağlanabiliyorum. Tam bir hayal kırıklığı yüzünden Lion Server'a geri dönmek üzereydim. Şimdi zorunda kalmayacağım.
psql
Aşağıdaki yerlerde de olduğuPATH
yüklü sürümü önce. Unix soketini farklı yerlerde ararlar. Ya belirterek tcp / ip kullanın-h localhost
ya da tercihen düzeltin,PATH
böylece doğrupsql
olan ilk bulunur. Apple'ın sadece PostgreSQL'i paketlemekle kalmayıp aynı zamanda işleri standart olmayan yerlere koyması yönündeki tuhaf kararı bu sorunun temel nedenidir.