Yerel PostgreSQL'e bağlanılamıyor


124

Yerel geliştirme ortamımı geliştirmeyi başardım.

Tüm yerel Rails uygulamalarım artık şu hatayı veriyor:

PGError
could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

Buna neyin sebep olduğu hakkında hiçbir fikrim yok.

Bir çözüm ararken, paketlenmiş tüm mücevherleri, güncellenmiş sistem mücevherlerini, güncellenmiş MacPorts'u güncelledim. Neşe yok.

Diğerleri, Postgres'in hangi sürümünün kullanılması gerektiği (yani OSX sürümü veya MacPorts sürümü) konusundaki kafa karışıklığı nedeniyle OSX Leopard'dan Lion'a yükseltme yaparken bu sorunu bildirdi. Birkaç aydır Lion'ı çalıştırıyorum, bu yüzden bunun şimdi olması garip görünüyor.

Sorunun ne olduğunu anlamadan çok fazla uğraşmak istemiyorum. Bunu metodik olarak nasıl hata ayıklayabilirim?

Sistemimde PostgreSQL'in kaç sürümü olduğunu, hangisine erişildiğini ve nerede olduğunu nasıl belirleyebilirim? Yanlış PostgreSQL kullanılıyorsa bunu nasıl düzeltebilirim?

Çaylak soruları için özür dilerim. Hala bunun nasıl çalıştığını öğreniyorum! Herhangi bir işaret için teşekkürler.

DÜZENLE

Aşağıdaki önerilere ve yorumlara dayalı bazı güncellemeler.

pg_lsclustersBir command not foundhata döndüren çalıştırmayı denedim .

Daha sonra pg_hba.conf dosyamı yerelleştirmeyi denedim ve şu üç örnek dosyayı buldum:

/opt/local/share/postgresql84/pg_hba.conf.sample
/opt/local/var/macports/software/postgresql84/8.4.7_0/opt/local/share/postgresql84/pg_hba.conf.sample
/usr/share/postgresql/pg_hba.conf.sample

Öyleyse 3 PSQL sürümünün kurulu olduğunu varsayıyorum? Macports, OSX varsayılanı ve ???.

Daha sonra, ps -ef | grep postgresdönen launchctl başlangıç ​​betiği için bir arama yaptım

0    56     1   0 11:41AM ??         0:00.02 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none
  500   372     1   0 11:42AM ??         0:00.17 /opt/local/lib/postgresql84/bin/postgres -D /opt/local/var/db/postgresql84/defaultdb
  500   766   372   0 11:43AM ??         0:00.37 postgres: writer process                                                                                                                                                                                                                                                                                                                   
  500   767   372   0 11:43AM ??         0:00.24 postgres: wal writer process                                                                                                                                                                                                                                                                                                               
  500   768   372   0 11:43AM ??         0:00.16 postgres: autovacuum launcher process                                                                                                                                                                                                                                                                                                      
  500   769   372   0 11:43AM ??         0:00.08 postgres: stats collector process                                                                                                                                                                                                                                                                                                          
  501  4497  1016   0 12:36PM ttys000    0:00.00 grep postgres

Postgresql84-server.wrapper içeriğini http://pastebin.com/Gj5TpP62 adresinde yayınladım .

Çalıştırmayı denedim port load postgresql184-serverama bir hata aldım Error: Port postgresql184-server not found.

Hala bunu nasıl düzelteceğimi çok karıştırdım ve "aptallar için" işaretçiler için teşekkür ederim.

Teşekkürler!

EDIT2

Bu sorun, daemondo ile bazı sorunlar yaşadıktan sonra başladı. Yerel Rails uygulamalarım "daemondo gem bulunamadı" satırlarında bir uygulama hatasıyla çöküyordu. Ardından sorunu denemek ve bulmak için bir dizi paket güncellemesi, mücevher güncellemesi, bağlantı noktası güncellemesi ve demleme güncellemeleri uyguladım.

Bu hata daemondo ile ilgili bir sorun olabilir mi?


Uygulamanız bağlandığında, unix alan soketi yerine tcp portu üzerinden bağlandığını unutmayın. Bu nedenle, en azından localhost'tan ağ bağlantılarını kabul etmek için postgres yapılandırmanız gerekir.
Paul Tomblin

Neden buna inanıyorsun Açıkçası sürücüler Unix soketi üzerinden bağlanmaya çalışıyor. Soketi yanlış yerde aramalarına rağmen.
Milen A. Radev


Kesinlikle. Mac-şey gibi görünüyor. OP, postmaster'ın çalıştığını doğruladıktan sonra -h işaretini kullanabilir.
wildplasser

Lütfen çıktısını pg_lsclustersve pg_hba.confdosyanızı gönderin .
tscho

Yanıtlar:


66

Bu gerçekten bir dosya izin hatası gibi görünüyor. Unix alan soketleri dosyalardır ve tıpkı diğerleri gibi kullanıcı izinlerine sahiptir. Veritabanına erişmeye çalışan OSX kullanıcısının soket dosyasına erişmek için dosya izinleri yok gibi görünüyor. Bunu onaylamak için Ubuntu ve psql'de aynı hatayı oluşturmaya çalışmak için bazı testler yaptım (aşağıda dahil edilmiştir).

Soket dosyası ve dizinlerindeki izinleri kontrol etmeniz gerekir /varve /var/pgsql_socket. Rails uygulamanızın (OSX kullanıcısı) bu dizinlerde yürütme (x) izinlerine sahip olması (tercihen herkese izinler vermesi) ve soketin tam izinlere (wrx) sahip olması gerekir. Bunları ls -lAd <file>kontrol etmek için kullanabilirsiniz ve bunlardan herhangi biri bir sembolik bağlantı ise, dosyayı kontrol etmeniz veya bağlantıyı işaret etmeniz gerekir.

Dizindeki izinleri kendiniz değiştirebilirsiniz, ancak soket postgres in tarafından yapılandırılır postgresql.conf. Bu, ile aynı dizinde bulunabilir pg_hba.conf(Hangisinin olduğunu bulmanız gerekir). İzinleri ayarladıktan sonra postgresql'i yeniden başlatmanız gerekecek.

# postgresql.conf should contain...
unix_socket_directory = '/var/run/postgresql'       # dont worry if yours is different
#unix_socket_group = ''                             # default is fine here
#unix_socket_permissions = 0777                     # check this one and uncomment if necessary.

DÜZENLE:

Google'da ilgili olup olmadığını görmek için incelemek isteyebileceğiniz hızlı bir arama yaptım. Bu find, yapılandırma dosyanızın herhangi bir girişiminin başarısız olmasına neden olabilir .

http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html


Hata mesajları:

Kullanıcı pg_hba.conf içinde bulunamadı

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "couling", database "main", SSL off

Kullanıcı şifre doğrulamada başarısız oldu:

psql: FATAL:  password authentication failed for user "couling"

Eksik unix soket dosyası:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Unix soketi var, ancak sunucu onu dinlemiyor.

psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Unix soket dosyasında hatalı dosya izinleri :

psql: could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

1
bu fikirler için teşekkürler @couling. Bu doğru yön gibi geliyor. Ama kurulumumda çok tuhaf bir şey var. Bunun yakın zamana kadar mükemmel şekilde çalıştığını unutmayın. Sistemimdeki üç postgres dizinine baktım, hepsi conf.sample dosyaları (pg_hba, pg_ident, pg_service, vb.) İçeriyor ama .conf dosyaları içermiyor. Durum böyle olmamalı, değil mi? Ayrıca .s.PGSQL.5432 içermesi gereken dizin boştur. Bunun yerine /private/tmp/.s.PGSQL.5432.lock adresinde bulunan bir dosyam var. PSpostgres işlemlerini döndürür, böylece çalışır. Şaşkın!
Andy Harvey

Fazladan bir bağlantı ekledim. Bildiğim kadarıyla postgresql.conf olmadan postgresql'e sahip olamazsınız (yeniden adlandırılmış olsa bile). İlk göreviniz bunu bulmak olmalı.
Philip Couling

1
Dizinlerimde gezinmek ve doğru dosyaları bulmak biraz zaman aldı, ama aslında sorun buydu. Çok detaylı cevap için teşekkürler. Doğru dizini bulduğumda postgresql.conf içinde soket dizinini, veri dizinini, hba_file ve ident_file dosyasını ayarlamam gerekiyordu. Teşekkür ederim!
Andy Harvey

1
Bazı insanlara yardımcı olabilir: Hesabıma postgres yüklemek için brew kullandım. Benim durumumda / var / pgsql_socket / klasörünün _postgres kullanıcısına ait olduğu ve sahipliği hesabıma (darren) değiştirmenin bu sorunu çözdüğü ortaya çıktı. Brew neden ilk başta bu klasörün sahipliğini doğru bir şekilde ayarlamadığından emin değil misiniz?
Darren Jensen

Teşekkür ederim. Bağlanamadım ve unix_socket_directory'yi kurmak yapılacak doğru şeydi.
Ryan Bigg

41

İçimden gelen his, bunun (yine) bir mac / OSX-şey olduğu yönündedir: ön uç ve arka uç, unix etki alanı soketi için farklı bir konum varsayar (bir buluşma noktası olarak işlev görür ).

Kontrol Listesi:

  • Postgres çalışıyor mu: ps aux | grep postgres | grep -v grephile yapmalı
  • Soket nerede bulunur: find / -name .s.PGSQL.5432 -ls(soket / tmp içindeydi; oraya bakmaya başlayabilirsiniz)
  • (unix-alan) soketini bulsanız bile, istemci farklı bir konum kullanabilir. (bu, farklı buluşma adresleri kullanan istemci ve sunucu ile dağıtımları karıştırırsanız veya bir yere kurulu bir dağıtımınız varsa ve başka bir yerde başka bir (örn. kaynaktan) kurulumunuz varsa olur) .

Postgres çalışıyorsa ve soket gerçekten varsa, şunları kullanabilirsiniz:

  • psql -h /the/directory/where/the/socket/was/found mydbname

(unix alan soketine bağlanmaya çalışan)

; şimdi psql komut istemini almalısınız: deneyin \dve sonra \qçıkın. Şunları da deneyebilirsiniz:

  • psql -h localhost mydbname.

(localhost'a bağlanmaya çalışan (127.0.0.1)

Bu girişimler yetersiz yetkilendirme nedeniyle başarısız olursa, pg_hba.conf'u değiştirebilir (ve SIGHUP veya yeniden başlatabilirsiniz) Bu durumda: ayrıca günlükleri de kontrol edin.

Benzer bir soru: Postgres başlatılamıyor

Not: psql komut istemine ulaşabilirseniz, bu sorunun hızlı çözümü yalnızca sizin adresinizi değiştirmektir config/database.yml, şunu ekleyin:

host: localhost

veya eklemeyi deneyebilirsiniz:

host: /the/directory/where/the/socket/was/found

Benim durumumda, host: /tmp


1
@wildplasser cevabınız için teşekkürler. Bu beni doğru yönde başlattı ve couling'in ayrıntılı cevabı çözümü verdi.
Andy Harvey

6
Host: localhost'u database.yml'ime eklemek sorunumu çözdü. Teşekkürler :)
Automatico

1
benimki / özel / .... tuhaf. Onu kurdum, ancak bu dizüstü bilgisayar daha önce çok sorun yaşıyordu. Tuhaf. o database.yml anahtardı!
pjammer

4
Tuhaf. Database.yml dosyama "localhost" eklemek de işe yaradı ama neden böyle? Daha önce sahip değildim ve her şey yolunda gidiyordu. Ama geç bir şey eklediğimi sanmıyorum ve aniden öyle oldu. > _ <
dizin

1
benim için püf noktası soket yoluydu - / var / run değil / run idi - teşekkürler!
qodeninja

26

Pg gem ( gem uninstall pg) 'i kaldırmayı ve sonra yeniden yüklemeyi deneyin - eğer paketleyici kullanıyorsanız, o zaman bundle install, değilse gem install pg. Ayrıca, yolun doğru sürümü aldığından emin olun: Lion, bir posgresql sürümüne sahiptir (önceki sürümler yoktu) ve yerel olarak yüklenen sürümünüzden önceki yolda olabilir (örneğin, MacPorts, homebrew).

Benim durumumda: postgresql'in homebrew kurulumu, güncellenmiş postgresql, raylar vb. Ve sonra bu hatayı aldım. PG gemini kaldırmak ve yeniden yüklemek benim için yaptı.


8
bundle exec gem pristine pg <== da işe yarayacak
Ben Walding

Hiç şüphem yok, OP'nin hatası birçok şeyden kaynaklanıyor olabilir, ancak bu benim için çalışan çözüm.
redhotvengeance

20

Soket dosyasının konumu, derleme zamanında gem'e eklenir. Bu nedenle, pg geminizi yeniden oluşturmanız gerekir.

gem pristine pg
# or
bundle exec gem pristine pg

Bu, söz konusu sorunu çözmelidir.


Postgres'i 9.1x'ten 9.3x'e yükselttikten sonra bu soruda açıklanan sorunu almaya başladım. Bu cevap benim için sorunu çözdü (veritabanı.yml'ime 'localhost' ekledim, ancak bu yaklaşımı daha çok seviyorum).
Joshua Flanagan

16

Benzer bir hata alıyorsanız:

psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Bu hile yapabilir (benim için yaptı):

initdb /usr/local/var/postgres -E utf8

OSX / Brew kullanmıyorsanız, belirtilen dizin farklı olmalıdır.

Not: Bu, yukarıda görülen tam hata mesajı değildir, ancak bu ileti dizisi, bu hata mesajının ilk sonucudur.


6
Her zaman ara sıra bu sorunu yaşıyorum, ancak bu sorunu ilk kez BU çözümle çözüyorum. Ayrıca, rm -fr /usr/local/var/postgresinitb
koşmadan

1
Bunu yaptıktan sonra (hem Neal's hem de Raf's), "Fatal" veri tabanı yok hatası aldım. Sonra "rake db: create: all" ve "rake db: migrate" çalıştırıldı ve sonunda her şey yeniden çalıştı.
Deborah

Ben de yapmak zorunda rm -rf /usr/local/var/postgressonra initdb /usr/local/var/postgres -E utf8. Ancak bunu yaptığınızda postgres'in çalışmadığından emin olun, aksi takdirde dizin hemen yeniden oluşturulur.
Josh W Lewis

8

bu hatayı benim için çözen şey, postgres dizinindeki postmaster.pid adlı bir dosyayı silmekti. Adım adım talimatlar için lütfen aşağıdaki bağlantıyı kullanarak soruma / cevabıma bakın. sorunum dosya izinleriyle ilgili değildi:

psql: sunucuya bağlanılamadı: Böyle bir dosya veya dizin yok (Mac OS X)

bu soruyu cevaplayan insanlar çok fazla oyun bıraktı, bunun için teşekkürler! elimden geleni yaptım


Kabul edilen cevap burada bir dosya izinleri sorununu belirttiğinden, yayınınızın ve bunun ilişkili olmadığı anlaşılıyor.
Andrew Barber

7

Kısmen wildplass'ın cevabına dayanarak bu hata mesajını bu şekilde çözdüm.

find / -name .s.PGSQL.5432 -ls 2> /dev/null
  => ... /tmp/.s.PGSQL.5432

Yani, benim soketim ya da her neyse, ama müşteri onu şurada arıyor:

/var/run/postgresql/.s.PGSQL.5432

Dolayısıyla, şunlarla sembolik bir bağlantı kurun /tmp/.s.PGSQL.5432:

sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

Umarım bu herkese yardımcı olur. Biraz yanlış gibi görünüyor, ama hey, işe yarıyor!


1
Bu benim için çalıştı: sudo ln -s /tmp/.s.PGSQL.5432 /var/pgsql_socket/.s.PGSQL.5432
ardochhigh

Thanx :) Bu yardımcı oldu. Ancak sembolik bağlantı oluşturmadan önce sudo mkdir /var/run/postgresqlklasör oluşturmayı unutmayın (benim durumumda kimliği yoktu ve sayfa 9.3.X için yükleyici tarafından oluşturulmamıştı).
kovpack

2
Oh, bu çözüm, her yeniden başlatmadan sonra yeniden yapmam gereken 'tek seferlik' çözüm oldu. Rails için başka bir çözüm buldum - veritabanı yapılandırma dosyasını değiştirin (aşağıda yanıt eklendi).
kovpack

6

Bunu yeni bir postaya yükselttikten sonra almaya başladım - veri dosyalarım olduğunu bilmiyordum.

Önce postgres sunucusunu başlatmayı denedim:

postgres -D /usr/local/var/postgres

bu hatayı böyle gördüm

FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.0, which is not compatible with this version 9.3.5.

Sonra bu cevabı SO'da - bir uyumsuzluk hatasıyla ilgili buldum: /server/342626/how-do-i-upgrade-postgresl-database-incompatibility-error

Bu onu düzelten şey

mv /usr/local/var/postgres /usr/local/var/postgres.old
initdb -D /usr/local/var/postgres

4

Sadece PSQL ve Django'da benzer bir sorun yaşadığımı onaylayarak,

Görünüşe göre psql sunucum doğru şekilde kapatılmamıştı ve postmaster.pid dosyası postgres klasörümde hala mevcuttu (uygun şekilde kapatıldığında otomatik olarak silinmelidir).

Bunu sildim ve her şey yolunda


2
Bu benim için sorunu çözen şeydi. Bilgisayarım dondu ve sert bir kapatma yapmak zorunda kaldım. Ben başladığımda o yedeklemek postgres diyordu psql: could not connect to server: No such file or directory.Çıkarma postmaster.piddan /usr/local/var/postgrestekrar yapılan her şey çalışması.
Ryan Epp

1
Bana da olan buydu. Mac'im bir çekirdek paniği nedeniyle yeniden başlatıldı ve işe dönmeden önce postmaster.pid'i silmem gerekti.
Ben

4

Aynı hatayı alıyordum (bunun bir hata olduğu ortaya çıktı postmaster.pid. Postgres'i şu şekilde hazırladım ve tekrar çalıştırdım ( düzeltme için Ricardo Burillo'ya teşekkür edin ):

$ rm /usr/local/var/postgres/postmaster.pid 
$ pg_resetxlog -f /usr/local/var/postgres

Bu benim için çalıştı, ancak pg_resetxlogdöndürülen kilit dosyası "postmaster.pid" var.
Elise

3

Postgresql'i raylarla kullanmaya çalışırken benzer bir problem yaşadım. Gem pg'nin yeni sürümünü kullanmak için Gemfile'ımı güncellemek bu sorunu benim için çözdü. (gem pg sürümü 0.16.0 çalışır). Gemfile kullanımında:

gem 'pg', '0.16.0'

daha sonra mücevheri güncellemek için aşağıdakileri çalıştırın

bundle install --without production
bundle update
bundle install

1
Bu benim için de sorunu çözdü. Rails 4.0 beta sürecinden 0.15.1 üzerindeydim ve şimdi Ruby 2.0.0 kullanıyordum. Sayfa 0.16.0'a yükselttikten sonra sorun çözüldü.
bratsche

4.1.0.beta1'de benim için sorunu çözdü
Andreas

3

Bu hatayla ilgili birçok konu okudum ve benim için çözüm, postaları şu şekilde yeniden başlatmaktı:

sudo service postgresql restart

Burada bahsedilmeyen.


3
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Bir süredir çözümü arıyorum. Yani, bu benim için de sorunu çözdü (reinit db):

rm -r /usr/local/var/postgres  
initdb /usr/local/var/postgres -E utf8  
pg_ctl -D /usr/local/var/postgres -l logfile start

Demleme ile OS X 10.11.3 kullanıyorum.


2

Bu bana bugün Macbook'umun pili bittikten sonra oldu. Bunun yanlış kapatmadan kaynaklanabileceğini düşünüyorum. Benimki gibi durumlarda tek yapmanız gereken postmaster.pid silmek.

Klasöre gidin

cd /usr/local/var/postgres

Postmaster.pid'nin mevcut olup olmadığını kontrol edin

ls

Postmaster.pid dosyasını kaldır

rm postmaster.pid

2

Benim durumumda önceki çözümlerin hiçbiri iyi değildi. Soket kullanmak yerine Rails yapılandırma dosyasında TCP host+ portnumarasını kullanabilirsiniz . Yani database.ymldosyaya şuradaki gibi iki satır ekleyin:

...
adapter: postgresql
encoding: unicode
pool: 5
host: localhost
port: 5432

Bu benim sorunumu çözdü :)

Bu düzeltmeyi kullanmadan önce:

sudo mkdir /var/run/postgresql
sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

Ancak her yeniden başlatmanın /tmp/.s.PGSQL.5432ardından silindi ve bu komutları tekrar etmem gerekti. Çözüm işe yarıyor, ancak korkunç, bu yüzden sadece Rails veritabanı yapılandırma dosyasını değiştirmeniz daha iyi :)


2

Posgtres'i Django ile kurarken bu hatayı aldım, Back Track kullanıyorum ve Postgres kurulu olarak geliyor. Sorun ayarların olduğunu varsayıyorum. Tamamen kaldırıp yeniden yükleyerek düzelttim.

sudo apt-get remove postgresql
sudo apt-get purge postgresql

Şimdi çalıştırın:

apt-get --purge remove postgresql\*

PostgreSQL'i sisteminizden kaldırmak için. Postgres paketini temizlemek, yalnızca boş bir meta paket olduğu için yeterli değildir.

Tüm PostgreSQL paketleri kaldırıldıktan sonra şunu çalıştırın:

rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres

Artık şunları yapabilmelisiniz:

apt-get install postgresql

1

MacOSX burada. Postresql kurulumumu homebrew kullanarak 9.1 öncesinden 9.1.2'ye yükselttikten sonra da aynı sorunu yaşadım. (Bu arada, pg_dump ile yükseltmeden önce veritabanlarını dökmeyi unutmayın, 9.1 öncesi veritabanları uyumsuzdur.) Aynı sorun, aynı hata mesajları.

PG gemini kaldırmak benim için hile yaptı. Aslında sorunu keşfetmek için biraz dans etmeliydim. İlk önce, tüm eski mücevherlerin destesini temizleyerek (birkaç tane vardı) küresel bir mücevher kaldırdım. Sonra Gemfile'ımdan pg'yi kaldırdım, geri döndüm, pg referansını geri yükledim ve bir kez daha ribaund yaptım.

Ondan sonra bir cazibe gibi çalıştı.


1

Merhaba dünya :)
Benim için en iyi ama tuhaf yol, sonraki şeyler yapmaktı.

1) postgres93.app veya başka bir sürümü indirin . Bu uygulamayı / Uygulamalar / klasörüne ekleyin.

2) Dosyaya bir satır (komut ) ekleyin.bash_profile (ana dizinimde bulunan) :

dışa aktar PATH = / Applications / Postgres93.app / Contents / MacOS / bin /: $ PATH
Bu bir PATH var psqldan Postgres93.app. Satır (komut), konsol her başlatıldığında çalışır.

3) Başlatma Postgres93.appgelen /Applications/klasörü. Yerel bir sunucu başlatır (bağlantı noktası "5432" ve ana bilgisayar "localhost").

4) Tüm bu manipülasyonlardan sonra, çalıştırdığım $ createuser -SRDP user_nameve diğer komutları çalıştırdığım ve işe yaradığını gördüğüme sevindim ! Postgres93.appsisteminiz her başladığında çalıştırılabilir.

5) Ayrıca veritabanlarınızı grafiksel olarak görmek istiyorsanız yüklemelisiniz PG Commander.app. Postgres DB'nizi güzel veri tabloları olarak görmenin iyi bir yolu

Elbette, yalnızca yerel sunucu için yararlıdır. Bu talimatların bu sorunla karşılaşanlara yardımcı olmasından memnun olurum.


0

Bu problem beni rahatsız ediyordu ve daha fazla araştırma yaptıktan sonra (çalışıyor rake db:setup), rayların DATABASE_URL olarak env değişkenlerinde depolanan daha önce kullanılmış bir postgres örneğine bağlanmaya çalıştığını gördüm.

Çözüm: unset DATABASE_URL

kaynak: https://stackoverflow.com/a/17420624/2577622


0

Bu soruna yönelik çözümlerin çoğunu denedim ama işe yaramadım.

lsof -P | grep ':5432' | awk '{print $2}'Çalışan sürecin PID'sini gösteren koştum . Ancak onu öldüremedim kill -9 <pid>.

Çalıştırdığımda pkill postgresqlsüreç sonunda durdu. Bu yardımcı olur umarım.


0
gem uninstall pg

Homebrew ile OS X'te:

gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.