1.在Ubuntu上安装Postgresql
$ sudo apt update $ sudo apt install postgresql postgresql-contrib
我们同时安装postgresql contrib软件包,它可以提供postgresql数据库系统的一些额外特性。
安装完成后,postgresql 服务将会自动启动,可以使用psql工具通过postgresql 数据库并且打印它的版本来验证安装:
$ sudo -u postgres psql -c "SELECT version()";
2.创建postgresql角色和数据库
仅超级用户和拥有CREATEROLE权限的角色可以创建新角色。
新建一个Linux新用户 sudo adduser dbuser 进入psql $ sudo -i -u postgres $ psql (1)创建用户并设置密码 $ CREATE USER dbuser WITH PASSWORD 'password'; (2)创建数据库,并且指定所有者为dbuser $ CREATE DATABASE testdb OWNER dbuser; (3)将testdb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限 $ GRANT ALL PRIVILEGES ON DATABASE testdb to dbuser; (4)使用 \q 退出控制台
3.启动远程访问postgresql服务器
默认情况下,postgresql服务器仅监听本地网络接口: 127.0.0.1
为了允许远程访问postgresql服务器,打开配置文件postgresql.conf 并且在 CONNECTIONS AND AUTHENTICATION 一节添加 listen_address = '*'
/etc/postgresql/14/main/postgresql.conf
添加完成后,保存文件并重启postgresql服务
$ sudo service postgresql restart
使用 ss -nlt | grep 5432 工具查看
输出显示postgresql服务器正在监听所有的网络接口(0.0.0.0)
root@lynn# ss -nlt | grep 5432 LISTEN 0 244 0.0.0.0:5432 0.0.0.0:* LISTEN 0 244 [::]:5432 [::]:*
下一步配置服务器接收远程连接,编辑pg_hba.conf
再次重启服务。
4.如果使用ufw来管理防火墙,需要将端口添加到ufw中
$ sudo ufw allow 5432