我有PSQL运行,并试图得到一个perl应用程序连接到数据库。是否有命令来查找数据库正在运行的当前端口和主机?
当前回答
SELECT *
FROM pg_settings
WHERE name = 'port';
其他回答
我使用这样的解决方案。不需要插件。不需要临时表。仅适用于unix。
select pg_read_file('/etc/hostname') as hostname, setting as port from pg_settings where name='port';
postgresql端口在postgresql.conf文件中定义。
对我来说,Ubuntu 14.04的目录是:/etc/postgresql/9.3/main/postgresql.conf
里面有一行字:
port = 5432
修改该数字需要重新启动postgresql才能生效。
到“终端机”输入
service postgres status
在结果中,您可以获得端口的详细信息
在我的例子中,它运行在端口“5432”(默认)上。我用的是CentOS 7。希望这能有所帮助。
SELECT *
FROM pg_settings
WHERE name = 'port';
SELECT CURRENT_USER usr, :'HOST' host, inet_server_port() port;
这里使用了psql内置的HOST变量
和postgres系统信息函数,文档在这里
推荐文章
- 如何连接列在Postgres选择?
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- PostgreSQL:角色不允许登录
- 如何查找Postgres / PostgreSQL表及其索引的磁盘大小
- 是使用各有一个模式的多个数据库更好,还是使用一个数据库有多个模式更好?
- 如果字符串包含
- 对于PostgreSQL表来说,多大才算太大?
- 将一列的多个结果行连接为一列,按另一列分组
- 使用pgadmin连接到heroku数据库
- 在PostgreSQL中快速发现表的行数
- 更改varchar列的大小为较低的长度
- 如何首次配置postgresql ?
- 数据库性能调优有哪些资源?
- 如何在PostgreSQL中自动更新时间戳