refint
refint
refint : functions for implementing referential integrity (obsolete)
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 4880 | refint | refint | 1.0 | FUNC | PostgreSQL | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-d-- | No | Yes | No | Yes | no | no |
| Relationships | |
|---|---|
| See Also | pg_idkit pgx_ulid pg_uuidv7 permuteseq pg_hashids sequential_uuids topn quantile |
Packages
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
This is a built-in contrib extension ship with the PostgreSQL kernel
Install
Create this extension with:
CREATE EXTENSION refint;Usage
Provides trigger functions for implementing referential integrity checks (largely superseded by built-in foreign key constraints).
CREATE EXTENSION refint;Trigger Functions
| Function | Description |
|---|---|
check_primary_key() | Check referencing table – ensures referenced row exists |
check_foreign_key() | Check referenced table – handles cascading actions on delete/update |
check_primary_key
Trigger on the referencing table (AFTER INSERT OR UPDATE). Parameters: referencing column name(s), referenced table name, referenced column name(s).
CREATE TRIGGER check_fk
AFTER INSERT OR UPDATE ON orders
FOR EACH ROW
EXECUTE FUNCTION check_primary_key('customer_id', 'customers', 'id');check_foreign_key
Trigger on the referenced table (AFTER DELETE OR UPDATE). Parameters: number of referencing tables, action (cascade, restrict, or setnull), primary key column(s), then referencing table and column pairs.
CREATE TRIGGER check_ref
AFTER DELETE OR UPDATE ON customers
FOR EACH ROW
EXECUTE FUNCTION check_foreign_key(1, 'cascade', 'id', 'orders', 'customer_id');Last updated on