在 WSL 中安装并使用 Postgres

2025-06-10

在 WSL 中安装并使用 Postgres

为了简短起见,我假设您熟悉 bash、Postgres 并且已经安装了 WSL。

安装 Postgres

要安装 Postgres 并在 WSL 中运行它,您只需执行以下操作:

  1. 打开 WSL 终端
  2. 更新你的 Ubuntu 软件包:sudo apt update
  3. 软件包更新完成后,使用以下命令安装 PostgreSQL(以及具有一些有用实用程序的 -contrib 软件包):sudo apt install postgresql postgresql-contrib
  4. 确认安装并获取版本号:psql --version

设置密码

默认管理员用户postgres需要指定密码才能连接到数据库。设置密码的步骤如下:

  1. 输入命令:sudo passwd postgres
  2. 您将收到输入新密码的提示。
  3. 关闭并重新打开您的终端。

你可以使用 直接访问psqlsudo -u postgres psql。你应该会看到提示符变为:

postgres=#
Enter fullscreen mode Exit fullscreen mode

要更改数据库只需使用\c mydb

您也可以使用su - postgres进入 postgres 用户。这里使用您上面设置的密码。您的提示符应该更改为:

postgres@mycomputername:~$
Enter fullscreen mode Exit fullscreen mode

从这里,您可以使用 psql 登录任何数据库。

创建数据库

要创建数据库,只需使用以下命令:

createdb mydb
Enter fullscreen mode Exit fullscreen mode

你可以将mydb数据库的名称更改为任何你想要的名称。要访问它,只需psql mydb在命令行中输入。现在你的提示符应该如下所示:

mydb=#
Enter fullscreen mode Exit fullscreen mode

要从文件在数据库中创建表,请使用以下命令:

psql -U postgres -q mydb < <file-path/file.sql>
Enter fullscreen mode Exit fullscreen mode

有用的命令

  • \l列出所有数据库。适用于任何数据库。
  • \dt列出当前数据库中的所有表。
  • \c <db name>切换到不同的数据库。

不使用psqlsudo

使用以下命令创建一个与你的 Ubuntu 用户名同名的 Postgres 用户。当系统提示时,将新角色设置为超级用户。

$ sudo -u postgres createuser --interactive
Enter name of role to add: sabrina
Shall the new role be a superuser? (y/n) y
Enter fullscreen mode Exit fullscreen mode

然后你需要更改该pg_hba.conf文件。它位于 下/etc/postgresql/<postgres-version>/main。你需要 sudo 权限才能编辑此文件。

sudo vi pg_hba.conf
Enter fullscreen mode Exit fullscreen mode

滚动到文件底部,现在将 更改为peertrust如下所示:

# Database administrative login by Unix domain socket
local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
Enter fullscreen mode Exit fullscreen mode

从 Windows 访问数据库

  1. 您必须更改文件postgresql.conf。只需取消注释该行listen_address并将其更改为即可listen_address = '*'
  2. 为 postgres 管理员用户设置密码sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"。这会将密码更改为 postgres,这是您连接数据库时使用的密码。您在安装期间设置的密码适用于 postgres Ubuntu 用户。

现在您应该能够使用TablePlus等软件从 Windows 连接到数据库。

需要更多吗?

这只是一个关于如何启动和运行的快速概述,如需更深入的教程,请参阅此文和下面列出的来源。

来源

WSL 文档:安装 PostgreSQL
Postgres 文档:1.3. 创建数据库
StackOverflow:PostgreSQL:为什么 psql 无法连接到服务器?
StackExchange:如何使用 psql 列出所有数据库和表?
StackOverflow:致命角色“root”不存在
Windows 版 WSL2 上的 POSTGRESQL:安装和设置
StackOverflow:用户“postgres”的密码验证失败

鏂囩珷鏉ユ簮锛�https://dev.to/sfpear/install-and-use-postgres-in-wsl-423d
PREV
将您的 Netlify、Vercel 或 Github Pages 网站退出 Google 的 FLoC 网络结论
NEXT
面向对象设计的 SOLID 原则