SQL测试套-pg_regress使用

官方文档

https://www.postgresql.org/docs/10/regress-run.html

命令帮助

Usage:pg_regress [OPTION]... [EXTRA-TEST]...Options:--config-auth=DATADIR     update authentication settings for DATADIR--create-role=ROLE        create the specified role before testing--dbname=DB               use database DB (default "regression")--debug                   turn on debug mode in programs that are run--dlpath=DIR              look for dynamic libraries in DIR--encoding=ENCODING       use ENCODING as the encoding--inputdir=DIR            take input files from DIR (default ".")--launcher=CMD            use CMD as launcher of psql--load-extension=EXT      load the named extension before running thetests; can appear multiple times--load-language=LANG      load the named language before running thetests; can appear multiple times--max-connections=N       maximum number of concurrent connections(default is 0, meaning unlimited)--outputdir=DIR           place output files in DIR (default ".")--schedule=FILE           use test ordering schedule from FILE(can be used multiple times to concatenate)--temp-instance=DIR       create a temporary instance in DIR--use-existing            use an existing installationOptions for "temp-instance" mode:--no-locale               use C locale--port=PORT               start postmaster on PORT--temp-config=FILE        append contents of FILE to temporary configOptions for using an existing installation:--host=HOST               use postmaster running on HOST--port=PORT               use postmaster running at PORT--user=USER               connect as USER

部署使用介绍

  1. 将编译后的src\test\regress目录下的如下文件和目录放到 sql_test_case 目录中
sql
expected
input
output
data
resultmappg_regressautoinc.so
regress.so
refint.soserial_schedule
parallel_schedule
standby_schedule
  1. 修改文件: output和input中所有文件:将 @libdir@ 替换为 /tmp/sql_test_case
  2. 将sql_test_case 上传到 /tmp 目录下 (必须是在/tmp目录下)
  3. 将要测试的数据库集群的max_prepared_transactions参数设置为与max_connections相同(修改后需要重启)
  4. 执行如下命令进行测试
DBUSER=postgres
chown $DBUSER: /tmp/sql_test_case -R su - $DBUSER
cd /tmp/sql_test_case
mkdir testtablespacePG_HOME=/usr/pgsql-10/
REGRESS=$PG_HOME/lib/pgxs/src/test/regress/pg_regress
$REGRESS --help
PG_PORT=4000#数据库名称不能修改,要确保环境上没有对应的数据库,否则会被误删除
$REGRESS --host=localhost --port=$PG_PORT --user=postgres --dbname=regression --schedule=serial_schedule
$REGRESS --host=localhost --port=$PG_PORT --user=postgres --dbname=regression --schedule=parallel_schedule
  1. 查看测试结果,如果存在failed,对比expected和results文件夹

增加自定义测试用例

  1. 在sql文件夹中添加自己的测试SQL文件。比如:limit_mysql.sql
  2. 在serial_schedule文件中添加测试项。比如: test: limit_mysql
  3. 运行测试后在results文件夹中找到`limit_mysql.out,然后归档到expected文件夹中

PostgreSQL测试套-pg_regress使用相关推荐

  1. Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库

    1. 创建测试工程 RIDE工具中有Project概念,实际上Robot Framework中是没有工程的概念,可以理解为最顶层的测试套. 1.1. 新建测试工程 点击 File–>New Pr ...

  2. BGP协议测试套开发及使用指导书

    1     协议介绍 1.1   协议概述 BGP(BorderGateway Protocol,边界网关协议)是一种实现AS(自治系统)之间路由的距离矢量性动态路由协议.使用TCP作为其传输层协议( ...

  3. 阿里云上运行Docker版本的PostgreSQL

    阿里云上运行Docker版本的PostgreSQL 最近公司项目上用到PostgreSQL9.3.24, 需要搭建一套PostgreSQL测试环境. 正好最近阿里云双11优惠幅度巨大,果断入手一台2核 ...

  4. linux 5432端口,无法连接到端口5432上的postgresql

    问题描述 我安装了包含PostgreSQL 8.4的Bitnami Django stack. 当我运行psql -U postgres时,我收到以下错误: psql: could not conne ...

  5. 用python自动化做ecshop测试_Python-自动化测试面试

    1.以你做过的项目,举例来说一下你的自动化测试是怎么做的? 参考答案:就拿简历上的ecshop项目来说吧,在编写脚本前,我们会对系统进行评估,确认这个系统可不可以实现UI自动化,如果可以的话,就筛选出 ...

  6. 专题 15 TCP套接字编程

    概述 存在三种套接字:流式套接字(SOCK_STREAM).数据报套接字(SOCK_DGRAM)和原始套接字(SOCK_RAW). TCP套接字工作流程: 首先,服务器端启动进程,调用Socket创建 ...

  7. 软件测试--测试Demo

    视频地址(第二课时):https://pan.baidu.com/s/1gfLVC2n 软件安装好了! 软件默认的浏览器是火狐. 如果需要IE,chrome,都在前一篇的安装包里有. 测试结果 视频里 ...

  8. linux系统虚拟化测试,网络性能与磁盘测试 - Linux虚拟化性能PK:Ubuntu系统6大版本_Linux新闻_Linux公社-Linux系统门户网站...

    Apache与PostgreSQL.PostMark.FS-Mark测试结果 Apache网络服务器基准测试 首先测试在Apache网络服务器基准测试中,我们看到了在Ubuntu 9.04和9.10之 ...

  9. 优秀国外测试网站集合

    http://bdonline.sqe.com/一个关于网站测试方面的网页,对这方面感兴趣的人可以参考 http://citeseer.nj.nec.com/一个丰富的电子书库,内容很多,而且提供著作 ...

最新文章

  1. 【原创】VB利用堆栈实现算术表达式计算
  2. 图片验证码识别 python web_Python web中实现验证码图片
  3. Activity的生命周期理解
  4. c#后台alert出来变乱码问题解决
  5. 属性名、变量名与 内部关键字 重名 加
  6. SQLServer 生成当前日期备份
  7. swift for循环_Swift | 实战一个简单的素数计算器demo
  8. java中quickhit_关于java的QuickHit打字游戏小项目
  9. bzoj2878 [Noi2012]迷失游乐园——概率期望DP
  10. 基于JAVA+SpringMVC+MYSQL的旅行社管理系统
  11. Python数据结构与算法(2.3)——链表
  12. 软件需求分析--结构化分析(SA)方法[1]
  13. 【运动学】基于matlab匀变速直线运动规律【含Matlab源码 978期】
  14. Python黑客绝技04:Python基础知识2
  15. Matplotlib绘制半圆形
  16. cv2.imread不能正常读取gif格式图片
  17. hp服务器主板显示51,HP Jetdirect打印服务器故障解决
  18. vue实现微信web开发之扫码签到
  19. 【STM8】两个单片机之间的Lora通讯实验
  20. C++ Copy Elision 1

热门文章

  1. 园区3D可视化三维展示系统解决方案
  2. 史上最全程序员视频+电子书资源分享
  3. linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份
  4. 开源自助建站系统源码完整源码+搭建教程 傻瓜式一键建站系统源码
  5. win7安装高版本的node解决办法
  6. iOS 2015年3月苹果新的审核标准(中文)
  7. mysql中日期相减_Excel日期和时间运算
  8. 联想笔记本键盘亮屏幕不亮_联想笔记本电脑开机键亮但是黑屏 联想笔记本电脑键盘失灵怎么办...
  9. 蓝桥杯陶陶摘苹果C语言,Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
  10. 基于python多线程和Scrapy爬取链家网房价成交信息