---
title: 测试PostgreSQL过程中，无法自动执行索引创建、外键约束创建的解决方法
description: "测试PostgreSQL过程中，在初始化过程中加载数据时，提示“there is no unique constraint matching given keys for referenced table”。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/testguide/tstg/kunpengbenchmarksql_06_0008.html
sourcePath: /source/zh/kunpengdbs/testguide/tstg/kunpengbenchmarksql_06_0008.html
indexId: 79d61fe4f4e028ac66b5d54027fe5ad68b41752158581ffbce8591a69f36832d69
---
# 测试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”保存并退出编辑。
