以 Ubuntu Server 20.04,PostgreSQL 12 版本为例。
使用如下命令,安装指定版本的 PostgreSQL
sudo apt install postgresql-12
PostgreSQL 安装后会默认创建一个 postgres 的数据库用户作为管理员账号,但是密码是随机的,所以首先要修改登录密码,使用 sudo -u postgres psql 登录数据库,这种方式登录是不需要密码的。
在出现 postgres=# 提示符后输入 alter user postgres with password '123456'; 修改密码,操作成功后输入 \q 退出 psql
现在尝试一下,可以使用新密码进行登录了 psql -U postgres -d postgres -h 127.0.0.1 -p 5432,然后输入新密码成功登录
安装完 PostgreSQL 数据库后,默认是只接受本地访问链接的,如果想在其它的主机上访问数据库,需要进行相应的配置。
sudo vim /etc/postgresql/12/main/postgresql.conf
将 #listen_addresses = 'localhost' 的注释去掉并改为 listen_addresses = '*'
sudo vim /etc/postgresql/12/main/pg_hba.conf
在如下位置添加一行,表示允许任意地址通过密码进行远程访问
# 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 host all all 0.0.0.0/0 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
完成上述两项操作后,使用 sudo service postgresql restart 重启数据库使配置生效。
现在可以从外部成功链接数据库了。