鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

(可选)导入数据

使用Sysbench向PostgreSQL数据库中导入数据,用于验证PostgreSQL迁移后的数据的正确性和一致性。如果实际环境已包含所需数据,请跳过本章节。

假设需要在PostgreSQL数据库中预置数据,以10张表,每张表包含100万行为例。

  1. 安装Sysbench。
    1. 获取并解压Sysbench 1.0.20源码。详细操作步骤请参见《Sysbench 0.5&1.0 测试指导》的获取源码
    2. 在解压后的源码目录中,安装Sysbench所需的依赖。
      yum install -y mariadb-devel postgresql-devel
    3. 生成自动配置脚本。
      ./autogen.sh
    4. 为了使Sysbench支持PostgreSQL测试,指定PostgreSQL的include目录和lib目录。
      ./configure --with-mysql --with-pgsql --with-pgsql-includes=/usr/local/pgsql-13.2/include --with-pgsql-libs=/usr/local/pgsql-13.2/lib
      • --with-pgsql-includes=/usr/local/pgsql-13.2/include:表示编译时需要指定PostgreSQL的头文件路径。
      • --with-pgsql-libs=/usr/local/pgsql-13.2/lib:表示编译时需要指定PostgreSQL的库文件路径。
    5. 编译安装Sysbench。
      make clean && make -j96 && make -j96 install
    6. 验证已安装的Sysbench已支持PostgreSQL。
      sysbench --db-driver --help

      在回显中看到pgsql - PostgreSQL driver和pgsql options的相关参数,表示已支持PostgreSQL。

  2. 使用Sysbench向PostgreSQL数据库中导入数据。
    1. 切换到postgres用户。
      su - postgres
    2. 创建一个名为sysbench的数据库,用于存放测试数据。
      /usr/local/pgsql-13.2/bin/createdb sysbench
    3. 导入数据。
      sysbench \
      --db-driver=pgsql \
      --pgsql-host=127.0.0.1 \
      --pgsql-port=5432 \
      --pgsql-user=postgres \
      --pgsql-password=123456 \
      --pgsql-db=sysbench \
      --table_size=1000000 \
      --tables=10 \
      --time=180 \
      --threads=96 \
      --report-interval=10 oltp_read_write prepare

      上述命令会向sysbench数据库中导入数据,创建10张表,每张表包含100万行数据。