PostgreSQL数据库启动时socket存储目录的配置是什么

59次阅读
没有评论

共计 2910 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要讲解了“PostgreSQL 数据库启动时 socket 存储目录的配置是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“PostgreSQL 数据库启动时 socket 存储目录的配置是什么”吧!

unix_socket_directories 参数默认为 /tmp,由于该目录是临时目录,以免误操作,一般设置在其他目录中。
下面把 unix_socket_directories 设置为 /data/pg12,重新启动

[pg12@localhost pg120db]$ grep  unix  postgresql.conf 
unix_socket_directories =  /data/pg12  # comma-separated list of directories
#unix_socket_directories =  /tmp  # comma-separated list of directories
#unix_socket_group =   # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
[pg12@localhost pg120db]$ 
[pg12@localhost pg120db]$ pg_ctl restart
pg_ctl: PID file  /data/pgsql/pg120db/postmaster.pid  does not exist
Is server running?
trying to start server anyway
waiting for server to start....2019-11-18 18:17:35.123 CST [15542] LOG: starting PostgreSQL 12.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
2019-11-18 18:17:35.123 CST [15542] LOG: listening on IPv4 address  0.0.0.0 , port 5432
2019-11-18 18:17:35.123 CST [15542] LOG: listening on IPv6 address  :: , port 5432
2019-11-18 18:17:35.155 CST [15542] LOG: listening on Unix socket  /data/pg12/.s.PGSQL.5432 
2019-11-18 18:17:35.237 CST [15542] LOG: redirecting log output to logging collector process
2019-11-18 18:17:35.237 CST [15542] HINT: Future log output will appear in directory  pg_log .
 done
server started

尝试连接数据库

[pg12@localhost pg120db]$ psql -d testdb
psql: error: could not connect to server: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket  /tmp/.s.PGSQL.5432 ?

提示找不到 socket(默认在 /tmp 下),可使用指定主机 端口连接


但这样的连接方式不是本地连接

[pg12@localhost ~]$ netstat -anpo|grep psql
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6 0 0 ::1:52206 ::1:5432 ESTABLISHED 16200/psql keepalive (7207.79/0/0)

设置参数 PGHOST,使用本地连接 (PGHOST behaves the same as the host connection parameter.)

[pg12@localhost pg120db]$ export PGHOST=/data/pg12
[pg12@localhost pg120db]$ psql -d testdb
Expanded display is used automatically.
psql (12.0)
Type  help  for help.
[pg12@localhost ~]$ netstat -anpo|grep psql
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
unix 3 [ ] STREAM CONNECTED 876042 15681/psql 
[pg12@localhost ~]$

或者使用 - h 指定为 socket 所在目录

[pg12@localhost ~]$ psql -h /data/pg12
Expanded display is used automatically.
psql (12.0)
Type  help  for help.
[local:/data/pg12]:5432 pg12@testdb=# 
[pg12@localhost ~]$ netstat -anpo|grep psql
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
unix 3 [ ] STREAM CONNECTED 880596 16309/psql 
[pg12@localhost ~]$

感谢各位的阅读,以上就是“PostgreSQL 数据库启动时 socket 存储目录的配置是什么”的内容了,经过本文的学习后,相信大家对 PostgreSQL 数据库启动时 socket 存储目录的配置是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计2910字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)