

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di tabelle Limitless utilizzando variabili
<a name="limitless-creating-config"></a>

Puoi utilizzare variabili per creare tabelle sottoposte a sharding e tabelle di riferimento impostando la modalità di creazione delle tabelle. Le tabelle che creerai utilizzeranno questa modalità finché non imposterai una modalità diversa.

Utilizza le seguenti variabili per creare tabelle sottoposte a sharding e tabelle di riferimento:
+ `rds_aurora.limitless_create_table_mode`: imposta questa variabile di sessione su `sharded` o `reference`. Il valore predefinito di questa variabile è `standard`.
+ `rds_aurora.limitless_create_table_shard_key`: imposta questa variabile di sessione su un array di nomi di colonna da utilizzare come chiavi di shard. Questa variabile viene ignorata quando `rds_aurora.limitless_create_table_mode` non è `sharded`.

  Formatta il valore come `untyped array literal`, simile a quando inserisci letterali in una colonna di array. Per ulteriori informazioni, consulta [Arrays](https://www.postgresql.org/docs/current/arrays.html) nella documentazione di PostgreSQL.
+ `rds_aurora.limitless_create_table_collocate_with`: imposta questa variabile di sessione su un nome di tabella specifico per co-localizzare le tabelle appena create con quella tabella.

  Se due o più tabelle sono sottoposte a sharding utilizzando la stessa chiave di shard, è possibile allinearle esplicitamente (co-localizzarle). Quando due o più tabelle sono co-localizzate, le righe con gli stessi valori di chiave di shard vengono posizionate nello stesso shard. La co-localizzazione aiuta a limitare alcune operazioni a un singolo shard, migliorando le prestazioni.

**Nota**  
Tutte le chiavi primarie e uniche devono includere la chiave di shard. Ciò significa che la chiave di shard è un sottoinsieme della chiave primaria o unica.  
Le tabelle Limitless presentano alcune limitazioni. Per ulteriori informazioni, consulta [Limitazioni DDL e altre informazioni per Aurora PostgreSQL Limitless Database](limitless-reference.DDL-limitations.md).

**Topics**
+ [Esempi di utilizzo di variabili per creare tabelle Limitless](#limitless-tables-examples)
+ [Visualizzazioni della tabella di Aurora PostgreSQL Limitless Database](#limitless-table-views)

## Esempi di utilizzo di variabili per creare tabelle Limitless
<a name="limitless-tables-examples"></a>

Gli esempi seguenti mostrano come utilizzare queste variabili per creare tabelle sottoposte a sharding e tabelle di riferimento.

Crea una tabella sottoposta a sharding denominata `items`, con la chiave di shard `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;
```

Crea una tabella sottoposta a sharding denominata `items`, con una chiave di shard composta dalle colonne `item_id` e `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;
```

Crea una tabella sottoposta a sharding denominata `item_description`, con una chiave di shard composta dalle colonne `item_id` e `item_cat` e co-localizzala con la tabella `items` dell’esempio precedente.

```
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;
```

Crea una tabella di riferimento denominata `colors`.

```
BEGIN;
SET LOCAL rds_aurora.limitless_create_table_mode='reference';
CREATE TABLE colors(color_id int primary key, color varchar);
COMMIT;
```

Per reimpostare la variabile di sessione `rds_aurora.limitless_create_table_mode` su`standard`, utilizza la seguente istruzione:

```
RESET rds_aurora.limitless_create_table_mode;
```

Dopo aver reimpostato questa variabile, le tabelle vengono create come tabelle standard, che è il valore predefinito. Per ulteriori informazioni sulle tabelle standard, consulta [Conversione di tabelle standard in tabelle Limitless](limitless-converting-standard.md).

## Visualizzazioni della tabella di Aurora PostgreSQL Limitless Database
<a name="limitless-table-views"></a>

Puoi trovare informazioni sulle tabelle di Limitless Database utilizzando le seguenti visualizzazioni.

**rds\$1aurora.limitless\$1tables**  
La visualizzazione `rds_aurora.limitless_tables` contiene informazioni sulle tabelle Limitless e sui loro tipi.  

```
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\$1aurora.limitless\$1table\$1collocations**  
La visualizzazione `rds_aurora.limitless_table_collocations` contiene informazioni sulle tabelle sottoposte a sharding co-localizzate. Ad esempio, le tabelle `orders` e `customers` sono co-localizzate e presentano lo stesso `collocation_id`. Le tabelle `users` e `followers` sono co-localizzate e presentano lo stesso `collocation_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\$1aurora.limitless\$1table\$1collocation\$1distributions**  
`rds_aurora.limitless_table_collocation_distributions` mostra la distribuzione delle chiavi per ogni co-localizzazione.  

```
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)
```