## 51.36. `pg_partitioned_table`

The catalog `pg_partitioned_table` stores information about how tables are partitioned.

Table 51.36. `pg_partitioned_table` Columns

Name | Type | References | Description
--- | --- | --- | ---
`partrelid` | `oid` | ``pg_class`.oid` | The OID of the `pg_class` entry for this partitioned table
`partstrat` | `char` |  | Partitioning strategy; `h` = hash partitioned table, `l` = list partitioned table, `r` = range partitioned table
`partnatts` | `int2` |  | The number of columns in partition key
`partdefid` | `oid` | ``pg_class`.oid` | The OID of the `pg_class` entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.
`partattrs` | `int2vector` | ``pg_attribute`.attnum` | This is an array of `partnatts` values that indicate which table columns are part of the partition key. For example, a value of `1 3` would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.
`partclass` | `oidvector` | ``pg_opclass`.oid` | For each column in the partition key, this contains the OID of the operator class to use. See `pg_opclass` for details.
`partcollation` | `oidvector` | ``pg_opclass`.oid` | For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.
`partexprs` | `pg_node_tree` |  | Expression trees (in `nodeToString()` representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in `partattrs`. Null if all partition key columns are simple references.