PostgreSQL 的使用

警告
本文最后更新于 2023-11-14,文中内容可能已过时。

现在称为 PostgreSQL 的对象关系数据库管理系统源自加州大学伯克利分校编写的 POSTGRES 包。经过二十多年的发展,PostgreSQL 现在是世界上最先进的开源数据库。

1
2
docker pull postgres
docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=yoursecretpassword -d postgres
1
2
3
CREATE USER foo WITH PASSWORD 'foo';
CREATE DATABASE foo OWNER foo;
GRANT ALL PRIVILEGES ON DATABASE foo TO foo;
1
2
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO foo;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO foo;

[28000] FATAL: no pg_hba.conf entry for host

PG 数据库为了安全不会监听除了本地以外的所有请求,如果想要其他 ip 的机器访问的话需要修改 data/pg_hba.conf 文件

1
2
3
4
5
6
7
8
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# 添加下面这一行允许任何机器登录
host    all             all             all            scram-sha-256
# 添加下面这一行允许 192.168.1.0 到 192.168.1.255 网段登录
host    all             all             192.168.1.0/24            scram-sha-256
# 添加下面这一行允许 192.168.1.123 登录
host    all             all             192.168.1.123/32            scram-sha-256