Ubuntu 20 安装 PgSQL
安装
更新源
sudo apt update
安装 postgresql
sudo apt install postgresql
启动 postgresql
sudo /etc/init.d/postgresql start
安装postgresql时会自动创建一个账号 postgres 进入sql时需要先切换到postgres账号才可以使用
用 postgres 用户登录
sudo -u postgres psql
使用 \q 命令退出控制台(也可以直接按ctrl+D)
\q
配置远程连接
调整 postgresql.conf 文件
cd /etc/postgresql/12/main/
我装的是12 所以这块是12
sudo nano postgresql.conf
将 listen_addresses 项取消注释,并将值调整为 '*' ,如下:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart)
- 保存退出
调整 pg_hba.conf 文件
sudo nano pg_hba.conf
- 在文件后追加 0.0.0.0/0 的配置项,如下:
# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5 host all all 0.0.0.0/0 md5
- 添加好后,使用命令重启数据库
sudo service postgresql restart
配置远程链接密码
- 进入数据库
sudo -u postgres psql
输入命令修改密码
\password postgres
- 会提示我们输入两次密码,成功后即可通过账户密码进行远程登录了.
- 使用 \q 退出
- 进入数据库
注!
无法成功远程连接
可能是服务器内防火墙没有开放5432端口加上服务商的防火墙没打开需要去控制台开放5432端口
sudo ufw disable
Firewall stopped and disabled on system startup
查看防火墙状态,是
Status: inactive
表示关闭sudo ufw status