postgresql - postgres 中的 pgbench 自定义数据模型
问题描述
我想对类似 tpc-c 的场景进行基准测试,但使用我的数据模型而不是 pgbench 创建的标准模型。我了解您可以使用 -f 参数运行自定义脚本。
如果我在数据库已经存在的情况下运行以下命令...
pgbench -rf ./script.sql -c 4 -j 2 -T 60 -n dbName
我得到以下输出。
client 0 script 0 aborted in command 0 query 0: ERROR: database "dbname" already exists
client 1 script 0 aborted in command 0 query 0: ERROR: database "dbname" already exists
client 2 script 0 aborted in command 0 query 0: ERROR: database "dbname" already exists
client 3 script 0 aborted in command 0 query 0: ERROR: database "dbname" already exists
transaction type: ./script.sql
scaling factor: 1
query mode: simple
number of clients: 4
number of threads: 2
duration: 60 s
number of transactions actually processed: 0
Run was aborted; the above results are incomplete
如果我在数据库尚不存在的情况下运行相同的命令,则会得到以下输出。
connection to database "ngm2" failed:
FATAL: database "ngm2" does not exist
这似乎有点愚蠢。
script.sql 包含以下内容
BEGIN;
insert into table1 (field1) values
('{"data1":0,"data2":"","data2":"data4"}');
END;
这是可能的还是我被锁定在 pgBench 使用的数据模型中?如果有另一个应用程序我可以使用我自己的数据模型在 postgres 中对类似 TPC-C 的场景进行基准测试,这也将是有用的信息。
解决方案
推荐阅读
- python - IndexError:从 CSV 文件中读取的内容必须至少可见一张
- javascript - Javascript Date() 返回错误的日期
- django - 如何像在 Django Admin 中一样在表单中创建外键链接字段?
- python - 我正在尝试使用函数修改列表中的值并失败
- php - 转换转义字符 PHP
- laravel - 从同一域/子域组合运行网站和 API 的正确方法是什么
- c++ - 类型检测器`hasNestedType`没有编译?
- python - SQLAlchemy order_by 日期编辑和日期创建列?
- performance - Godot 3中如何去掉图形
- tfrecord - TensorFlow 对象检测 API tfrecord