原创

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.gztar -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

正文到此结束
本文目录