安装postgresql 后,默认只能通过本机进行访问,如果需要在其他主机上访问postgre sql数据库服务器,需要进行配置,具体步骤如下:
1. 安装 PostgreSQL(如果尚未安装)
如果 PostgreSQL 尚未安装,可以使用以下命令安装:
1 sudo apt update 2 sudo apt install postgresql postgresql-contrib
安装完成后,PostgreSQL 服务会自动启动。
2. 切换到 PostgreSQL 管理员用户
PostgreSQL 使用一个名为 postgres
的系统用户来管理数据库。首先切换到该用户:
sudo -i -u postgres
3. 创建 PostgreSQL 用户
在 postgres
用户下,使用 createuser
命令创建一个新用户。例如,创建一个名为 shaun
的用户:
createuser --interactive
按照提示操作:
-
输入用户名:
shaun
-
是否为新用户授予超级用户权限:根据需求选择
y
或n
-
是否允许新用户创建数据库:根据需求选择
y
或n
4. 设置用户密码
使用 psql
连接到 PostgreSQL,并为新用户设置密码:
psql
在 psql
提示符下,运行以下 SQL 命令为用户 shuan
设置密码:
ALTER USER shaun WITH PASSWORD 'shaun001';
完成后,退出 psql
:
\q
5. 允许远程访问(可选)
如果需要允许远程访问 PostgreSQL,需要修改配置文件并设置权限。
修改配置文件(注意这里需要修改2个配置文件)
-
打开 PostgreSQL 配置文件
pg_hba.conf
:sudo nano /etc/postgresql/<version>/main/pg_hba.conf
将
<version>
替换为你的 PostgreSQL 版本号,如果你的postgre是16.6这样,就使.以前的大版本名,就是16可以通过以下命令来查询版本
sudo -i -u postgres psql SELECT version();
-
在文件末尾添加一行,允许远程访问:
IPv4网段: host all all 0.0.0.0/0 md5 ipv6网段: host all all ::/0 md5
这表示允许所有 IP 地址通过密码认证访问所有数据库。
保存文件:按
Ctrl + O
(字母“O”,不是数字零)。这将提示您确认文件名,按下Enter
键保存。
退出 nano:按Ctrl + X
进行退出。 -
打开 PostgreSQL 主配置文件
postgresql.conf
:sudo nano /etc/postgresql/<version>/main/postgresql.conf
这里的version 跟上面一致
-
找到
listen_addresses
这一行,将其修改为:listen_addresses = '*'
这表示 PostgreSQL 将监听所有网络接口。
修改ssl = off保存文件:按
Ctrl + O
(字母“O”,不是数字零)。这将提示您确认文件名,按下Enter
键保存。退出 nano:按
Ctrl + X
进行退出。 -
重启 PostgreSQL 服务以使更改生效:
sudo systemctl restart postgresql
6. 测试连接
从本地或远程机器测试连接:
psql -h <postgres_server_ip> -U shaun -d postgres
输入密码 shaun001
,如果成功登录,说明用户创建和配置正确。