你好,这是章鱼,正在学习,目的是雇用程序员。
介绍
在本文中,
在启动PostgreSQL服务器时
1 2 3 4 5 6 7 8 9 10 11 12 | $ pg_ctl start waiting for server to start....2020-04-23 14:29:14.708 JST [888] LOG: starting PostgreSQL 12.2 on x86_64-apple-darwin18.7.0, compiled by Apple clang version 11.0.0 (clang-1100.0.33.17), 64-bit 2020-04-23 14:29:14.709 JST [888] LOG: could not bind IPv6 address "::1": Address already in use 2020-04-23 14:29:14.709 JST [888] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. 2020-04-23 14:29:14.710 JST [888] LOG: could not bind IPv4 address "127.0.0.1": Address already in use 2020-04-23 14:29:14.710 JST [888] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. 2020-04-23 14:29:14.710 JST [888] WARNING: could not create listen socket for "localhost" 2020-04-23 14:29:14.710 JST [888] FATAL: could not create any TCP/IP sockets 2020-04-23 14:29:14.710 JST [888] LOG: database system is shut down stopped waiting pg_ctl: could not start server |
写出出现
之类的错误时的处理方法。
错误含义
该错误的意思是"端口号5432已在使用中,因此您无法在5432上设置服务器!(请参见第1行)"。
就我而言,昨天使用的服务器仍然存在。
每次启动PostgreSQL服务器时都使用终端。
按下
按下
但是,有时PC会一直关机而不停止,在这种情况下,会出现开头所述的错误。
有时我会沉迷于错误并花一些时间,但是这次我可能已经找到了避免再次担心的方法,因此我将在此处编写。
我尝试过的(可能会在途中解决)
以防万一,请检查服务器是否在PostgreSQL中运行。
1 2 | $ pg_ctl status pg_ctl: no server running |
您尚未启动。
接下来,查看端口5432上是否有问题。
1 2 3 4 5 | $ sudo lsof -i:5432 Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 65 postgres 4u IPv6 0x7e9b8bc85f43493d 0t0 TCP *:postgresql (LISTEN) postgres 65 postgres 5u IPv4 0x7e9b8bc85eeb7cdd 0t0 TCP *:postgresql (LISTEN) |
有。
换句话说,该过程仍然存在,必须终止。要删除进程,可以通过删除PID文件来完成许多模式。
1 | $ rm /usr/local/var/postgres/postmaster.pid |
尝试执行此操作。这是某些人的解决方案。但是,
1 | No such file or directory |
如果您被告知
,请继续阅读。
查找postmaster.pid
从这里开始,它相当稳定。
如果在
/ usr / local / var / postgres中看不到postmaster.pid文件,则该文件可能在另一个PostgreSQL文件夹内的data文件夹中。
在我的情况下,由于该数据文件夹由于管理员限制而被锁定,因此无法使用文件路径。也许其他人也可以这样做,所以我将尝试自行查找文件。
1.查找数据文件
打开Finder并转到Mac SSD ???库??? PostgreSQL ??? 12?(此处的数字因版本而异)。
然后,其中有一个名为data的文件,但是我认为由于管理员的限制它已被锁定。
2.解锁。
单击该文件夹以查看信息?单击右下角的挂锁标记以对其进行解锁?输入您的计算机的密码?我认为每个人都"无法访问",因此将其更改为"读/写"
您现在应该可以打开数据文件夹。
3.如果其中包含postmaster.pid,请将其放入垃圾箱。
4.重新启动计算机
5.确保服务器已启动??
1 2 3 4 5 6 7 8 9 | $ pg_ctl start waiting for server to start....2020-04-24 10:13:39.361 JST [629] LOG: starting PostgreSQL 12.2 on x86_64-apple-darwin18.7.0, compiled by Apple clang version 11.0.0 (clang-1100.0.33.17), 64-bit 2020-04-24 10:13:39.362 JST [629] LOG: listening on IPv6 address "::1", port 5432 2020-04-24 10:13:39.362 JST [629] LOG: listening on IPv4 address "127.0.0.1", port 5432 2020-04-24 10:13:39.363 JST [629] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2020-04-24 10:13:39.405 JST [630] LOG: database system was shut down at 2020-04-23 22:25:29 JST 2020-04-24 10:13:39.418 JST [629] LOG: database system is ready to accept connections done server started |
显示时,表示处理完成。感谢你的努力工作。