繁体   English   中英

无法停止自动 PostgreSQL 在 WSL 上启动 Ubuntu 终端打开

[英]Can't stop automatic PostgreSQL start-up on WSL Ubuntu terminal open

我开始了我的编码之旅,我已经设置了 Ubuntu 终端(WSL2)。 我遵循了我表弟给我的这份指南,其中包括一些安装 PostgreSQL 的说明。 我认为提前得到它是个好主意,但现在它变成了一场噩梦。 我安装它并按照说明使其在 Ubuntu 终端启动时自动连接到服务器。 长话短说,它让终端需要一段时间才能启动,把我的终端放在一些奇怪的目录中,我什至不会使用它,所以我们决定摆脱它。 我们尝试了一切,最后决定将其卸载。 现在在启动时,它仍在尝试连接到服务器或其他任何东西。 我尝试运行代码以使其再次自动启动,以防它可能只是打开和关闭它,但现在它尝试在打开时连接三次。 请查看我在下面使用的说明以及我的终端在启动时显示的内容。 另外,当我尝试使用命令结束它或其他什么时,它无法执行,因为找不到 postgresql(因为我卸载了它)。 有什么想法吗?

说明几周后,我们将讨论 SQL 和数据库,您将需要一个名为 PostgreSQL 的开源强大且可用于生产的数据库。

让我们现在安装它。

sudo apt install -y postgresql postgresql-contrib libpq-dev build-essential
sudo /etc/init.d/postgresql start
sudo -u postgres psql --command "CREATE ROLE `whoami` LOGIN createdb;"

可以配置 PostgreSQL 自动启动,这样就不用每次打开新终端都执行 sudo /etc/init.d/postgresql start 了:

sudo echo "`whoami` ALL=NOPASSWD:/etc/init.d/postgresql start" | sudo tee /etc/sudoers.d/postgresql
sudo chmod 440 /etc/sudoers.d/postgresql
echo "sudo /etc/init.d/postgresql start" >> ~/.zshrc

错误代码:

sudo: /etc/init.d/postgresql: command not found
sudo: /etc/init.d/postgresql: command not found
sudo: /etc/init.d/postgresql: command not found
➜  /home

只需从.zshrc中删除有问题的行。

让我补充一点,Windows 的 Linux 仿真不能用于严肃的数据库工作,因为它没有实现重要的系统调用fsync来持久化数据。 任何操作系统崩溃都会导致数据损坏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM