ฉันใช้งาน PSQL อยู่และกำลังพยายามเชื่อมต่อแอปพลิเคชัน Perl กับฐานข้อมูล มีคำสั่งให้ค้นหาพอร์ตและโฮสต์ปัจจุบันที่ฐานข้อมูลกำลังรันอยู่หรือไม่?
ฉันใช้งาน PSQL อยู่และกำลังพยายามเชื่อมต่อแอปพลิเคชัน Perl กับฐานข้อมูล มีคำสั่งให้ค้นหาพอร์ตและโฮสต์ปัจจุบันที่ฐานข้อมูลกำลังรันอยู่หรือไม่?
คำตอบ:
พอร์ต PostgreSQL 5432
เริ่มต้นคือ โฮสต์ที่ฐานข้อมูลกำลังดำเนินการอยู่นั้นควรได้รับจากผู้ให้บริการโฮสต์ของคุณ ฉันเดาว่ามันจะเป็นโฮสต์เดียวกับเว็บเซิร์ฟเวอร์หากไม่ได้ระบุไว้ โดยทั่วไปจะกำหนดค่าเป็น localhost โดยสมมติว่าเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ฐานข้อมูลของคุณอยู่ในโฮสต์เดียวกัน
psql
localhost:5432
นอกเสียจากว่าจะมีใครฉลาดกับ env vars / aliases / etc ฉันไม่ชอบคำตอบของฉันในอีกสิบปีต่อมา แต่การแก้ไข xแทน y นั้นดีมากและในกรณีนี้ได้ช่วยคนหลายร้อยคน
SELECT *
FROM pg_settings
WHERE name = 'port';
คำสั่งนี้จะให้หมายเลขพอร์ต postgres แก่คุณ
\conninfo
หาก postgres ทำงานบนเซิร์ฟเวอร์ Linux คุณสามารถใช้คำสั่งต่อไปนี้ได้
sudo netstat -plunt |grep postgres
หรือ (ถ้าเป็นไปรษณีย์)
sudo netstat -plunt |grep postmaster
และคุณจะเห็นสิ่งที่คล้ายกันเช่นนี้
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 140/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 140/postgres
ในกรณีนี้หมายเลขพอร์ตคือ 5432 ซึ่งเป็นหมายเลขพอร์ตเริ่มต้นด้วย
ลิงก์เครดิต
select inet_server_addr();
ให้ที่อยู่ IP ของเซิร์ฟเวอร์แก่คุณ
$postgres=# select inet_server_addr(); inet_server_addr ------------------ (1 row)
select inet_server_port();
ให้พอร์ตของเซิร์ฟเวอร์แก่คุณ
select inet_server_addr( ), inet_server_port( );
นี่เป็นวิธีที่ไม่ใช่ sql คำแนะนำจะได้รับในภาพตัวเอง เลือกเซิร์ฟเวอร์ที่คุณต้องการค้นหาข้อมูลเกี่ยวกับแล้วทำตามขั้นตอน
พอร์ต postgresql ถูกกำหนดไว้ในpostgresql.conf
ไฟล์ ของคุณ
สำหรับฉันใน Ubuntu 14.04 มันคือ: /etc/postgresql/9.3/main/postgresql.conf
ข้างในมีบรรทัด:
port = 5432
การเปลี่ยนหมายเลขต้องมีการรีสตาร์ท postgresql เพื่อให้มีผล
คุณสามารถใช้คำสั่งใน psql \conninfo
คุณจะได้รับYou are connected to database "your_database" as user "user_name" on host "host_name" at port "port_number".
จากเทอร์มินัลคุณสามารถทำได้:
\ conninfo
ฉันขอแนะนำให้อ่านเอกสารในรายการคำสั่งทั้งหมดโดยใช้:
\?
SELECT CURRENT_USER usr, :'HOST' host, inet_server_port() port;
นี่ใช้ psql ที่สร้างขึ้นในตัวแปร HOST ซึ่งมีเอกสารอยู่ที่นี่
และ postgres ฟังก์ชั่นข้อมูลระบบเอกสารที่นี่
HOST
/tmp
service postgresql status
ผลตอบแทน: 10 / หลัก (พอร์ต 5432): ออนไลน์
ฉันใช้ Ubuntu 18.04