50 openEuler搭建PostgreSQL数据库服务器-配置环境

2023-10-27

50 openEuler搭建PostgreSQL数据库服务器-配置环境

image-20221219190513462 说明:
以下环境配置仅为参考示例,具体配置视实际需求做配置

50.1 关闭防火墙并取消开机自启动

image-20221219190513462 说明:
测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

  1. 在root权限下停止防火墙。

    # systemctl stop firewalld
    

    例如示例命令如下:

    [root@superman-21 ~]# systemctl stop firewalld  
    [root@superman-21 ~]# 
    
  2. 在root权限下关闭防火墙。

    # systemctl disable firewalld
    

    image-20221219190513462 说明:
    执行disable命令关闭防火墙的同时,也取消了开机自启动。

    例如示例命令如下:

    [root@superman-21 ~]# systemctl disable firewalld
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    [root@superman-21 ~]# 
    

50.2 修改SELINUX为disabled

  1. 永久关闭,在root权限下修改配置文件。

    # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    

    image-20221219190513462 说明:

    重启后生效。

    例如示例命令如下:

    [root@superman-21 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/sysconfig/selinux 
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
    
    [root@superman-21 ~]#
    
  2. 临时关闭

    # setenforce 0
    

    image-20221219190513462 说明:

    即时生效,但重启后会自动开启。

    例如示例命令如下:

    [root@superman-21 ~]# setenforce 0
    setenforce: SELinux is permissive
    [root@superman-21 ~]# 
    

50.3 创建组和用户

image-20221219190513462 说明:
服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

  1. 在root权限下创建MySQL用户(组)。

    # groupadd postgres
    # useradd -g postgres postgres
    

    例如示例命令如下:

    [root@superman-21 ~]# groupadd postgres
    [root@superman-21 ~]# 
    [root@superman-21 ~]# useradd -g postgres postgres
    [root@superman-21 ~]# 
    
  2. 在root权限下设置MySQL用户密码。

    # passwd postgres
    

    需要重复输入密码(根据实际需求设置密码)。

    例如示例命令如下:

    [root@superman-21 ~]# passwd postgres
    更改用户 postgres 的密码 。
    新的密码: 
    重新输入新的密码: 
    passwd:所有的身份验证令牌已经成功更新。
    [root@superman-21 ~]# 
    

50.4 创建数据盘

image-20221219190513462 说明:

  • 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二
  • 非性能测试时,在root权限下执行以下命令,创建数据目录即可。然后跳过本小节:
    # mkdir /data

50.4.1 方法一:在root权限下使用fdisk进行磁盘管理

  1. 创建分区(以/dev/sdb为例,根据实际情况创建)

    # fdisk /dev/sdb
    
  2. 输入n,按回车确认。

  3. 输入p,按回车确认。

  4. 输入1,按回车确认。

  5. 采用默认配置,按回车确认。

  6. 采用默认配置,按回车确认。

  7. 输入w,按回车保存。

    例如示例命令如下:

    [root@superman-21 ~]# fdisk /dev/sdb
    
    欢迎使用 fdisk (util-linux 2.37.2)。
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    设备不包含可识别的分区表。
    创建了一个磁盘标识符为 0x9ac1f07b 的新 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    分区类型
       p   主分区 (0 primary, 0 extended, 4 free)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p):p
    分区号 (1-4, 默认  1): 1
    第一个扇区 (2048-41943039, 默认 2048): 
    最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): 
    
    创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。
    
    命令(输入 m 获取帮助):w
    分区表已调整。
    将调用 ioctl() 来重新读分区表。
    正在同步磁盘。
    
    [root@superman-21 ~]# 
    
  8. 创建文件系统(以xfs为例,根据实际需求创建文件系统)

    # mkfs.xfs /dev/sdb1
    

    例如示例命令如下:

    [root@superman-21 ~]# mkfs.xfs /dev/sdb1
    meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=0 inobtcount=0
    data     =                       bsize=4096   blocks=5242624, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@superman-21 ~]# 
    
  9. 创建“/data”文件夹以供操作系统挂载分区使用。

    # mkdir /data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkdir /data    
    [root@superman-21 ~]# 
    
  10. 执行命令编辑“/etc/fstab”使重启后自动挂载数据盘。

    # echo "/dev/sdb1 /data                       xfs    defaults        1 1" >> /etc/fstab
    

    例如示例命令如下:

    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    [root@superman-21 ~]# 
    [root@superman-21 ~]# echo "/dev/sdb1 /data                       xfs    defaults        1 1" >> /etc/fstab
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    /dev/sdb1 /data                       xfs    defaults        1 1
    [root@superman-21 ~]# 
    
  11. 挂载数据盘。

    # mount -a
    

    例如示例命令如下:

    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    [root@superman-21 ~]# 
    [root@superman-21 ~]# mount -a
    [root@superman-21 ~]# 
    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    /dev/sdb1                  20G  175M   20G    1% /data
    [root@superman-21 ~]#
    

50.4.2 方法二:在root权限下使用LVM进行磁盘管理

image-20221219190513462 说明:
此步骤需要安装镜像中的lvm2相关包,步骤如下:

  1. 配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》。如果已经执行,则可跳过此步。
  2. 在root权限下执行命令安装lvm2。
    # yum install lvm2
  1. 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

    # pvcreate /dev/sdb
    

    例如示例命令如下:

    [root@superman-21 ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created.
    [root@superman-21 ~]# 
    
  2. 创建物理卷组(其中vg_data为创建的卷组名称,具体名字以实际规划为准)。

    # vgcreate vg_data /dev/sdb
    

    例如示例命令如下:

    [root@superman-21 ~]# vgcreate vg_data /dev/sdb
      Volume group "vg_data" successfully created
    [root@superman-21 ~]# 
    
  3. 创建逻辑卷(其中20G为规划的逻辑卷大小,具体大小以实际情况为准;lv_data为创建的逻辑卷的名字,具体名称以实际规划为准。)。

    # lvcreate -L 20476M -n lv_data vg_data
    

    例如示例命令如下:

    [root@superman-21 ~]# lvcreate -L 20476M -n lv_data vg_data 
      Logical volume "lv_data" created.
    [root@superman-21 ~]# 
    
  4. 创建文件系统。

    # mkfs.xfs /dev/vg_data/lv_data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkfs.xfs /dev/vg_data/lv_data
    meta-data=/dev/vg_data/lv_data   isize=512    agcount=4, agsize=1310464 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=0 inobtcount=0
    data     =                       bsize=4096   blocks=5241856, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@superman-21 ~]# 
    
  5. 创建“/data”文件夹以供操作系统挂载分区使用。

    # mkdir /data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkdir /data    
    [root@superman-21 ~]# 
    
  6. 执行命令编辑“/etc/fstab”使重启后自动挂载数据盘。

    # echo "/dev/vg_data/lv_data /data                       xfs    defaults        1 1" >> /etc/fstab
    

    例如示例命令如下:

    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    [root@superman-21 ~]# 
    [root@superman-21 ~]# echo "/dev/vg_data/lv_data /data                       xfs    defaults        1 1" >> /etc/fstab
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    /dev/vg_data/lv_data /data                       xfs    defaults        1 1
    [root@superman-21 ~]# 
    
  7. 挂载数据盘。

    # mount -a
    

    例如示例命令如下:

    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    [root@superman-21 ~]# 
    [root@superman-21 ~]# mount -a
    [root@superman-21 ~]# 
    [root@superman-21 ~]# df -h
    文件系统                     容量  已用  可用 已用% 挂载点
    devtmpfs                     4.0M     0  4.0M    0% /dev
    tmpfs                        1.7G   12K  1.7G    1% /dev/shm
    tmpfs                        677M  9.1M  668M    2% /run
    tmpfs                        4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root      41G  2.9G   36G    8% /
    tmpfs                        1.7G     0  1.7G    0% /tmp
    /dev/sda1                    974M  249M  659M   28% /boot
    /dev/mapper/vg_data-lv_data   20G  175M   20G    1% /data
    [root@superman-21 ~]#
    

50.5 数据目录授权

在root权限下修改目录权限。

# chown -R postgres:postgres /data

例如示例命令如下:

[root@superman-21 ~]# chown -R postgres:postgres /data
[root@superman-21 ~]# 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

50 openEuler搭建PostgreSQL数据库服务器-配置环境 的相关文章

随机推荐

  • Spark 基础教程

    Spark是基于内存计算的大数据并行计算框架 可用于构建大型的 低延迟的数据分析应用程序 Spark特点 运行速度快 Spark使用先进的DAG Directed Acyclic Graph 有向无环图 执行引擎 以支持循环数据流与内存计算
  • 软件发布之版本命名

    简介软件的版本命名与编号 img src http blog csdn net ppbage aggbug 747919 aspx width 1 height 1
  • unity--触屏游戏中如何判断点击的位置的左右&触屏游戏中如何判断点击的位置的左右&通过反转对象,让左侧运动的动画应用于右侧运动&通过代码改变图层覆盖顺序(Sorting Layer)

    文章目录 触屏游戏中如何判断点击的位置的左右 使用获取到的触碰坐标来进行左右移动 通过反转对象 让左侧运动的动画应用于右侧运动 通过代码改变图层覆盖顺序 Sorting Layer 触屏游戏中如何判断点击的位置的左右 我们先要有一个可以反馈
  • osg学习(四十)osg::Viewer的realize创建窗体的几种方式

    能够根据屏幕数 创建不同位置的窗口 void Viewer realize 在某一个屏幕上创建无边框窗口 在某一个屏幕上创建正常窗口 在所有屏幕上创建正常窗口 一个窗口 窗口位置可以跨屏幕 osgViewer SingleWindow实现
  • promise笔记

    promise笔记 以下笔记主要参考axios官网里的promise教程 写在这里方便以后复习或者查找 Promise javascript info 可以通过这个链接进行学习 更加详细 文章目录 promise笔记 1 介绍 2 基本语法
  • 将字符串格式的时间格式化

    时间格式化 param Number date 时间戳 param DateString fmt 时间格式 dateFormat yyyy MM dd hh mm ss S gt 2016 03 12 20 13 32 232 return
  • Object.create 以及 Object.setPrototypeOf

    第一部分 Object crate 方法是es5中的关于原型的方法 这个方法会使用指定的原型对象以及属性去创建一个新的对象 语法 Object create proto propertiesObjecy 参数 proto 必须的 一个对象
  • 云计算简介

    什么是 云 迁移至云端 在云中运行 在云中存储 从云端访问 当今时代 似乎一切都在 云 中进行 但是 云 究竟是一个什么样的概念 简单来说 云就是互联网连接的另一端 你可以从云端访问各种应用程序和服务 也可以在云端安全存储你的数据 云 之所
  • 扫描二维码 跳转到小程序指定页面

    注意 必须发布代码之后才能使用扫描二维码跳转 规则 1 二维码规则 填写你要生成的二维码的链接 2 小程序功能页面 要跳转的小程序的页面 3 测试链接 也填同样的链接 4 将上面的链接生成一个二维码 测试链接 5 通过微信扫描这个二维码跳转
  • 安装Apex库

    在Linux系统下安装Apex库 1 安装流程 按顺序使用如下命令 git clone https github com NVIDIA apex cd apex pip3 install v no cache dir 注意 不能直接使用pi
  • iOS 多线程

    1 怎么用GCD实现多读单写 dispatch barrier async 2 ios系统为我们提供的几种多程序技术各自的特点是怎样的 GCD 实现一些简单的线程同步 子线程的分派 包括一些类似于多读单写 nsoperation 比如adn
  • 2022年最佳的9种逆向工程工具[持续更新]

    逆向是复杂的 然而 软件开发人员经常在面临一项具有挑战性的任务时转向反向工程 增强软件安全性 使软件与第三方组件兼容 维护遗留代码 等等 在本文中 我们将描述我们的软件逆向程序在工作中所依赖的主要工具 并展示如何使用这些工具的实际示例 本文
  • python输入多组测试数据_python ddt数据驱动实例代码分享

    python ddt数据驱动最简实例 在接口自动化测试中 往往一个接口的用例需要考虑 正确的 错误的 异常的 边界值等诸多情况 然后你需要写很多个同样代码 参数不同的用例 如果测试接口很多 不但需要写大量的代码 测试数据和代码柔合在一起 可
  • STM32基于HAL库带FreeRTOS系统的Freemodbus移植

    STM32基于HAL库移植带FreeRTOS系统的Freemodbus移植 移植前提 下载所需源码 可能的win10 IAR设置 从站注意定义寄存器数量大小 效果查询报文 效果回复报文 移植事件 定时器 串口 事件移植 串口移植 定时器移植
  • Electron+React+Antd将网页打包成应用程序完整步骤(electron-builder (搭建热更新) 或 electron-packager(不搭建热更新))

    一 创建React项目 ps 由于写的时候没注意 包安装有的用npm有的用yarn 大家统一用一个就行 尽量不要使用cnpm ps 源码地址 git clone https github com Aug Sunrise electron t
  • 【mysql】mysql表分区、索引的性能测试

    概述 mysql分区表概述 google搜索一下 RANGE COLUMNS partitioning 主要测试mysql分区表的性能 load 500w 条记录 大约在10min左右 batch insert 1 9w条记录 没建立索引
  • 小米升级后开机显示无服务器,小米手机升级后无法开机解决方法

    方法1 刷机 在关机的状态下 进rec中双清 音量上键和开机键按住出来第一个mi画面全部松手 再按住音量加 然后在双清 然后关机音量下键和开机键同时摁住进入fastboot模式 出现米兔修机器人界面 线刷开发版刷机包和教程可以到http w
  • vue3中keep-alive和vue-router的结合使用

    vue3中keep alive和vue router的结合使用 前言 代码 一 为何要使用keep alive 二 vue2中使用keep alive 将 router view 组件包含于 keep alive 即可 三 vue3中使用k
  • 打印二叉树

    摘要 https wylu github io posts 91f36751 本文将使用两种展示方式打印一颗二叉树 效果如下 8 12 14 20 15 13 10 11 9 4 6 7 5 2 3 1 20
  • 50 openEuler搭建PostgreSQL数据库服务器-配置环境

    文章目录 50 openEuler搭建PostgreSQL数据库服务器 配置环境 50 1 关闭防火墙并取消开机自启动 50 2 修改SELINUX为disabled 50 3 创建组和用户 50 4 创建数据盘 50 4 1 方法一 在r