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

测试PostgreSQL过程中,无法自动执行索引创建、外键约束创建的解决方法

问题现象描述

测试PostgreSQL过程中,在初始化过程中加载数据时,提示“there is no unique constraint matching given keys for referenced table”。

关键过程、根本原因分析

runDatabaseBuild.sh文件中,默认注释掉第17行AFTER LOAD-"indexCreates foreignKeys buildFinish",即禁止在数据加载完成后自动执行索引创建、外键约束创建等操作。如果需要在数据加载完成后执行这些操作,需要将这行注释取消掉。同时注释掉第18行AFTER LOAD-"foreignKeys buildFinish",以禁止构建外键关系。

结论、解决方案及效果

可以通过修改runDatabaseBuild.sh文件来解决该问题:

  1. 打开runDatabaseBuild.sh文件。
    1
    vim /home/benchmarksql5.0-for-postgresql/run/runDatabaseBuild.sh
    
  2. 按“i”进入编辑模式,将文件中的第17行前面的#号删除,并在第18行信息前面加上#号以注释掉该行内容。修改后如下图所示:

  3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。