Centos7安装PostgreSQL-14.0
其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。已完成postgresql
一、安装准备
1.1、环境准备
-
postgresql-14.0
-
CentOS-7.9
-
注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。
1.2、安装包下载
下载地址:PostgreSQL
选择需要安装的版本进行下载:

1.3、安装依赖包
在安装postgresql数据库之前,需要在服务器上执行以下命令安装所需要的依赖包:
# centos
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
# debian
sudo apt update
sudo apt install -y build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev
二、安装postgresql
2.1、上传安装包
在根目录下新建 /opt/pgsql 文件夹,并将postgresql的压缩包上传到此文件夹中。
mkdir -p /opt/pgsql
cd /opt/pgsql/
ll
2.2、解压压缩包
tar -zxvf postgresql-14.0.tar.gz
2.3、编译postgresql源码
cd postgresql-14.0
./configure --prefix=/opt/pgsql/postgresql
make && make install
已完成postgresql的安装,进入/opt/pgsql/postgresql 目录可以看到安装后的postgresql的文件。
三、创建用户组和用户及授权
3.1、创建用户组和用户
创建用户组postgres并创建用户postgres:
groupadd postgres
useradd -g postgres postgres
id postgres

3.2、为数据库的数据授权
创建postgresql数据库的数据主目录并修改文件所有者
#切换到数据库主目录下
cd /opt/pgsql/postgresql/
#创建数据目录
mkdir data
#为数据目录授权
chown postgres:postgres data

四、配置环境变量
进入home/postgres目录可以看到.bash_profile文件。
cd /home/postgres
ll -al

编辑修改.bash_profile文件:
vi .bash_profile
添加以下内容:
export PGHOME=/opt/pgsql/postgresql
export PGDATA=/opt/pgsql/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
退出,保存。执行以下命令,使环境变量生效:
source .bash_profile
五、初始化数据库
切换到postgres用户并使用initdb命令初始化数据库:
#切换到postgres用户
su - postgres
#初始化数据库
initdb

可以看到/opt/pgsql/postgresql/data已经有文件了。
cd /opt/pgsql/postgresql/data
ll -a

六、配置服务
修改/opt/pgsql/postgresql/data目录下的两个文件。
-
postgresql.conf 配置postgresql数据库服务器的相应的参数。
-
pg_hba.conf 配置对数据库的访问权限。
修改postgresql.conf配置文件:
vi postgresql.conf

其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。
修改pg_hba.conf配置文件:
vi pg_hba.conf
host all all 0.0.0.0/0 trust
#新增这一行
找到最下面这一行,这样局域网的人才能访问。

七、设置开机启动
PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下。
linux文件即为linux系统上的启动脚本。
cd /opt/pgsql/postgresql-14.0/contrib/start-scripts
切换为root用户,修改linux文件属性,添加X属性。
su root
chmod a+x linux
复制linux文件到/etc/init.d目录下,更名为postgresql。
cp linux /etc/init.d/postgresql
修改/etc/init.d/postgresql文件的两个变量
prefix设置为postgresql的安装路径:/pgsql/postgresql
PGDATA设置为postgresql的数据目录路径:/pgsql/postgresql/data
vi /etc/init.d/postgresql

设置postgresql服务开机自启动:
chkconfig --add postgresql
启动postgresql服务:
service postgresql start

检查服务是否运行:
ps aux | grep postgres
查看服务状态:
service postgresql status

停止服务:
service postgresql stop
八、防火墙放开远程登录端口
使用firewall-cmd命令放开端口:
sudo firewall-cmd --permanent --zone=public --add-port=5432/tcp
sudo firewall-cmd --reload
九、远程登录

默认密码为:postgres
更多推荐

所有评论(0)