# data_flood **Repository Path**: movead/data_flood ## Basic Information - **Project Name**: data_flood - **Description**: data_flood是致力于PostgreSQL数据测试, 起源于作者想迅速生成无意义的PostgreSQL的测试数据。 - **Primary Language**: Unknown - **License**: PostgreSQL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-07 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 什么是data_flood data_flood是致力于PostgreSQL数据测试, 起源于作者想迅速生成无意义的PostgreSQL的测试数据。 ## 工具蓝图 - 目前实现了迅速生成测试数据的初衷,目前可以在测试机一个比较渣的SSD上100s内生成200G的表数据。 - TODO:增加分区表支持 - TODO:增加自定义列数据 - TODO:构建一个测试模型,并完成TPCC测试代码 ## DB支持 - 测试通过PG10~PG18 - 测试通过OG3.0~OG5.0 ## data_flood编译 data_flood需要依赖安装好的PG进行编译,编译需要PGHOME环境变量 ``` lchch@deepin:~/h1/data_flood$ export PGHOME=/home/lchch/h2/pg17 lchch@deepin:~/h1/data_flood$ export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH lchch@deepin:~/h1/data_flood$ export PATH=$PGHOME/bin:$PATH lchch@deepin:~/h1/data_flood$ make > /dev/null lchch@deepin:~/h1/data_flood$ ll bin/ 总用量 52 -rwxr-xr-x 1 lchch lchch 52720 12月 7 12:33 data_flood lchch@deepin:~/h1/data_flood$ ``` bin目录下就是可以运行的工具。 ## data_flood运行
运行data_flood时也需要设置好数据库的lib路径 ``` export LD_LIBRARY_PATH=$PGHOME/lib/:$LD_LIBRARY_PATH ``` ## 使用简介 ``` data_flood [options] Commands: tablefill 基础数据填充 tabledml 执行随机DML操作 Options: -h 显示帮助命令 -V 显示data_flood版本 -v 打印debug信息 -p 连接数据库端口 -P 连接数据库的密码 -U 连接数据库的用户 -d 连接的数据库名 -u 唯一性列 -r 需要扩展的表 -j 并行扩展线程数 -n 扩展表文件大小(单位GB) -f 如果表存在则强制truncate表 -L 限制DML速率为每秒1次操作(仅用于tabledml) -t 运行时长(秒),超时后自动停止(仅用于tabledml) ``` ### tablefill 命令示例 为postgres库的t4表生成10G的数据 ``` data_flood tablefill -p 10060 -U lchch -d postgres -u i -r t4 -j 5 -n 10 -f ``` ### tabledml 命令示例 对表t4执行随机的INSERT/UPDATE/DELETE操作(不限制速率) ``` data_flood tabledml -p 10060 -U lchch -d postgres -r t4 ``` 对表t4执行随机的INSERT/UPDATE/DELETE操作,限制速率为每秒1次操作 ``` data_flood tabledml -p 10060 -U lchch -d postgres -r t4 -L ``` 对表t4执行随机的INSERT/UPDATE/DELETE操作,运行60秒后自动停止 ``` data_flood tabledml -p 10060 -U lchch -d postgres -r t4 -t 60 ``` 对表t4执行随机的INSERT/UPDATE/DELETE操作,限制速率为每秒1次,运行60秒后自动停止 ``` data_flood tabledml -p 10060 -U lchch -d postgres -r t4 -L -t 60 ``` 联系我(lchch1990@sina.cn)