Temukan nama host dan port menggunakan perintah PSQL


150

Saya menjalankan PSQL, dan saya mencoba untuk mendapatkan aplikasi perl yang terhubung ke database. Apakah ada perintah untuk menemukan port saat ini dan host yang menjalankan database?

Jawaban:


57

Port PostgreSQL default adalah 5432. Host tempat database beroperasi seharusnya disediakan oleh penyedia hosting Anda; Saya kira itu akan menjadi host yang sama dengan server web jika tidak ada yang ditentukan. Biasanya ini akan dikonfigurasi sebagai localhost, dengan asumsi server web Anda dan server database berada pada host yang sama.


Saya mengalami masalah ini juga, dan mencoba port 5433, dan ini bekerja
Jonny Manowar

5
Ini sebenarnya tidak menjawab pertanyaan.
sk

@sk. Baca konteksnya. OP tidak tahu host dan port untuk database postgres mereka. Mereka dapat terhubung dengan psqlperintah dasar , sehingga menyiratkan localhost:5432. Kecuali jika ada yang pandai dengan env vars / aliases / etc. Saya tidak menyukai jawaban saya satu dekade kemudian, tetapi menyelesaikan x bukannya y baik-baik saja dan dalam hal ini telah membantu ratusan orang.
Brad Koch

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

2
Ini tidak berfungsi jika Anda memiliki beberapa server di kluster yang sama, sayangnya ...
Vitor Baptista

2
Ini sebenarnya memberi Anda nomor port bukan host server.
HD1

2
@ hd1: Dan? Pertanyaannya adalah (juga) bagaimana cara mendapatkan nomor port. Dan itulah yang dikembalikan oleh kueri.
a_horse_with_no_name

ya, tetapi jika Anda tidak dapat terhubung ke database, Anda tidak dapat menjalankannya: P
jaydel

137

Perintah ini akan memberi Anda nomor port postgres

 \conninfo

Jika postgres berjalan di server Linux, Anda juga dapat menggunakan perintah berikut

sudo netstat -plunt |grep postgres

ATAU (jika itu datang sebagai kepala kantor pos)

sudo netstat -plunt |grep postmaster

dan Anda akan melihat sesuatu yang mirip seperti ini

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

dalam hal ini, nomor port adalah 5432 yang juga merupakan nomor port default

tautan kredit


1
itu akan datang sebagai kepala kantor pos untuk 5432.
kode

4
Ini adalah jawaban yang benar. jawaban yang dipilih benar tetapi tidak terkait dengan pertanyaan.
Luis Martins

42

select inet_server_addr(); memberi Anda alamat ip server.


2
Sayangnya ini tidak memberikan nama host "langsung" jika Anda terhubung melalui ssh proxy - saya terus mendapatkan "127.0.0.1"
Andrew Wolfe

8
Saya tidak mendapatkan apa pun:$postgres=# select inet_server_addr(); inet_server_addr ------------------ (1 row)
trex

Tidak memberikan nama host
Kumar Vaibhav

15

select inet_server_port(); memberi Anda port server.


3
Di bluehost kueri ini mengembalikan bidang kosong padahal kenyataannya port tersebut adalah 5432. Permintaan ini tidak selalu mengembalikan nomor port.
Eric Leschinski


12

Ini adalah metode non-sql. Instruksi diberikan pada gambar itu sendiri. Pilih server tempat Anda ingin mencari info dan kemudian ikuti langkah-langkahnya.

masukkan deskripsi gambar di sini


9

Port postgresql didefinisikan dalam postgresql.conffile Anda .

Bagi saya di Ubuntu 14.04 adalah: /etc/postgresql/9.3/main/postgresql.conf

Di dalamnya ada garis:

port = 5432

Mengubah nomor di sana membutuhkan restart postgresql agar bisa berlaku.


5

Anda bisa menggunakan perintah di psql \conninfo yang akan Anda dapatkanYou are connected to database "your_database" as user "user_name" on host "host_name" at port "port_number".


3

Dari terminal Anda dapat melakukan:

\ conninfo

Saya sarankan membaca dokumentasi pada daftar lengkap dari semua perintah menggunakan:

\


0

pergi ke "Terminal" dan ketik saja

service postgres status

Dalam hasilnya, Anda bisa mendapatkan detail portMenjalankan detail postgres

Dalam kasus saya ini berjalan pada port "5432" (default).
Saya menggunakan CentOS 7. Semoga ini bisa membantu.


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

Ini menggunakan psql's built in HOST variabel, didokumentasikan di sini

Dan Fungsi Informasi Sistem postgres, didokumentasikan di sini


Jika Anda terhubung secara lokal, HOSTakan menjadi direktori di mana soket domain UNIX Anda berada, misalnya /tmp.
Uskup

0
service postgresql status

pengembalian: 10 / utama (port 5432): online

Saya menjalankan Ubuntu 18.04

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.