linux下postgresql的安装和部署

一,下载

1.官网下载安装包

PostgreSQL: File Browser

 

 2. 下载成功后上传到Linux服务器

 3.解压文件

tar -zxvf postgresql-14.5.tar.gz

二,配置

1、初始化配置

1、创建一个安装目录

mkdir /home/postgresql/install

2.创建一个存储目录

mkdir /home/postgresql/data

3.进入解压包目录

cd /home/postgresql/postgresql-12.2

 4.执行初始化配置命令

./configure --prefix=/home/postgresql/install --without-readline

2、创建用户组 和 用户

groupadd postgres
useradd -g postgres postgres

 3、赋予用户权限

chown postgres /home/postgresql-12.2/data/
chown postgres /home/postgresql-12.2/install/*
chown postgres /home/postgresql-12.2/*

4、修改环境变量

vim /etc/profile

尾部增加

#postgresql
export PGHOME=/home/postgresql/postgresql-12.2
export PGDATA=/home/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin

更新环境变量


source /etc/profile 

 三,安装

1、安装

进入解压包目录
编译安装

make & make install

2、初始化数据库

进入安装目录下的bin

cd /home/postgresql/install/bin

切换用户

su postgres

初始化数据库

./initdb -D /home/postgresql/data/

在这里插入图片描述 

3、网络配置

(1)设置监听整个网络,查找“listen_addresses ”字符串

进入 存储目录

cd /home/postgresql/data

打开配置文件

vim postgresql.conf

修改配置如下:

listen_addresses = '*'

 在这里插入图片描述

(2) 修改客户端认证配置文件pg_hba.conf
将需要远程访问数据库的IP地址或地址段加入该文件

编辑文件

vim pg_hba.conf

在文件的最下方加上

host all all 0.0.0.0/0 trust

 
  
 

4、启动数据库

还是初始化时的目录和用户postgresql
执行

 ./pg_ctl start -l  /usr/local/postgresql/log/pg_server.log

 在这里插入图片描述

5, 创建数据库

进入安装目录下的bin

cd /home/postgresql/install/bin

postgres用户 默认是没有密码的

./psql -U postgres 

设置密码

ALTER USER postgres with encrypted password '123456';

 四,常见异常

 出现异常:configure: error: readline library not found

 解决:

yum install -y readline-devel

 五,开机自启

如果使用官方yum源安装,会自动配置服务脚本;如果通过源码编译安装,则需要手动配置。

进入源码安装包目录
 image-20230306224027937

进入contrib目录下的start-scripts,找到linux文件

image-20230306224158595

复制linux文件到/etc/init.d文件夹下

cp {源码路径}/contrib/start-scripts/linux  /etc/init.d

修改文件名为postgresql

mv /etc/init.d/linux /etc/init.d/postgresql

修改postgresql文件,设置启动配置

image-20230306224414709

具体配置根据数据库安装情况来设置

给postgresql分配执行权限

chmod a+x /etc/init.d/postgresql
 
 

添加开机启动

chkconfig --add postgresql 

查看PostgreSQL是否开机启动

chkconfig --list |grep postgresql

image-20230306224655598

重启服务器验证设置是否成功

 reboot

查询服务启动是否正常

systemctl status postgresql

image-20230306224809554

或者通过端口查看数据库是否启动

lsof -i:5432

猜你喜欢

转载自blog.csdn.net/weixin_59244784/article/details/131535182
今日推荐