我会保持这么短而甜蜜的状态,所以我假设您知道自己的bash,Postgres并已经安装了WSL。
要安装Postgres并在WSL中运行它,您要做的就是以下内容:
- 打开WSL终端
- 更新您的Ubuntu软件包:
sudo apt update
- 包装更新后,请安装PostgreSQL(以及具有一些有用实用程序的-Contrib软件包),使用:
sudo apt install postgresql postgresql-contrib
- 确认安装并获取版本号:
psql --version
默认管理用户postgres
需要分配的密码才能连接到数据库。设置密码:
- 输入命令:
sudo passwd postgres
- 您将获得提示输入新密码。
- 关闭并重新打开您的终端。
您可以使用sudo -u postrges psql
直接访问PSQL。您应该看到您的及时更改为:
postgres=#
更改数据库只需使用\c mydb
。
您也可以使用su - postgres
进入Postgres用户。在这里,您使用步骤5-6中设置的密码。您的提示应更改为:
postgres@mycomputername:~$
从这里,您可以使用PSQL登录任何数据库。
创建数据库
要创建数据库,只需使用以下命令:
createdb mydb
您可以将mydb
更改为要给数据库的任何名称。要访问它,只需在命令行中输入psql mydb
。现在您的提示应该看起来像这样:
mydb=#
要从文件中创建数据库中的表,请使用以下命令:
psql -U postgres -q twit < <file-path/file.sql>
有用的命令
-
\l
列出了所有数据库。来自任何数据库的工作。 -
\dt
列出了当前数据库中的所有表。 -
\c <db name>
切换到其他数据库。
使用没有sudo的psql
使用以下命令创建与Ubuntu用户名相同名称的Postgres用户。当它询问时,使新角色成为超级用户。
$ sudo -u postgres createuser --interactive
Enter name of role to add: sabrina
Shall the new role be a superuser? (y/n) y
然后,您必须更改pg_hba.conf
文件。它将在/etc/postgresql/<postgres-version>/main
下。您将需要Sudo来编辑此文件。
sudo vi pg_hba.conf
滚动到文件的底部,现在更改为peer
的位置,像trust
一样:
# 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
从Windows访问数据库
- 您必须更改文件
postgresql.conf
。只需输入listen_address
的线路,然后将其更改为listen_address = '*'
。 - 为Postgres管理员用户
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
设置密码。这将将密码更改为Postgres,这是您连接到数据库时使用的。您在安装过程中设置的密码是针对Postgres Ubuntu用户的。
现在,您应该能够使用诸如TablePlus的软件从Windows连接到数据库。
需要更多?
这只是一个快速概述,要做什么来启动和运行,有关更深入的教程,请参见this和以下列出的来源。
来源
WSL Documentation: Install PostgreSQL
Postgres documentation: 1.3. Creating a Database
StackOverflow: PostgreSQL: Why psql can't connect to server?
StackExchange: How do I list all databases and tables using psql?
StackOverflow: fatal role "root" does not exist
POSTGRESQL ON WSL2 FOR WINDOWS: INSTALL AND SETUP
StackOverflow: password authentication failed for user "postgres"