Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Exemples ALTER TABLE - Amazon Redshift

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.

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.

Exemples ALTER TABLE

Les exemples suivants illustrent l’utilisation de base de la commande ALTER TABLE.

Renommer une table ou une vue

La commande suivante permet de renommer la table USERS en USERS_BKUP :

alter table users rename to users_bkup;

Vous pouvez également utiliser ce type de commande pour renommer une vue.

Modifier le propriétaire d’une table ou d’une vue

La commande suivante remplace le propriétaire de la table VENUE par l’utilisateur DWUSER :

alter table venue owner to dwuser;

Les commandes suivantes créent une vue, puis modifient son propriétaire :

create view vdate as select * from date; alter table vdate owner to vuser;

Renommer une colonne

La commande suivante renomme la colonne VENUESEATS de la table VENUE en VENUESIZE :

alter table venue rename column venueseats to venuesize;

Supprimer une contrainte de table

Pour supprimer une contrainte de table, telle qu’une contrainte de clé primaire, de clé étrangère ou unique, commencez par rechercher le nom interne de la contrainte. Ensuite, spécifiez le nom de la contrainte dans la commande ALTER TABLE. L’exemple suivant recherche les contraintes de la table CATEGORY, puis supprime la clé principale avec le nom category_pkey.

select constraint_name, constraint_type from information_schema.table_constraints where constraint_schema ='public' and table_name = 'category'; constraint_name | constraint_type ----------------+---------------- category_pkey | PRIMARY KEY alter table category drop constraint category_pkey;

Modifier une colonne VARCHAR

Pour conserver le stockage, vous pouvez définir une table initialement avec des colonnes VARCHAR dotées de la taille minimale nécessaire pour vos données actives. Vous pouvez modifier ultérieurement la table afin d’augmenter la taille de la colonne si plus tard vous avez besoin d’accueillir plus de chaînes.

L’exemple suivant augmente la taille de la colonne EVENTNAME à VARCHAR (300).

alter table event alter column eventname type varchar(300);

Modifier une colonne VARBYTE

Pour économiser de l'espace de stockage, vous pouvez d'abord définir une table avec des colonnes VARBYTE avec la taille minimale requise pour vos besoins actuels en matière de données. Vous pouvez modifier ultérieurement la table afin d’augmenter la taille de la colonne si plus tard vous avez besoin d’accueillir plus de chaînes.

L'exemple suivant augmente la taille de la colonne EVENTNAME à VARBYTE (300).

alter table event alter column eventname type varbyte(300);

Modifier l’encodage de la compression d’une colonne

Vous pouvez modifier le codage de compression d’une colonne. Vous trouverez ci-dessous une série d’exemples illustrant cette approche. La définition de table pour ces exemples est la suivante.

create table t1(c0 int encode lzo, c1 bigint encode zstd, c2 varchar(16) encode lzo, c3 varchar(32) encode zstd);

L'instruction suivante modifie le codage de compression de la colonne c0 du codage LZO au codage. AZ64

alter table t1 alter column c0 encode az64;

L'instruction suivante modifie le codage de compression de la colonne c1 du codage standard Z au AZ64 codage.

alter table t1 alter column c1 encode az64;

L’instruction suivante modifie l’encodage de compression pour la colonne c2 de l’encodage LZO à l’encodage Byte-dictionary.

alter table t1 alter column c2 encode bytedict;

L’instruction suivante modifie l’encodage de compression pour la colonne c3 de l’encodage Zstandard à l’encodage Runlength.

alter table t1 alter column c3 encode runlength;

Modifier une colonne DISTSTYLE KEY DISTKEY

Les exemples suivants montre comment modifier les colonnes DISTSTYLE et DISTKEY d’une table.

Créez une table avec un style de distribution EVEN. La vue SVV_TABLE_INFO montre que la colonne DISTSTYLE est EVEN.

create table inventory( inv_date_sk int4 not null , inv_item_sk int4 not null , inv_warehouse_sk int4 not null , inv_quantity_on_hand int4 ) diststyle even; Insert into inventory values(1,1,1,1); select "table", "diststyle" from svv_table_info; table | diststyle -----------+---------------- inventory | EVEN

Modifiez la table DISTKEY en inv_warehouse_sk. La vue SVV_TABLE_INFO montre la colonne inv_warehouse_sk en tant que clé de distribution résultante.

alter table inventory alter diststyle key distkey inv_warehouse_sk; select "table", "diststyle" from svv_table_info; table | diststyle -----------+----------------------- inventory | KEY(inv_warehouse_sk)

Modifiez la table DISTKEY en inv_item_sk. La vue SVV_TABLE_INFO montre la colonne inv_item_sk en tant que clé de distribution résultante.

alter table inventory alter distkey inv_item_sk; select "table", "diststyle" from svv_table_info; table | diststyle -----------+----------------------- inventory | KEY(inv_item_sk)

Modifier une table en DISTSTYLE ALL

Les exemples suivants montrent comment modifier une table en DISTSTYLE ALL.

Créez une table avec un style de distribution EVEN. La vue SVV_TABLE_INFO montre que la colonne DISTSTYLE est EVEN.

create table inventory( inv_date_sk int4 not null , inv_item_sk int4 not null , inv_warehouse_sk int4 not null , inv_quantity_on_hand int4 ) diststyle even; Insert into inventory values(1,1,1,1); select "table", "diststyle" from svv_table_info; table | diststyle -----------+---------------- inventory | EVEN

Modifiez la table DISTSTYLE en ALL. La vue SVV_TABLE_INFO affiche le DISTSYTLE modifié.

alter table inventory alter diststyle all; select "table", "diststyle" from svv_table_info; table | diststyle -----------+---------------- inventory | ALL

Modifier une table SORTKEY

Vous pouvez modifier une table pour avoir une clé de tri composée ou aucune clé de tri.

Dans la définition de table suivante, la table t1 est définie par une clé de tri entrelacée.

create table t1 (c0 int, c1 int) interleaved sortkey(c0, c1);

La commande suivante modifie la table d’une clé de tri entrelacée en une clé de tri composée.

alter table t1 alter sortkey(c0, c1);

La commande suivante modifie la table pour supprimer la clé de tri entrelacée.

alter table t1 alter sortkey none;

Dans la définition de table suivante, la table t1 est définie avec une colonne c0 comme clé de tri.

create table t1 (c0 int, c1 int) sortkey(c0);

La commande suivante modifie la table t1 en clé de tri composée.

alter table t1 alter sortkey(c0, c1);

Modifier une table en ENCODE AUTO

L’exemple suivant montre comment modifier une table en ENCODE AUTO.

La définition de table pour cet exemple est la suivante. c0La colonne est définie avec le type de codage AZ64, et la colonne c1 est définie avec le type de codage LZO.

create table t1(c0 int encode AZ64, c1 varchar encode LZO);

Pour cette table, l’instruction suivante modifie l’encodage en AUTO.

alter table t1 alter encode auto;

L’exemple suivant illustre comment modifier une table pour supprimer le paramètre ENCODE AUTO.

La définition de table pour cet exemple est la suivante. Les colonnes de la table sont définies sans encodage. Dans ce cas, l’encodage est par défaut ENCODE AUTO.

create table t2(c0 int, c1 varchar);

Pour cette table, l’instruction suivante modifie l’encodage de la colonne c0 en LZO. L’encodage de la table n’est plus défini sur ENCODE AUTO.

alter table t2 alter column c0 encode lzo;;

Modifier le contrôle de sécurité au niveau des lignes

La commande suivante désactive la politique RLS pour la table :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY OFF;

La commande suivante active RLS pour la table :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY ON;

La commande suivante active RLS pour la table et la rend accessible sur les unités de partage des données :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY ON; ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY FOR DATASHARES OFF;

La commande suivante active RLS pour la table et la rend inaccessible sur les unités de partage des données :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY ON; ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY FOR DATASHARES ON;

La commande suivante active RLS et définit le type de conjonction RLS sur OR pour la table :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY ON CONJUNCTION TYPE OR;

La commande suivante active RLS et définit le type de conjonction RLS sur AND pour la table :

ALTER TABLE tickit_category_redshift ROW LEVEL SECURITY ON CONJUNCTION TYPE AND;
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.