PostgreSQL安装配置
以下简称
PgSQL
PGSql原生支持 NoSQL 的特性, 不过却是关系型数据库; 其JSON的性能不输给 MongoDB, 算是现在值得在生产环境之中投入使用的数据库.
安装配置
这里可以参考官方文档配置: 官方文档
直接选择对应系统配置源:
这里直接配置 Debian11 的源( postgresql-12 ):
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
此时源配置已经完成, 就可以准备安装服务:
# Update the package lists:
sudo apt-get update
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql postgresql-client
服务会自动配置到系统之中, 直接采用系统去调取服务:
sudo systemctl status postgresql.service # 查看系统管理状态
sudo systemctl start postgresql.service # 启用 PgSql 服务
sudo netstat -tulpn|grep -E 'postgresql|5432' # 查看系统是否启用了 postgresql 的 5432 端口服务
sudo systemctl enable postgresql.service # 设置开机自动启用 PgSql 服务
注意默认监听端口为
5432
账号配置
这里一般配置文件设置, 配置文件放置于 /etc/postgresql/14/main/postgresql.conf:
# 文件默认的存放数据数据目录
data_directory = '/var/lib/postgresql/14/main' # use data in another directory
# host访问限制配置文件, 用于开放对面访问的 host 配置
hba_file = '/etc/postgresql/14/main/pg_hba.conf' # host-based authentication file
# 开放公网/局域网/本地地址
# 'localhost' 为默认的配置, 用于本地访问; '*' 则为对外全开放, 直接局域网 '192.168.1.x' 之类
listen_addresses = '*' # what IP address(es) to listen on;
# 默认访问的端口号
port = 5432 # (change requires restart)
这里基本上只需要最基础的这三个配置, 首先是创建对外账号处理( 修改配置之后重启服务 ):
# 这里必须要切换到 `postgres` 这个超级用户才能进行客户端管理:
# sudo -i -u postgres
# 之后切换到进入命令行
# psql
# 后续输入以下指令创建账号
# 创建个 `manager` 的账号, 密码为 `qwerty123456`
CREATE ROLE manager WITH
LOGIN
SUPERUSER
CREATEDB
CREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD 'qwerty123456';
COMMENT ON ROLE manager IS '自定义对外数据库管理账号';
# 如果不满意的话可以删除账号
DROP ROLE manager;
之后测试下登录:
# 输入以下指令之后确认密码查看是否允许登录
# postgres 为系统默认数据库, 确认登录没问题就代表账号创建完成
psql --host=127.0.0.1 --username=manager --dbname=postgres
这里需要手动写入 Host 表来开放访问( Host 文件: /etc/postgresql/14/main/pg_hba.conf ):
# 访问HOST 访问数据库 访问用户 访问地址 加密方式
# TYPE DATABASE USER ADDRESS METHOD
# 这里不需修改其他, 追加创建的用户即可, 加密方式最低采用md5
host all manager 0.0.0.0/0 md5
配置好之后重启服务即可, 这样就能直接访问了.