【发布时间】:2011-08-01 16:40:45
【问题描述】:
我正在运行 PSQL,并试图让 perl 应用程序连接到数据库。是否有命令可以找到数据库正在运行的当前端口和主机?
【问题讨论】:
标签: postgresql psql
我正在运行 PSQL,并试图让 perl 应用程序连接到数据库。是否有命令可以找到数据库正在运行的当前端口和主机?
【问题讨论】:
标签: postgresql psql
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,这也是默认端口号
学分link
【讨论】:
默认的 PostgreSQL 端口是5432。数据库正在运行的主机应该由您的托管服务提供商提供;如果没有指定,我猜它与 Web 服务器的主机相同。通常,这将配置为 localhost,假设您的 Web 服务器和数据库服务器位于同一主机上。
【讨论】:
psql 命令连接,这意味着localhost:5432。除非有人对 env vars/aliases/etc 很聪明。十年后我不喜欢我的答案,但 solving the x 而不是 y 非常好,在这种情况下已经帮助了数百人。
select inet_server_addr(); 为您提供服务器的 IP 地址。
【讨论】:
$postgres=# select inet_server_addr(); inet_server_addr ------------------ (1 row)
这是非sql方法。图像本身给出了说明。选择您要查找有关信息的服务器,然后按照步骤操作。
【讨论】:
select inet_server_port(); 为您提供服务器的端口。
【讨论】:
postgresql 端口在postgresql.conf 文件中定义。
在 Ubuntu 14.04 中对我来说是:/etc/postgresql/9.3/main/postgresql.conf
里面有一行:
port = 5432
更改那里的数字需要重新启动postgresql才能生效。
【讨论】:
你可以从终端做:
\conninfo
我建议阅读有关其所有命令的详尽列表的文档:
\?
【讨论】:
可以在psql中使用命令\conninfo
你会得到You are connected to database "your_database" as user "user_name" on host "host_name" at port "port_number".
【讨论】:
从终端你可以简单地做一个“postgres list clusters”:
pg_lsclusters
它将返回 Postgres 版本号、集群名称、端口、状态、所有者以及数据目录和日志文件的位置。
【讨论】:
要查找端口号,您可以运行此命令(假设您在本地主机上)
select setting from pg_settings where name='port';
【讨论】:
service postgresql status
返回: 10/main(端口 5432):在线
我正在运行 Ubuntu 18.04
【讨论】: