rocky linux8部署pgsql

SQL运维

0.前言

随着mysql被甲骨文收购,越来越多的用户对mysql的未来充满了担忧,觉得社区免费版mysql可能是随着甲骨文的运营而消失,好在甲骨文并没有这么做,然而还是有越来越多的用户将目光投向了新出来的PostgreSQL。
作为一个年轻的数据库,pgsql有着如下的优点: (1)开源性:PostgreSQL完全免费,而且是BSD协议;
(2)SQL实现:PostgreSQL在SQL的标准实现上非常完善,而且功能实现也比较严谨;
(3)可扩展性:PostgreSQL有丰富可扩展组件,作为contribute发布;
(4)表组织:PostgreSQL主表采用堆表存放,能够支持较大的数据量;
(5)主备复制:PostgreSQL的主备复制属于物理复制,数据的一致性更加可靠,复制性能更高;
(6)功能支持:PostgreSQL支持JSON和其他NoSQL功能,如本机XML支持和使用HSTORE的键值对,它还支持索引JSON数据以加快访问速度。
PostgreSQL到底有没有这么好呢,只有试过了才知道,今天就来部署一下PostgreSQL,试用一下基础的功能,看是否真的有传说中的好用。

1.pgsql安装包下载

pgsql的官方网站为:https://www.postgresql.org/
里面有详细的文档,大家在使用PostgreSQL遇到什么问题,都可以到官方文档找寻解决办法。
pgsql当前的最新版为17,不过本次部署我们使用14的最新版本14.15,安装包下载路径为:https://www.postgresql.org/ftp/source/v14.15/postgresql-14.15.tar.gz
下载完成之后将安装包上传到服务器指定目录:

ll ~/install

picture.image

2.pgsql部署

本次部署pgsql,我们采用编译安装的方式,这样我们可以更好的了解pgsql部署的流程

2.1 解压安装包

首先我们解压一下刚刚下载的安装包,看下里面有些什么文件:

tar xf postgresql-14.15.tar.gz
ll postgresql-14.15

picture.image

2.2 安装依赖

安装pgsql之前我们先安装需要的依赖

yum install -y zlib-devel readline-devel gcc

2.3 编译安装

准备工作已经做完了,现在我们开始编译安装pgsql:

cd ~/install/postgresql-14.15
./configure --prefix=/usr/local/pgsql14
make world
make install-world

执行完以上命令之后,pgsql就安装完成了,看下安装目录下有哪些文件:

ll /usr/local/pgsql14/

picture.image

3.创建postgres用户

默认情况下都是使用postgres用户管理pgsql的,所以我们在初始化pgsql之前先创建 一个postgres用户:

useradd postgres
passwd postgres

设置好密码之后,用户就创建完成了。

4.初始化和启动

pgsql已经安装完成,接下来初始化一下pgsql,并启动服务之后就可以正常使用了。

4.1 创建数据目录并授权

创建数据目录,并授权给postgres用户,命令如下:

mkdir -p /data/postgresql/{data,log}
chown -R postgres:postgres /data/postgresql/
chmod 700 /data/postgresql/data/

以上便是pgsql德数据目录和日志目录。

4.2 初始化

数据目录初始化:

su - postgres
/usr/local/pgsql14/bin/initdb -D /data/postgresql/data

查看数据目录:

ll /data/postgresql/data

picture.image

4.3 修改pgsql配置

为了让pgsql可以被远程访问,需要修改以下配置:

vim /data/postgresql/data/postgresql.conf
......
listen_addresses = '*'          # what IP address(es) to listen on;
......
vim /data/postgresql/data/pg_hba.conf
......
# IPv4 local connections:
host    all    all    0.0.0.0/0    scram-sha-256
......

4.4 pgsql启动

初始化完成之后,启动pgsql即可,命令如下:

su - postgres
/usr/local/pgsql14/bin/pg_ctl -D /data/postgres/data -l /data/postgresql/log/pg.log start

4.5 登录并修改postgres账号密码

安装完成之后,我们尝试登录psql并修改postgres账号的密码,命令如下:

su - postgres
/usr/local/pgsql14/bin/psql
postgres=# ALTER USER postgres WITH PASSWORD 'Your_Password';

4.6 远程访问

navicat是可以远程访问postgres的,我们来基于navicat创建一个pgsql的远程连接:

picture.image 依次输入远程连接地址,用户名和密码,正常情况就可以连接上了,到此pgsql就部署完成了。

5.结语

可以看到pgsql的部署还是非常简单的,其实pgsql的基础使用命令和mysql还是有很大不同的,后面就教大家试用下pgsql常见的基础命令。

0
0
0
0
关于作者
相关资源
云原生数据库 veDB 核心技术剖析与展望
veDB 是一款分布式数据库,采用了云原生计算存储分离架构。本次演讲将为大家介绍火山引擎这款云原生数据库的核心技术原理,并对未来进行展望。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论