CentOS下部署Postgresql-离线模式

标签:

离线部署Postgresql,centos下部署Postgresql 

一、环境要求

测试环境部署信息

操作系统:CentOS 7.8 (cat /etc/redhat-release)

postgresql版本: 13.3

二、准备工作

2.1.安装readline

以下命令是在有对应离线文件目录下执行

命令:rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
命令:rpm -ivh readline-6.2-11.el7.x86_64.rpm
命令:rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm

对应的离线包可到网站下载

网址:点我跳转  在界面中Ctrl+F进行搜索相应的包

2.2.安装zlib-devel

以下命令是在有对应离线文件目录下执行

命令:rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm   //一般情况下系统默认安装了
命令:rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm

对应的离线包可到网站下载

网址:点我跳转  在界面中Ctrl+F进行搜索相应的包

三、安装postgresql

3.1.将postgresql的包上传到(/tmp)文件夹中进行解压

postgresql的离线包到官方网站下载:https://www.postgresql.org/

命令:tar -xzvf postgresql-13.3.tar.gz

3.2.创建postgresql的安装目录

PS:请注意你的创建路径,可以是不同的路径后面会用到

PS:请注意你的创建路径,可以是不同的路径后面会用到

PS:请注意你的创建路径,可以是不同的路径后面会用到

命令:mkdir /data     //先在跟目录下创建data目录
命令:mkdir /data/postgresql   //data目录下创建postgresql

3.3.生成makefile

PS:需要到解压的目录下操作

命令:./configure --prefix=/data/postgresql   //需要到解压的目录下操作

3.4.编译安装

PS:在解压的目录下执行

命令:make && make install     //在解压的目录下执行

3.5.安装工具集

PS:进入到解压后的目录下的contrib文件夹

命令:cd /tmp/postgresql-13.3/contrib  //进入到解压后的目录下的contrib文件夹
命令:make && make install

3.6.创建postgresql用户

命令:groupadd postgres
命令:useradd -g postgres postgres

为了安全考虑,postgresql不允许使用root用户操作数据库,我们在系统中为了使用postgresql添加一个用户postgres:

也可以是其他用户名,但是习惯上大家都是创建postgres用户作为数据库的超级用户。

初始化数据库时,就以这个用户作为数据库的超级用户

3.7.修改data目录的用户为postgres

命令:cd /data/postgresql      //进入到安装的postgresql目录
命令:mkdir data     //在postgresql目录下创建data文件夹
命令:chown -R postgres:postgres /data/postgresql/data

3.8.修改环境变量

命令:su - postgres 
命令:vim /home/postgres/.bash_profile

        

添加环境变量:

export PGHOME=/data/postgresql
export PGDATA=/data/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm  -i'
alias ll='ls -lh'

保存后使环境变量立即生效,否则initdb命令会找不到:

命令:source /home/postgres/.bash_profile

3.9.初始化数据库

命令:initdb -D /data/postgresql/data/

3.10.启动数据库

命令:su - postgres    //使用postgres用户
命令:cd /home/postgres  //logfile需要在postgres的用户目录下创建
命令:pg_ctl -D /data/postgresql/data/ -l logfile start

查看5432端口是否已经启动

命令:netstat -nltp|grep 5432

3.11.添加postgresql至服务

命令:cd /tmp/postgresql-13.3/contrib/start-scripts/
命令:chmod a+x linux
命令:cp linux /etc/init.d/postgresql

此时就可以使用 /etc/init.d/postgresql stop 来停止postgresql

也可以使用:service postgresql start 来启动postgresql

修改postgresql脚本中prefix和PGDATA的内容

附带命令:pg_ctl start 启动服务

                  pg_ctl restart 重启服务

chkconfig --add postgresql //设置服务开机启动

四、配置数据库允许连接

命令:su root //切换至root用户下

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

命令:vim /data/postgresql/data/postgresql.conf     //#修改为如下:
        listen_addresses = '*'

配置连接方式

PS:添加的信息为网段信息,非服务器的IP信息

命令:vim /data/postgresql/data/pg_hba.conf   //#添加信息为如下:
host    all             all             192.168.2.0/24           md5

五、创建数据库

5.1.创建用户

命令:su - postgres    //使用postgres操作系统用户
命令: psql //进入数据库
数据库命令:create role 用户名 password '密码' 权限;

示例

例如:创建一个用户名为test ,密码为:'pg@0123',权限为createdb login的用户
数据库命令:create role test password 'pg@0123' createdb login;
查询所有用户
数据库命令:select rolname,oid from pg_roles;

5.2.创建表空间

数据库命令:create tablespace 表空间 OWNER 表空间所有者 LOCATION '文件位置';

示例

示例:创建了一个表空间名为TBS_TEST,所有者为test,文件位置为/home/postgres的表空间
数据库命令:create tablespace TBS_TEST OWNER test LOCATION '/home/postgres';
注意:文件位置是在pod内的路径,建议使用/home/postgres即可,无需修改

5.3.创建库

数据库命令:create  database 库名 tablespace 表空间名;

示例

示例:创建了一个名字为test,使用tbs_test表空间的库
create  database test tablespace tbs_test;
查看所有库
select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;

5.4.其他授权操作

表空间授权
数据库命令:GRANT all ON TABLESPACE 表空间名 TO 用户名;
示例:授予test用户,TBS_TEST表空间所有权限
数据库命令: GRANT all ON TABLESPACE TBS_TEST TO test;

库授权
数据库命令:GRANT all ON DATABASE 库名 TO 用户名;
示例:授予test用户,TBS_TEST库所有权限
数据库命令:GRANT all ON DATABASE TBS_TEST TO test;

六、链接数据库

如果服务器是开启防火墙状态的请注意 将数据库的端口开放否则链接会报错

命令:firewall-cmd --add-service=postgresql --permanent
# 5432为postgresql端口
命令:firewall-cmd --zone=public --add-port=5432/tcp --permanent
命令:firewall-cmd --reload
# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports

使用第三方工具进行测试链接

结束

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于aarch64-centos7离线部署PostgreSQL 15,您可以按照以下步骤进行操作: 1. 下载PostgreSQL 15二进制文件: 您可以从PostgreSQL官方网站(https://www.postgresql.org/ftp/source/)下载适用于aarch64架构的二进制文件。 2. 安装依赖项: 在离线部署之前,您需要确保安装了所有必需的依赖项。运行以下命令安装这些依赖项: ``` sudo yum install -y readline-devel zlib-devel openssl-devel libxml2-devel libxslt-devel ``` 3. 创建系统用户和组: 为了安全起见,您可以为PostgreSQL创建一个专用的系统用户和组。运行以下命令创建用户和组: ``` sudo groupadd postgres sudo useradd -g postgres postgres ``` 4. 解压并安装二进制文件: 将下载的PostgreSQL 15二进制文件解压到适当的目录,并设置正确的权限。例如,您可以将其解压到`/opt/postgresql-15`目录: ``` sudo tar -xf postgresql-15.tar.gz -C /opt/ sudo chown -R postgres:postgres /opt/postgresql-15 ``` 5. 初始化数据库集群: 在进行任何其他配置之前,您需要初始化一个空的数据库集群。切换到`postgres`用户并运行以下命令: ``` sudo su - postgres /opt/postgresql-15/bin/initdb -D /opt/postgresql-15/data ``` 6. 配置数据库: 编辑`/opt/postgresql-15/data/postgresql.conf`文件来配置数据库的设置。根据您的需求,您可以设置参数如`listen_addresses`、`max_connections`等。 7. 启动数据库: 运行以下命令来启动PostgreSQL数据库: ``` /opt/postgresql-15/bin/pg_ctl -D /opt/postgresql-15/data -l logfile start ``` 8. 连接到数据库: 您可以使用psql命令行工具连接到已启动的PostgreSQL数据库: ``` /opt/postgresql-15/bin/psql -h localhost -U postgres ``` 这样,您就成功在aarch64-centos7离线部署PostgreSQL 15。请确保按照实际需求进行适当的配置和安全设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值