我有PSQL运行,并试图得到一个perl应用程序连接到数据库。是否有命令来查找数据库正在运行的当前端口和主机?
当前回答
这个命令将提供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,也是默认端口号
信贷:链接
其他回答
PostgreSQL默认端口号为5432。运行数据库的主机应该是由您的主机提供商提供的;如果没有指定,我猜它应该是与web服务器相同的主机。通常这将被配置为localhost,假设您的web服务器和数据库服务器在同一主机上。
我认为PostgreSQL没有提供一个内置的函数来获取服务器的主机名,所以我们可能需要写一个扩展来从服务器获取信息。
我发现有一个PostgreSQL扩展pg-hostname,可以从服务器获取主机名。
当我们安装了扩展,我们可以启用,并通过inet_server_port和主机名函数查询信息。
CREATE EXTENSION hostname;
SELECT hostname(),inet_server_port();
要找到端口号,可以运行这个命令(假设您在localhost上)
select setting 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 CURRENT_USER usr, :'HOST' host, inet_server_port() port;
这里使用了psql内置的HOST变量
和postgres系统信息函数,文档在这里
推荐文章
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录
- 如何查找Postgres / PostgreSQL表及其索引的磁盘大小
- 是使用各有一个模式的多个数据库更好,还是使用一个数据库有多个模式更好?
- 如果字符串包含
- 对于PostgreSQL表来说,多大才算太大?
- 将一列的多个结果行连接为一列,按另一列分组
- 使用pgadmin连接到heroku数据库
- 在PostgreSQL中快速发现表的行数
- 更改varchar列的大小为较低的长度
- 如何首次配置postgresql ?
- 数据库性能调优有哪些资源?
- 如何在PostgreSQL中自动更新时间戳
- 当使用JDBC连接到postgres时,是否可以指定模式?