• postgresql + timescaledb离线安装笔记(zabbix数据库准备工作)


    实验环境

    操作系统:centos 7.6
    PostgreSQL:14.6
    timescaledb:2.8.1
    网络:本地无网络

    1 编译源码安装

    1.1 准备工作

    useradd postgres
    mkdir /usr/pgsql12/
    chown -R postgres:postgres /usr/pgsql12/
    mkdir /pgsqlData
    chown -R postgres:postgres /pgsqlData
    
    • 1
    • 2
    • 3
    • 4
    • 5

    /usr/pgsql12用于放置二进制文件
    /pgsqlData挂载数据盘放置数据,可以通过SHOW data_directory;查询

    1.2 安装依赖包

    依赖包可以在 http://www.rpmfind.net/ 预先下载

    1.2.1 readline-devel

    rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
    rpm -Uvh readline-6.2-11.el7.x86_64.rpm
    rpm -ivh readline-devel-6.2-11.el7.x86_64.rpm
    
    • 1
    • 2
    • 3

    1.2.2 gcc

    rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm 
    rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
    rpm -ivh cpp-4.8.5-44.el7.x86_64.rpm 
    rpm -Uvh libgomp-4.8.5-44.el7.x86_64.rpm
    rpm -Uvh libgcc-4.8.5-44.el7.x86_64.rpm
    rpm -ivh kernel-headers-3.10.0-1160.el7.x86_64.rpm
    rpm -Uvh glibc-common-2.17-317.el7.x86_64.rpm glibc-2.17-317.el7.x86_64.rpm
    rpm -ivh glibc-headers-2.17-317.el7.x86_64.rpm
    rpm -ivh glibc-devel-2.17-317.el7.x86_64.rpm
    rpm -ivh gcc-4.8.5-44.el7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    1.2.3 zlib

    rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm
    
    • 1

    1.3 postgresql

    1.3.1 准备工作

    下载源码文件

    chown -R postgres:postgres postgresql-14.6
    tar -zxvf postgresql-14.6.tar.gz
    
    • 1
    • 2

    1.3.2 编译

    进入postgresql-14.6目录

    ./configure --prefix=/usr/pgsql12/
    make 
    make install
    
    • 1
    • 2
    • 3

    2 rpm安装

    2.1 准备工作

    useradd postgres
    mkdir /pgsqlData
    chown -R postgres:postgres /pgsqlData
    
    • 1
    • 2
    • 3

    2.2 安装

    rpm包可以在有网络环境下参考 https://www.postgresql.org/download/linux/redhat/ 预先下载完成

    rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
    rpm -ivh postgresql14-libs-14.6-1PGDG.rhel7.x86_64.rpm
    rpm -ivh postgresql14-14.6-1PGDG.rhel7.x86_64.rpm
    rpm -ivh postgresql14-server-14.6-1PGDG.rhel7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4

    2.3 添加环境变量

    在/etc/profile.d目录下新增postgres-env.sh文件,内容为:

    export PG_HOME=/usr/pgsql-14
    export PATH=$PATH:$PG_HOME/bin
    export PGDATA=/pgsqlData
    
    • 1
    • 2
    • 3

    source /etc/profile立即生效

    2.4 初始化

    切换至postgres用户

    initdb -D /pgsqlData/ -k -E utf8
    
    • 1

    2.5 修改配置文件

    修改/pgsqlData/postgresql.conf中

    listen_addresses = '*' 
    port = 5432
    max_connections = 512
    data_directory = '/pgsqlData' 
    hba_file = '/pgsqlData/pg_hba.conf'
    ident_file = '/pgsqlData/pg_ident.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.6 修改socket目录权限

    chown postgres:postgres /var/run/postgresql
    
    • 1

    2.7 启动

    使用postgres用户

    pg_ctl start
    
    • 1

    2.8 登录

    2.8.1 socket登录

    psql -p5432
    
    • 1

    即可通过socket直接登录

    2.8.2 网络登录

    /pgsqlData/pg_hba.conf新增:

    host    all             postgres        192.168.145.135/32         scram-sha-256
    
    • 1

    意为允许192.168.145.135/32以postgres访问所有数据库
    重启PG

    pg_ctl restart
    
    • 1

    socket登录后:

    set password_encryption="scram-sha-256";
    alter user postgres password '123';
    
    • 1
    • 2

    即可通过 psql -h192.168.145.135 -Upostgres -p5432 -W postgres 登录

    3 timescaledb插件

    3.1 rpm包安装

    rpm包可以参考 https://packagecloud.io/timescale/timescaledb/packages/el/7/timescaledb-2-postgresql-14-2.8.1-0.el7.x86_64.rpm?distro_version_id=140 预先下载

    rpm -ivh timescaledb-tools-0.14.2-0.el7.x86_64.rpm
    rpm -ivh timescaledb-2-loader-postgresql-14-2.8.1-0.el7.x86_64.rpm
    rpm -ivh timescaledb-2-postgresql-14-2.8.1-0.el7.x86_64.rpm
    timescaledb-tune --pg-config=/usr/pgsql-14/bin/pg_config 
    
    • 1
    • 2
    • 3
    • 4

    全部yes即可
    重启postgres

    4 导入数据

    登录PG

    create database zabbix;
    create user zabbix with password '123';
    GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
    \c zabbix;
    create EXTENSION IF NOT EXISTS timescaledb;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下载zabbix源码并解压,按照postgres用户设置允许zabbix用户通过ip登录

    cd database/postgresql
    psql -h192.168.145.135 -Uzabbix -p5432 -W -dzabbix -f ./schema.sql
    psql -h192.168.145.135 -Uzabbix -p5432 -W -dzabbix -f ./images.sql 
    psql -h192.168.145.135 -Uzabbix -p5432 -W -dzabbix -f ./data.sq
    psql -h192.168.145.135 -Uzabbix -p5432 -W -dzabbix -f ./timescaledb.sql  
    
    • 1
    • 2
    • 3
    • 4
    • 5

    即可使用

  • 相关阅读:
    小程序云开发学习笔记
    【萌新向】Sql Server保姆级安装教程-图文详解手把手教你安sql
    解决idea maven 不使用本地库jar包问题
    计算机毕设 基于CNN实现谣言检测 - python 深度学习 机器学习
    软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例
    聊聊RNN与Attention
    无主复制系统(1)-节点故障时写DB
    flutter 随机数的生成 四舍五入
    智慧交通行业发展现状及竞争格局发展前景分析
    Java程序设计——JDBC基础(JDBC编程)
  • 原文地址:https://blog.csdn.net/Re_Virtual/article/details/128115920