0

我们正在尝试从hammer db测试postgresql,当我在hammerdbcli中运行librarycheck时出现错误。我在 RHEL7.9 中使用hammerdb version4.1

Checking database library for PostgreSQL
Error: failed to load Pgtcl - couldn't load file "/root/HammerDB-4.1/lib/pgtcl2.1.1/libpgtcl2.1.1.so": /root/HammerDB-4.1/lib/pgtcl2.1.1/libpgtcl2.1.1.so: undefined symbol: lo_truncate64
Ensure that PostgreSQL client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
4

1 回答 1

0

HammerDB 文档部分可以在“验证数据库客户端库的安装”部分下提供帮助。

在 Linux 上,使用 ldd 命令确定路径中的 PostgreSQL 库。在此示例中,找到了来自 PostgreSQL 14 安装的 libpq,并且 librarycheck 成功运行。

$ ldd libpgtcl2.1.1.so 
    linux-vdso.so.1 (0x00007ffc621ff000)
    libpq.so.5 => /opt/postgresql-14.1/lib/libpq.so.5 (0x00007f34c2e69000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f34c2c5d000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f34c2c3a000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f34c30c8000)

$ ./hammerdbcli 
HammerDB CLI v4.4
Copyright (C) 2003-2022 Steve Shaw
Type "help" for a list of commands
The xml is well-formed, applying configuration
hammerdb>librarycheck
...
Checking database library for PostgreSQL
Success ... loaded library Pgtcl for PostgreSQL
...

您可能会找到一个早于 9.3 版的库,其中引入了 lo_truncate64,因此请确保将 LD_LIBRARY_PATH 设置为来自 HammerDB 测试矩阵中列出的版本的 PostgreSQL 库。

于 2022-02-25T11:15:41.500 回答