Linux系统安装PostgresSQL数据库
因国产化改造需求,很多项目会选择使用以PostgresSQL为基础的国产化替代产品。PostgresSQL是开源关系型数据库,因为其稳定和安全性,以及丰富的数据类型和扩展可以使用,在企业新项目开发中会优先选择使用。下面记录一下PostgresSQL数据库的安装过程供参考。
一、PostgresSQL下载
官方网站:https://www.postgresql.org/
打开PostgreSQL官网,点击下载按钮:

可以根据系统选择对应的版本下载,因为我们是使用源码安装,所以这里选择下载源码:

选择版本,这里我们选择17.7版本:

点击postgresql-17.7.tar.gz进行源码下载:

如果服务器可以连接公网的话,可以选择在服务器上直接使用wget下载源码,在文件上单机鼠标右键获取源码链接地址:

拿到链接地址后直接在服务器上下载:
wget https://ftp.postgresql.org/pub/source/v17.7/postgresql-17.7.tar.gz 
二、编译安装PostgresSQL
1.创建用户
出于安全考虑,一般情况下PostgresSQL数据库不允许运行在root用户下,所以我们先来创建一个普通用户postgres:
#创建应用目录
mkdir /app
#创建用户组
groupadd -g 1101 postgres
#创建用户并指定用户目录
useradd -u 1101 -g postgres -d /app/postgres -c "postgres." -m -s /bin/bash postgres 2.安装依赖包
yum install -y gcc gcc-c++ libicu-devel bison flex readline-devel zlib-devel 注意这里依赖包可能不全,如果有遗漏的依赖,在编译检查的时候会有提示,需要按照提示安装后再进行编译。
3.下载解压PostgresSQL
wget https://ftp.postgresql.org/pub/source/v17.7/postgresql-17.7.tar.gz tar -zxvf postgresql-17.7.tar.gz 4.配置编译项目
cd postgresql-17.7
./configure --prefix=/app/postgres/pgsql 
5.编译安装
make && make install 
6.设置用户目录权限
chown -R postgres:postgres /app/postgres
chmod -R 755 /app/postgres 7.设置环境变量
sed -i '$a PGHOME=/app/postgres/pgsql' /etc/profile
sed -i '$a export PATH=$PATH:$PGHOME/bin' /etc/profile
source /etc/profile 三、修改配置文件
1.切换到postgres用户
su - postgres 2.创建数据与日志目录
mkdir -p /app/postgres/pgsql/data
mkdir -p /app/postgres/pgsql/log 3.初始化数据目录
initdb /app/postgres/pgsql/data 
4.修改postgresql.conf文件
vi /app/postgres/pgsql/data/postgresql.conf 找到以下行取消注释,并修改参数值:
listen_addresses = '*' #允许远程连接
port = 5432 #默认端口
max_connections = 1000 #最大连接数
logging_collector = on #启用日志
log_directory = '/app/postgres/pgsql/log' #调整日志目录 

5.修改pg_hba.conf文件
vi /app/postgres/pgsql/data/pg_hba.conf 添加以下行允许所有ip访问:
host all all 0.0.0.0/0 md5
host all all ::/0 md5 
四、启动数据库
1.启动数据库
pg_ctl start -D /app/postgres/pgsql/data -l /app/postgres/pgsql/log/start.log 
2.修改数据库密码
使用psql命令进入pg命令行环境,输入\password修改密码:

这里PostgresSQL数据库就安装完成了。
五、psql命令行常用命令
\l:列出所有数据库
\c:切换数据库
\d:列出当前库中所有表、视图、序列
\dn:列出所有schema
\du:列出所有用户
\i:执行sql脚本
\q:退出psql命令行
扩展说明:
1.参考文档:https://www.postgresql.org/docs/current/install-make.html
正文到此结束
- 本文标签: Linux PostgresSQL
- 本文链接: https://blog.eyyyye.com/article/114
- 版权声明: 本文由爱做梦的比特原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
