

 Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# PG\_TABLE\_DEF
<a name="r_PG_TABLE_DEF"></a>

Stocke les informations sur les colonnes de la table.

PG\_TABLE\_DEF renvoie uniquement les informations sur les tables visibles de l’utilisateur. Si PG\_TABLE\_DEF ne renvoie pas les résultats attendus, vérifiez que le paramètre [search\_path](r_search_path.md) est correctement défini pour inclure les schémas correspondants.

Vous pouvez utiliser [SVV\_TABLE\_INFO](r_SVV_TABLE_INFO.md) pour afficher des informations plus exhaustives sur une table, notamment l'asymétrie de la distribution des données, l'asymétrie de la distribution de clés, la taille de la table et les statistiques. 

## Colonnes de la table
<a name="r_PG_TABLE_DEF-table-columns2"></a>


| Nom de la colonne  | Type de données  | Description  | 
| --- | --- | --- | 
| schemaname | name | Nom du schéma. | 
| tablename | name | Nom de la table. | 
| column | name  | Nom de la colonne. | 
| type  | text | Type de données de la colonne. | 
| encoding  | character(32)  | Encodage de la colonne. | 
| distkey  | boolean | True si cette colonne est la clé de distribution de la table. | 
| sortkey | entier  | Ordre de la colonne dans la clé de tri. Si la table utilise une clé de tri composée et que toutes les colonnes qui font partie de la clé de tri ont une valeur positive qui indique la position de la colonne dans la clé de tri. Si la table utilise une clé de tri entrelacée, toutes les colonnes qui font partie de la clé de tri ont une valeur qui est tour à tour positive ou négative, où la valeur absolue indique la position de la colonne dans la clé de tri. Si 0, la colonne de fait pas partie d'une clé de tri.  | 
| notnull | boolean  | True si la colonne comporte une contrainte NOT NULL. | 

## Exemple
<a name="r_PG_TABLE_DEF-example2"></a>

L'exemple suivant illustre les colonnes de clés de tri composées de la table LINEORDER\_COMPOUND.

```
select "column", type, encoding, distkey, sortkey, "notnull" 
from pg_table_def
where tablename = 'lineorder_compound' 
and sortkey <> 0;

column       | type    | encoding | distkey | sortkey | notnull
-------------+---------+----------+---------+---------+--------
lo_orderkey  | integer | delta32k | false   |       1 | true   
lo_custkey   | integer | none     | false   |       2 | true   
lo_partkey   | integer | none     | true    |       3 | true   
lo_suppkey   | integer | delta32k | false   |       4 | true   
lo_orderdate | integer | delta    | false   |       5 | true   
(5 rows)
```

 L'exemple suivant illustre les colonnes de clés de tri entrelacées de la table LINEORDER\_INTERLEAVED.

```
select "column", type, encoding, distkey, sortkey, "notnull" 
from pg_table_def
where tablename = 'lineorder_interleaved' 
and sortkey <> 0;

column       | type    | encoding | distkey | sortkey | notnull
-------------+---------+----------+---------+---------+--------
lo_orderkey  | integer | delta32k | false   |      -1 | true   
lo_custkey   | integer | none     | false   |       2 | true   
lo_partkey   | integer | none     | true    |      -3 | true   
lo_suppkey   | integer | delta32k | false   |       4 | true   
lo_orderdate | integer | delta    | false   |      -5 | true   
(5 rows)
```

PG\_TABLE\_DEF renvoie uniquement les informations pour les tables dans des schémas inclus dans le chemin de recherche. Pour plus d’informations, consultez [search\_path](r_search_path.md).

Par exemple, supposons que vous créiez un schéma et une table, puis que vous interrogiez PG\_TABLE\_DEF.

```
create schema demo;
create table demo.demotable (one int);
select * from pg_table_def where tablename = 'demotable';

schemaname|tablename|column| type | encoding | distkey | sortkey | notnull 
----------+---------+------+------+----------+---------+---------+--------
```

La requête ne renvoie aucune ligne pour la nouvelle table. Examinez le paramètre de `search_path`.

```
show search_path;

  search_path
---------------
 $user, public
(1 row)
```

Ajoutez le schéma `demo` au chemin de recherche et exécutez la requête à nouveau.

```
set search_path to '$user', 'public', 'demo';

select * from pg_table_def where tablename = 'demotable';

schemaname| tablename |column|  type   | encoding |distkey|sortkey| notnull
----------+-----------+------+---------+----------+-------+-------+--------
demo      | demotable | one  | integer | none     | f     |     0 | f
(1 row)
```