Postgresql数据库设置远程登陆
1. 修改PostgreSQL配置文件
编辑 postgresql.conf
文件,该文件通常位于 /etc/postgresql/<版本号>/main/
目录下
sudo nano /etc/postgresql/12/main/postgresql.conf
找到 listen_addresses
配置项,并将其设置为您希望PostgreSQL监听的IP地址,或者使用 '*' 让它监听所有地址:
listen_addresses = '*'
2. 修改客户端认证配置文件
编辑 pg_hba.conf
文件,同样位于 /etc/postgresql/<版本号>/main/
目录下。您需要添加一条规则以允许远程主机连接到数据库:
sudo nano /etc/postgresql/12/main/pg_hba.conf
添加如下格式的行到文件的末尾,以允许特定的IP地址或网段远程访问:
host all all <远程IP地址/网段> md5
或者,允许所有IP地址远程访问(注意安全风险):
host all all 0.0.0.0/0 md5
host all all ::/0 md5
3. 服务器本地登陆postgresql数据库
创建角色,并且给角色设置密码:
postgres=# create user test with password 'Aa1234567890';
CREATE ROLE
修改数据库用户和密码:
postgres=# alter user test with password '558996';
ALTER ROLE
指定字符集创建数据库testdb1,并且授权给testwjw
postgres=# create database testdb1 with encoding='utf8' owner=testwjw;
CREATE DATABASE
授权:
postgres=# grant all privileges on database testdb1 to testwjw;
GRANT