PSQL komutlarını kullanarak ana bilgisayar adını ve bağlantı noktasını bulun


150

PSQL çalışıyorum ve veritabanına bağlanan bir perl uygulaması almaya çalışıyorum. Veritabanının üzerinde çalıştığı geçerli bağlantı noktasını ve ana bilgisayarı bulmak için bir komut var mı?

Yanıtlar:


57

Varsayılan PostgreSQL bağlantı noktası 5432. Veritabanının üzerinde çalıştığı ana bilgisayar, barındırma sağlayıcınız tarafından sağlanmalıdır; Biri belirtilmemiş olsaydı web sunucusu ile aynı ana bilgisayar olacağını tahmin ediyorum. Genellikle web sunucunuzun ve veritabanı sunucunuzun aynı ana bilgisayarda olduğu varsayılarak, localhost olarak yapılandırılır.


Ben de bu sorunla karşılaştım ve 5433 portu deniyorum ve bu çalışıyor
Jonny Manowar

5
Bu aslında soruyu cevaplamıyor.
sk

@sk Bağlamı okuyun. OP postgres veritabanı için ana bilgisayar ve bağlantı noktasını bilmiyordu. Temel bir psqlkomutla bağlanabilirler , bu da ima eder localhost:5432. Birisi env vars / takma adlar / vb. On yıl sonra cevabımı sevmiyorum, ancak y yerine x'i çözmek gayet iyi ve bu durumda yüzlerce insana yardımcı oldu.
Brad Koch

228
SELECT *
FROM pg_settings
WHERE name = 'port';

2
Aynı kümede birden çok sunucunuz varsa bu işe yaramaz maalesef ...
Vitor Baptista

2
Bu aslında size sunucu ana bilgisayar değil bağlantı noktası numarasını verir.
hd1

2
@ hd1: Ya? Soru, (ayrıca) port numarasının nasıl alınacağıydı. Sorgu geri döner.
a_horse_with_no_name

evet, ancak veritabanına bağlanamıyorsanız, bunu yürütemezsiniz: P
jaydel

137

Bu komut size postgres port numarası verecektir.

 \conninfo

Linux sunucusunda postgres çalışıyorsa, aşağıdaki komutu da kullanabilirsiniz

sudo netstat -plunt |grep postgres

VEYA (postacı olarak geliyorsa)

sudo netstat -plunt |grep postmaster

ve buna benzer bir şey göreceksiniz

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      140/postgres
tcp6       0      0 ::1:5432                :::*                    LISTEN      140/postgres

bu durumda, bağlantı noktası numarası 5432'dir ve bu da varsayılan bağlantı noktası numarasıdır

kredi bağlantısı


1
5432 için postmaster olarak geliyor.
codebased

4
Bu doğru cevap. seçilen cevap doğrudur ancak soru ile ilgili değildir.
Luis Martins

42

select inet_server_addr(); size sunucunun ip adresini verir.


2
ne yazık ki bu ssh proxy üzerinden bağlanıyorsanız "canlı" ana bilgisayar adı vermez - "127.0.0.1" alıyorum
Andrew Wolfe

8
Hiçbir şey alamadım:$postgres=# select inet_server_addr(); inet_server_addr ------------------ (1 row)
trex

Ev sahibi adını vermedi
Kumar Vaibhav

15

select inet_server_port(); size sunucunun portunu verir.


3
Bluehost'ta bu sorgu gerçekte port 5432 olduğunda boş bir alan döndürür. Bu sorgu her zaman port numarasını döndürmez.
Eric Leschinski

13
select inet_server_addr( ), inet_server_port( );

1
Bu nasıl Kaarel Kitsemets en çok da farklı olduğu cevap ve Andromida en cevabı ?
Tüm İşçiler

1
Tek bir kopyala yapıştır çözümü olarak sorulan soruya cevap verir.
gerardw

12

Bu sql olmayan bir yöntemdir. Resmin kendisinde talimatlar verilmiştir. Hakkında bilgi bulmak istediğiniz sunucuyu seçin ve ardından adımları izleyin.

resim açıklamasını buraya girin


9

Postgresql bağlantı noktası postgresql.confdosyanızda tanımlanır .

Ubuntu 14.04'te benim için: /etc/postgresql/9.3/main/postgresql.conf

İçinde bir çizgi var:

port = 5432

Buradaki sayının değiştirilmesi, etkili olması için postgresql'nin yeniden başlatılmasını gerektirir.


5

Sen-ebilmek \conninfo almak psql komutunu kullanabilirsinizYou are connected to database "your_database" as user "user_name" on host "host_name" at port "port_number".


3

Terminalden şunları yapabilirsiniz:

\ conninfo

Kullanarak tüm komutların kapsamlı listesinde bir belge okuma öneririz:

\?


0

"Terminal" e gidin ve yazın

service postgres status

Sonuçlarda liman detaylarını alabilirsinizPostgres ayrıntılarını çalıştırma

Benim durumumda "5432" bağlantı noktasında çalışıyor (varsayılan).
CentOS 7 kullanıyorum.


0
SELECT CURRENT_USER usr, :'HOST' host, inet_server_port() port;

Bu, burada belgelenen psql yerleşik HOST değişkenini kullanır

Ve burada belgelenen Sistem Bilgi İşlevleri


Yerel olarak bağlanıyorsanız, HOSTUNIX etki alanı soketinizin bulunduğu dizin olacaktır, örn /tmp.
piskopos

0
service postgresql status

döner: 10 / ana (bağlantı noktası 5432): çevrimiçi

Ubuntu 18.04 kullanıyorum

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.