sysbench0.5下面测试postgresql9.4遇到的问题
2015-08-26 22:37
375 查看
实验环境:sysbench 0.5 postgresql 9.4
今天在测试pg,一直出现一个错误,如下:
ALERT: failed to execute PgSQL query: `INSERT INTO sbtest1 (id, k, c, pad) VALUES (0, 5030, '81282571936-84531830426-41085662298-47928456275-46464339136-26826186841-16594168712-81456389105-00666969794-07160071049', '94213152283-28969561545-68552868757-24104245213-42569280254')`:
ALERT: error: ERROR: duplicate key value violates unique constraint "sbtest1_pkey"
DETAIL: Key (id)=(0) already exists.
一直觉得这种开源代码拿着直接用就好,从来没想过里面会有问题。这一次也算是长姿势了。
首先我执行的是:./sysbench --db-driver=pgsql --oltp-auto-inc=on --num-threads=10 --pgsql-host=127.0.0.1 --pgsql-port=5432 --pgsql-user=postgres --pgsql-password= --pgsql-db=postgres --max-request=0 --max-time=20 --test=tests/db/insert.lua
prepare
这里不会报错, 然后当我再执行:./sysbench --db-driver=pgsql --oltp-auto-inc=on --num-threads=10 --pgsql-host=127.0.0.1 --pgsql-port=5432 --pgsql-user=postgres --pgsql-password= --pgsql-db=postgres --max-request=0 --max-time=20 --test=tests/db/insert.lua run
这个地方开始就会报上面那条错误。
错误的原因很简单,就是插入的时候尽管我们选了--oltp-auto-inc=on,让它自增,但是它并没有自增,而是从0开始增加,但是创建表的时候设置的id属性是serial,就不允许有重复。
我的方法是修改insert.lua字段,不插入id 这个字段。
今天在测试pg,一直出现一个错误,如下:
ALERT: failed to execute PgSQL query: `INSERT INTO sbtest1 (id, k, c, pad) VALUES (0, 5030, '81282571936-84531830426-41085662298-47928456275-46464339136-26826186841-16594168712-81456389105-00666969794-07160071049', '94213152283-28969561545-68552868757-24104245213-42569280254')`:
ALERT: error: ERROR: duplicate key value violates unique constraint "sbtest1_pkey"
DETAIL: Key (id)=(0) already exists.
一直觉得这种开源代码拿着直接用就好,从来没想过里面会有问题。这一次也算是长姿势了。
首先我执行的是:./sysbench --db-driver=pgsql --oltp-auto-inc=on --num-threads=10 --pgsql-host=127.0.0.1 --pgsql-port=5432 --pgsql-user=postgres --pgsql-password= --pgsql-db=postgres --max-request=0 --max-time=20 --test=tests/db/insert.lua
prepare
这里不会报错, 然后当我再执行:./sysbench --db-driver=pgsql --oltp-auto-inc=on --num-threads=10 --pgsql-host=127.0.0.1 --pgsql-port=5432 --pgsql-user=postgres --pgsql-password= --pgsql-db=postgres --max-request=0 --max-time=20 --test=tests/db/insert.lua run
这个地方开始就会报上面那条错误。
错误的原因很简单,就是插入的时候尽管我们选了--oltp-auto-inc=on,让它自增,但是它并没有自增,而是从0开始增加,但是创建表的时候设置的id属性是serial,就不允许有重复。
我的方法是修改insert.lua字段,不插入id 这个字段。
相关文章推荐
- Mysql中函数和存储过程
- 《数据库系统概念》学习笔记之四
- T-SQL实用查询之分析数据库表的大小
- sysbench下面测试postgresql遇到IDENT authrntication failed for user postgres
- Ubuntu MySQL允许远程连接数据库访问
- Redis示例配置文件
- mac mysql 破解版下载及常见问题
- windonws7下vs2010编译Mysql 5.6
- iOS 数据库sqlite完整增删改查操作
- magento直接操作数据库
- mysql datetime与timestamp区别
- mysql报错显示法文解决办法
- spark SQL CLI运行(spark1.4)
- windows php_redis.dll 官方下载地址 php5x php7x
- PHP操作MongoDB技术总结
- 数据库字段更换名称且字段值同时更改
- Mariadb 在centos 7下的安装配置
- mysql数据类型整理
- 1、redis 安装
- sql server 2005只有.mdf文件如何附加