opensips3.0.2之PG12支持

 PG12.2源码安装

  • 下载源码包:

可以到postgresql官方网站下载安装包,也可到私人网盘下载PG12.2部署包(提取码:qas3),本文以postgresql-12.2.tar.gz为例。

  • 解压、编译安装:

# 创建user 和 group
groupadd postgres
useradd -g postgres postgres

# 安装依赖(其余碰到报错再根据情况安装)
yum -y install make gcc gcc-c++ gzip readline readline-devel zlib zlib-devel libperl docbook-dtds docbook-style-xsl fop libxslt 

# 解压
tar -zxvf postgresql-12.2.tar.gz

# 编译安装
cd postgresql-12.2
./configure --prefix=/usr/local/pgsql
make && make install

# 安装contrib目录下的一些工具
cd ./contrib
make && make install 

# 创建数据库data目录并赋予相关权限
mkdir -p /usr/local/pgsql/data
chown -R postgres:postgres /usr/local/pgsql
chmod -R 775 /usr/local/pgsql

# 切换至postgres用户,配置环境变量
echo 'export PATH=/usr/local/pgsql/bin:$PATH' >> ~/.bashrc
echo 'export PGDATA=/usr/local/pgsql/data' >> ~/.bashrc
source ~/.bashrc

# 初始化
initdb -D /usr/local/pgsql/data
  • 配置
     
# 修改客户端认证配置文件pg_hba.conf,将需要远程访问PG的IP地址或地址段加入到该文件
su postgres
vim /usr/local/pgsql/data/pg_hba.conf

# 确保有如下配置(本次测试以trust为例,线上环境建议使用password、md5或者scram-sha-256等)
host    all         all         <your subnet>      trust



# 修改postgres.conf配置文件
vim /usr/local/pgsql/data/postgres.conf

# 确保如下配置
listen_addresses = '*'

# 其余配置保持默认,后面有需要再进行配置
  • 启动数据库
    # 启动数据库,将日志输出到data/serverlog文件中
    su postgres
    pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile start

     

opensips-cli操作数据库

opensips3.0采用opensips-cli工具来管理和监控opensips server,数据库的管理也通过改工具来实现。

  • 部署opensips-cli
    前面写过一篇opensips3.0之新工具opensips-cli安装,此处省略这一步骤。
  • opensips-cli配置文件
    # 创建.opensips-cli.cfg文件,注意文件位置
    vim ~/.opensips-cli.cfg
    
    # 配置文件中配置如下信息
    [default]
    log_level: INFO
    prompt_name: opensips3.0.2-cli
    prompt_intro: Welcome to OpenSIPS 3.0.2!
    prompt_emptyline_repeat_cmd: False
    history_file: ~/.opensips-cli.history
    history_file_size: 1000
    output_type: pretty-print
    communication_type: fifo
    fifo_file: /tmp/opensips_fifo
    
    database_schema_path: /usr/local/opensips3.0.2/share/opensips
    database_admin_url: postgres://postgres:postgres@172.172.0.12
    database_modules: ALL
    database_url: postgres://postgres:postgres@172.172.0.12
    database_name: pbxs
    
    # database_schema_path 表示数据库schema目录,此处postgres的sql文件都在/usr/local/opensips3.0.2/share/opensips/opensips目录下,若没有该目录,则需要编译安装db_postgres模块。
    # database_admin_url配置超级管理员信息
    # database_modules配置数据库支持的模块,此处将所有模块都包含进去,如果只包含部分,则将模块名配置在此,以空格分隔,eg:dialog usrloc
    # database_url表示数据库连接字符串,建议配置非管理员用户
    # database_name表示数据库名,若不配置,默认为opensips

     

  • 编译安装db_postgres模块
    # 在源码目录下编译安装db_postgres模块
    cd <your dir>opensips-3.0.2
    make prefix=/usr/local/opensips3.0.2  modules=modules/db_postgres modules
    make prefix=/usr/local/opensips3.0.2  modules=modules/db_postgres install
    
    # 则可在/usr/local/opensips3.0.2/lib64/opensips/modules目录下找到db_postgres.so文件,并在/usr/local/opensips3.0.2/share/opensips目录下找到postgres目录

     

  • 测试

启动opensips后,进入opensips-cli,tab键,会发现有如下命令可用:

尝试运行下mi ps,成功列出当前所有processes:

尝试创建pbxs数据库和所有表:

进入数据库中查看,发现pbxs数据库被成功创建,并且包括了所有模块的表(信息在opensips-cli配置文件中都已经配置好了,所以执行命令时不需要参数)

再尝试删除数据库:

输入y, 便可将pbxs成功删除。

该工具包含以下模块:

以上opensips-cli模块可以很好的管理和监控opensips server,使用起来也很方便和友好,更多功能还需要继续探索。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值