postgresql 安装

postgresql 安装

1.下载软件包

下载安装包网址
https://www.postgresql.org/
使用rpm方式安装
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm      
安装PostgreSQL 12客户端
yum install -y postgresql12
安装PostgreSQL 12服务端
yum install postgresql12-server
离线安装,在外网环境的同系统机器上执行
yum install postgresql12 --downloadonly --downloaddir=.
yum install postgresql12-server --downloadonly --downloaddir=.
初始化实例及服务管理
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
systemctl stop postgresql-12

/usr/pgsql-12/bin/pg_ctl start
/usr/pgsql-12/bin/pg_ctl stop -m smart/fast/immediate
配置修改及客户端连接
vim /var/lib/pgsql/12/data/postgresql.conf 
监听IPV4的所有IP
listen_addresses='0.0.0.0'  

vim pg_hba.conf 
host  all  all  0.0.0.0/0  md5

停止防火墙

systemctl stop firewalld

第2个实例的创建

拷贝并修改service文件中PGDATA路径,如/var/lib/pgsql/12/data1/
cp /usr/lib/systemd/system/postgresql-12.service /usr/lib/systemd/system/db02.service

初始化数据库,并修改数据库端口,如5433
/usr/pgsql-12/bin/postgresql-12-setup initdb db02

systemctl enable db02
systemctl start db02

生产环境数据库安装

选择硬件、存储及文件系统
调整系统内核参数
设置系统资源限制
设置SELINUX和防火墙
源码编译安装数据库
设置用户环境变量
手工初始化实例(initdb)
设置数据库参数
配置数据库定时备份

硬件、存储及文件系统选择
磁盘推荐SSD > 机械磁盘
cpu关闭numa
存储阵列级别推荐: raid10 > raid5
使用逻辑卷LVM
文件系统选择: xfs > ext4
多网卡绑定,分别连接到不同的交换机上
系统内核参数调整
推荐设置,支持系统 CentOS 6, 7

vim /etc/sysctl.conf 
参数说明
kernel.sem = 250 162500 250 650
kernel.shmall = 107374182# 共享内存页数,linux默认共享内存页是4K,所以需要大于等于shmmax/4KB
kernel.shmmax = 274877906944# 共享内存最大值,单位字节
Kernel.shmmni = 819200# 一共能生成多少共享内存段,每个PG数据库集群至少2个共享内存段
vm.nr_hugepages=# 多少个2M的内存页,若设置需要大于数据库分配的共享内存
vm.swappiness=0# 不回收计算内存,回收非计算内存
vm.overcommit_memory=2# 默认0,申请内存可以超过物理内存总数。oom-killer 杀进程。2不要超分配的策略。
vm.overcommit_ratio=50# 分配内存不能超过,物理内存*百分比+swap 128G 16G 85%左右比较合适 最多分配124GB
vm.dirty_background_ratio=1# 超过1% 在后台刷
vm.dirty_ratio=2# 超过2%开始刷
net.ipv4.tcp_tw_reuse=1# 开启tcp连接复用功能,允许time_wait sockets重新用于新的TCP连接
net.ipv4.tcp_tw_recycle=1# 开启tcp连接中time_wait sockets的快速回收
net.ipv4.tcp_timestamps=0# 时间戳用于避免序列号的饶卷,但如果客户端和服务器端均开启可能导致不能建立tcp连接

系统资源限制设置

vim /etc/security/limits.conf      

* soft    nofile  1024000            
* hard    nofile  1024000            
* soft    nproc   unlimited            
* hard    nproc   unlimited            
* soft    core    unlimited            
* hard    core    unlimited            
* soft    memlock unlimited            
* hard    memlock unlimited

-- vim /etc/security/limits.d/20-nproc.conf

SELINUX和防火墙设置

selinux建议禁用

vi /etc/sysconfig/selinux 
SELINUX=disabled
SELINUXTYPE=targeted

OS防火墙

建议按业务场景设置,不需要就先删除所有策略,并关闭服务

/sbin/iptables -P INPUT ACCEPT                # 设置默认接受所有请求
/sbin/iptables -F                                         # 清除防火墙规则

或直接关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

源码编译安装数据库

  1. 下载软件
  • 方式一
    postgresql下载地址
    在这里插入图片描述
  • 方式二

    wget https://www.postgresql.org/ftp/source/v10.7/postgresql-10.7.tar.gz

  1. 安装系统依赖包

    #yum groupinstall -y "Development tools"
    #yum install -y bison flex readline-devel zlib-devel gcc
    
  2. 编译安装和设置软链

    #tar -zxf /opt/postgresql-10.7.tar.gz
    #cd postgresql-10.7
    #./configure --prefix=/opt/pg10/
    #gmake world
    #gmake install-world
    #ln -s /opt/pg10 /usr/local/pgsql
    
  3. 创建操作系统用户和数据目录

    groupadd -g 1000 postgres
    useradd -g 1000 -u 1000 postgres
    echo "postgres" |passwd --stdin postgres
    mkdir -p /database/pg10/{pg_root,pg_tbs}
    chown -R postgres.postgres /database/pgl0 /usr/local/pgsql
    
  4. 配置环境变量

    #su - postgres
    #vi /home/postgres/.bash_profile
    export PGPORT=5432
    export PGUSER=postgres
    export PGDATA=/database/pgl0/pg_root
    export LANG=en_US.utf8
    export PGHOME=/usr/local/pgsql
    export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
    export PATH=$PGHOME/bin:$PATH
    export MANPATH=$PGHOME/share/man:$MANPATH
    alias rm='rm -i'
    alias ll='ls -lh'
    
    #source /home/postgres/.bash_profile
    
  5. 初始化数据目录

    /usr/local/pgsql/bin/initdb -D /database/pgl0/pg_root -E UTF8 --locale=C -U postgres -W
    
  6. 配置pg_hba.conf

    #在文件下面添加下面两行
    host	all		all		0.0.0.0/0		md5
    host	replication	repuser		0.0.0.0/0		md5
    
  7. 日常命令

    • 启停数据库
      ##启动
      #su – postgres
      #/usr/local/pgsql/bin/pg_ctl -D /database/pgl0/pg_root start
      或者
      #pg_ctl start
      
      ##停止
      #su – postgres
      #pg_ctl stop
      
    • 登录数据库
      ##本地登录
      #su – postgres
      #psql
      psql (10.7)
      Type "help" for help.
      postgres=#
      ##远程登录
      #su – postgres
      #psql -Upostgres -h10.204.23.83 -p5234
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值