配置安装源并安装

1
2
3
4
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql postgresql-contrib

修改配置文件

1
sudo vim /etc/postgresql/11/main/postgresql.conf

添加

1
listen_addresses = '*'

修改 data_directory

1
data_directory = '/data/postgresql'

创建数据文件夹并设置属性

1
2
3
4
mkdir /data/postgresql
chown postgres:postgres /data/postgresql
chmod 0750 /data/postgresql
mv /var/lib/postgresql/13/main/* /data/postgresql/

启动

1
pg_ctlcluster 13 main start

或者

1
/etc/init.d/postgresql restart

创建用户和数据库

例如用户 zhz 和数据库 158.247

1
2
sudo su - postgres -c "createuser zhz"
sudo su - postgres -c "createdb 158.247"

进入 postgresql 控制台

1
sudo -u postgres psql

输入如下指令对数据库授权

1
grant all privileges on database 158.247 to zhz;

修改账户密码,默认 postgres 账户是无密码的,但是只允许本地访问,这里修改 zhz 的密码

1
alter user zhz with password 'new-password';

配置账户远程访问

1
sudo vim /etc/postgresql/13/main/pg_hba.conf

添加

1
host 158.247 zhz 0.0.0.0/0 password

放开防火墙

1
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

重启

1
sudo service postgresql restart

之后即可使用数据库客户端工具访问该数据库。