📜  postgres 启用外键 (1)

📅  最后修改于: 2023-12-03 14:45:34.042000             🧑  作者: Mango

PostgreSQL 启用外键

当我们使用 PostgreSQL 作为我们的数据库时,外键是一种非常重要的关系类型。外键可以帮助我们建立多张数据表之间的联系,从而更好地组织和管理我们的数据。

在 PostgreSQL 中,默认情况下是不启用外键的,如果需要使用外键,则需要手动启用。现在,让我们来学习如何在 PostgreSQL 中启用外键。

步骤
  1. 确认版本

在开始操作之前,我们需要确认我们使用的 PostgreSQL 版本是 9.1 或更高版本。在版本 9.1 之前,外键是不支持的。

  1. 修改配置文件

打开 PostgreSQL 的配置文件 postgresql.conf,通常该文件位于安装路径下的 data 目录中。找到以下行:

#foreign_key_constraints = on

将该行的注释符 # 去掉,并将其后面的值修改为 on,保存并退出。

  1. 重启 PostgreSQL

修改完成后,我们需要重新启动 PostgreSQL,以使更改生效。可以通过在命令行中输入以下命令来重启 PostgreSQL:

sudo systemctl restart postgresql
  1. 创建外键

启用外键后,我们就可以在数据表中创建外键了。我们可以在创建数据表时定义外键,也可以使用 ALTER TABLE 命令来添加外键。

以下是一个创建外键的示例,假设我们有两张数据表 ordersproducts

CREATE TABLE orders (
  order_id SERIAL PRIMARY KEY,
  product_id INTEGER REFERENCES products (product_id),
  customer_id INTEGER REFERENCES customers (customer_id),
  order_date DATE
);

CREATE TABLE products (
  product_id SERIAL PRIMARY KEY,
  product_name VARCHAR(50),
  price NUMERIC(10,2)
);

在上面的示例中,orders 表包含对 products 表的外键引用。product_id 列定义为一个外键,它参考了 products 表的 product_id 列。这意味着,orders 表中的 product_id 列只能包含 products 表中已经存在的值。

结论

在本文中,我们介绍了如何在 PostgreSQL 中启用外键。启用外键后,我们可以更好地组织和管理数据,从而更好地管理我们的应用程序。