37.52. table\_constraints

|    37.52. `table_constraints`    |                             |                                  |                  |                                         |
|:--------------------------------:|-----------------------------|----------------------------------|------------------|-----------------------------------------|
|[Prev](infoschema-sql-sizing.html)|[Up](information-schema.html)|Chapter 37. The Information Schema|[Home](index.html)| [Next](infoschema-table-privileges.html)|

---

## 37.52. `table_constraints`

 The view `table_constraints` contains all constraints belonging to tables that the current user owns or has some privilege other than `SELECT` on.

**Table 37.50. `table_constraints` Columns**

|                                               Column Type<br/><br/> Description                                               |
|-------------------------------------------------------------------------------------------------------------------------------|
|`constraint_catalog` `sql_identifier`<br/><br/> Name of the database that contains the constraint (always the current database)|
|                `constraint_schema` `sql_identifier`<br/><br/> Name of the schema that contains the constraint                 |
|                              `constraint_name` `sql_identifier`<br/><br/> Name of the constraint                              |
|     `table_catalog` `sql_identifier`<br/><br/> Name of the database that contains the table (always the current database)     |
|                     `table_schema` `sql_identifier`<br/><br/> Name of the schema that contains the table                      |
|                                   `table_name` `sql_identifier`<br/><br/> Name of the table                                   |
|    `constraint_type` `character_data`<br/><br/> Type of the constraint: `CHECK`, `FOREIGN KEY`, `PRIMARY KEY`, or `UNIQUE`    |
|                    `is_deferrable` `yes_or_no`<br/><br/>`YES` if the constraint is deferrable, `NO` if not                    |
|      `initially_deferred` `yes_or_no`<br/><br/>`YES` if the constraint is deferrable and initially deferred, `NO` if not      |
|          `enforced` `yes_or_no`<br/><br/> Applies to a feature not available in PostgreSQL (currently always `YES`)           |

---

|[Prev](infoschema-sql-sizing.html)|[Up](information-schema.html)| [Next](infoschema-table-privileges.html)|
|:---------------------------------|:---------------------------:|----------------------------------------:|
|       37.51. `sql_sizing`        |     [Home](index.html)      |        37.53. `table_privileges`        |

 // \<![CDATA[ \<-- For SVG support if ('WebSocket' in window) { (function() { function refreshCSS() { var sheets = [].slice.call(document.getElementsByTagName("link")); var head = document.getElementsByTagName("head")[0]; for (var i = 0; i \< sheets.length; ++i) { var elem = sheets[i]; head.removeChild(elem); var rel = elem.rel; if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") { var url = elem.href.replace(/(&|\\?)\_cacheOverride=\\d+/, ''); elem.href = url + (url.indexOf('?') \>= 0 ? '&' : '?') + '\_cacheOverride=' + (new Date().valueOf()); } head.appendChild(elem); } } var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'; var address = protocol + window.location.host + window.location.pathname + '/ws'; var socket = new WebSocket(address); socket.onmessage = function(msg) { if (msg.data == 'reload') window.location.reload(); else if (msg.data == 'refreshcss') refreshCSS(); }; console.log('Live reload enabled.'); })(); } // ]]\>