一、安装准备

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐