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.
Création de tables sans limite à l’aide de variables
Vous pouvez utiliser des variables pour créer des tables partitionnées et des tables de référence en définissant le mode de création de table. Les tables que vous créez utiliseront ensuite ce mode jusqu’à ce que vous définissiez un autre mode.
Utilisez les variables suivantes pour créer des tables partitionnées et des tables de référence :
-
rds_aurora.limitless_create_table_mode: définissez cette variable de session surshardedoureference. La valeur par défaut de cette variable eststandard. -
rds_aurora.limitless_create_table_shard_key: définissez cette variable de session en lui attribuant un tableau de noms de colonnes qui serviront de clés de partition. Cette variable est ignorée lorsquerds_aurora.limitless_create_table_moden’est pas défini sursharded.Formatez la valeur sous la forme
untyped array literal, comme lorsque vous insérez des valeurs littérales dans une colonne de tableau. Pour plus d’informations, consultez Tableauxdans la documentation PostgreSQL. -
rds_aurora.limitless_create_table_collocate_with: attribuez à cette variable de session le nom d’une table spécifique pour colocaliser les tables nouvellement créées avec celle-ci.Si deux tables ou plus sont partitionnées à l’aide de la même clé de partition, vous pouvez explicitement les aligner (colocaliser). Lorsque plusieurs tables sont colocalisées, les lignes présentant les mêmes valeurs de clé de partition sont stockées dans la même partition. La collocation permet de limiter certaines opérations à une seule partition, en vue d’améliorer les performances.
Note
Toutes les clés primaires et uniques doivent inclure la clé de partition. Autrement dit, la clé de partition est un sous-ensemble de la clé primaire ou unique.
Les tables Limitless présentent certaines limites. Pour plus d’informations, consultez Limitations du langage DDL et autres informations relatives à Aurora PostgreSQL Limitless Database.
Rubriques
Exemples d’utilisation de variables pour créer des tables sans limite
Les exemples suivants expliquent comment utiliser ces variables pour créer des tables partitionnées et des tables de référence.
Créez une table partitionnée nommée items, avec la clé de partition id.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"id"}'; CREATE TABLE items(id int, val int, item text); COMMIT;
Créez une table partitionnée nommée items, avec une clé de partition composée des colonnes item_id et item_cat.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; CREATE TABLE items(item_id int, item_cat varchar, val int, item text); COMMIT;
Créez une table partitionnée nommée item_description, avec une clé de partition composée des colonnes item_id et item_cat, puis localisez-la avec la table items de l’exemple précédent.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; SET LOCAL rds_aurora.limitless_create_table_collocate_with='items'; CREATE TABLE item_description(item_id int, item_cat varchar, color_id int); COMMIT;
Créez une table de référence nommée colors.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); COMMIT;
Pour rétablir la variable de session rds_aurora.limitless_create_table_mode sur standard, utilisez l’instruction suivante :
RESET rds_aurora.limitless_create_table_mode;
Une fois cette variable réinitialisée, les tables sont créées sous forme de tables standard, ce qui est la configuration par défaut. Pour plus d’informations sur les tables standard, consultez Conversion de tables standard en tables sans limite.
Vues de tables Aurora PostgreSQL Limitless Database
Vous pouvez trouver des informations sur les tables Limitless Database en utilisant les vues suivantes.
- rds_aurora.limitless_tables
-
La vue
rds_aurora.limitless_tablescontient des informations sur les tables sans limite et leurs types.postgres_limitless=> SELECT * FROM rds_aurora.limitless_tables; table_gid | local_oid | schema_name | table_name | table_status | table_type | distribution_key -----------+-----------+-------------+-------------+--------------+-------------+------------------ 5 | 18635 | public | standard | active | standard | 6 | 18641 | public | ref | active | reference | 7 | 18797 | public | orders | active | sharded | HASH (order_id) 2 | 18579 | public | customer | active | sharded | HASH (cust_id) (4 rows) - rds_aurora.limitless_table_collocations
-
La vue
rds_aurora.limitless_table_collocationscontient des informations sur les tables partitionnées colocalisées. Par exemple, les tablesordersetcustomerssont colocalisées et ont le mêmecollocation_id. Les tablesusersetfollowerssont colocalisées et ont le mêmecollocation_id.postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocations ORDER BY collocation_id; collocation_id | schema_name | table_name ----------------+-------------+------------ 16002 | public | orders 16002 | public | customers 16005 | public | users 16005 | public | followers (4 rows) - rds_aurora.limitless_table_collocation_distributions
-
rds_aurora.limitless_table_collocation_distributionsaffiche la diffusion des clés pour chaque collocation.postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocation_distributions ORDER BY collocation_id, lower_bound; collocation_id | subcluster_id | lower_bound | upper_bound ----------------+---------------+----------------------+---------------------- 16002 | 6 | -9223372036854775808 | -4611686018427387904 16002 | 5 | -4611686018427387904 | 0 16002 | 4 | 0 | 4611686018427387904 16002 | 3 | 4611686018427387904 | 9223372036854775807 16005 | 6 | -9223372036854775808 | -4611686018427387904 16005 | 5 | -4611686018427387904 | 0 16005 | 4 | 0 | 4611686018427387904 16005 | 3 | 4611686018427387904 | 9223372036854775807 (8 rows)