#Ubuntu22.02安装postgres14.4,并配置navicat的远程连接。
软件安装
sudo apt update # 更新源
sudo apt install postgresql postgresql-contrib #安装最新版本
数据库配置
postgres使用“角色”进行身份验证,每一个postgres数据库账号都对应一个linux的用户。执行上述命令安装成功后,会默认创建一个 postgres 用户。
注意,此时linux中有一个名为postgres的用户,postgres数据库中有一个名为postgres的账户,他们是一一对应的。
可以使用如下命令确认用户是否存在。
id postgres
修改linux中用户的密码
由于postgres用户是由系统创建的,我们不知道密码,所以需要重新设定其密码。
在linux下执行命令:
sudo passwd -d postgres # 删除用户的密码
sudo -u postgres passwd # 设置用户密码
根据提示设置postgres的用户密码。
修改数据库中的密码
执行如下命令,切换到 postgres用户:
sudo -i -u postgres
进入数据库命令行工具:
psql
设置密码:
ALTER USER postgres WITH PASSWORD 'your passwd';
退出命令行工具:
\q
回到linux的postgres用户命令行下,使用命令登陆,查看密码是否生效。
psql -h localhost -U postgres postgres
# [服务器地址] [用户名] [数据库名]
切换回到root
su root
配置远程访问。
修改配置文件postgresql.conf
修改配置文件/etc/postgresql/14/main/postgresql.conf,其中14是版本号,可以通过 psql --version来查看。
sudo vim /etc/postgresql/14/main/postgresql.conf
在文件末尾添加配置
listen_addresses = '*'
修改配置文件pg_hba.conf
sudo vim /etc/postgresql/14/main/pg_hba.conf
在文件末尾添加配置
host all all 0.0.0.0/0 trust
重启服务
sudo service postgresql restart
防火墙(安全组)
远程访问,需要打开postgres的,默认服务端口5432