

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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à.

# Amazon Redshift e PostgreSQL
<a name="c_redshift-and-postgres-sql"></a>

**Topics**
+ [Amazon Redshift e JDBC e ODBC PostgreSQL](c_redshift-postgres-jdbc.md)
+ [Caratteristiche implementate in modo diverso](c_redshift-sql-implementated-differently.md)
+ [Caratteristiche PostgreSQL non supportate](c_unsupported-postgresql-features.md)
+ [Tipi di dati PostgreSQL non supportati](c_unsupported-postgresql-datatypes.md)
+ [Funzioni PostgreSQL non supportate](c_unsupported-postgresql-functions.md)

Amazon Redshift è basato su PostgreSQL. Amazon Redshift e PostgreSQL si differenziano per un certo numero di aspetti molto importanti, di cui bisogna tener conto mentre si progettano e sviluppano le applicazioni di data warehouse.

Amazon Redshift è appositamente progettato per l'elaborazione OLAP e le applicazioni di Business Intelligence (BI), che richiedono query complesse a fronte di grandi set di dati. Dato che soddisfa requisiti molto diversi, lo schema di archiviazione dati specializzato e il motore di esecuzione della query usati da Amazon Redshift sono completamente diversi dall'implementazione PostgreSQL. Ad esempio, se le applicazioni di elaborazione di transazioni online (OLTP) archiviano di solito i dati in righe, Amazon Redshift archivia i dati in colonne, usando codifiche di compressione dei dati specializzate per un utilizzo ottimale della memoria e dell'I/O su disco. Gli indici secondari e le operazioni di manipolazione dei dati a riga singola sono stati omessi per migliorare le prestazioni.

Consultare [Architettura di Amazon Redshift](c_redshift_system_overview.md) per una spiegazione dettagliata dell'architettura dei sistemi di data warehouse di Amazon Redshift.

PostgreSQL 9.x comprende alcune funzionalità che non sono supportate in Amazon Redshift. Inoltre, vi sono importanti differenze tra l'SQL di Amazon Redshift e PostgreSQL che è necessario tenere in considerazione: In questa sezione sono descritte le le differenze tra Amazon Redshift e PostgreSQL e sono fornite indicazioni per lo sviluppo di un data warehouse che sfrutti l'intera implementazione SQL di Amazon Redshift.

# Amazon Redshift e JDBC e ODBC PostgreSQL
<a name="c_redshift-postgres-jdbc"></a>

 Poiché Amazon Redshift è basato su PostgreSQL, in precedenza consigliavamo di utilizzare i driver Postgresql versione 8.4.703 e i driver PsqloDbc versione JDBC4 9.x. Se attualmente sono utilizzati tali driver, consigliamo di passare ai nuovi driver specifici di Amazon Redshift. Per ulteriori informazioni sui driver e sulla configurazione delle connessioni, consulta [Driver JDBC e ODBC per Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-drivers) nella *Guida alla gestione di Amazon Redshift*.

Per evitare out-of-memory errori sul lato client durante il recupero di set di dati di grandi dimensioni utilizzando JDBC, puoi consentire al client di recuperare i dati in batch impostando il parametro JDBC fetch size. Per ulteriori informazioni, consulta [Impostazione del parametro delle dimensioni del recupero JDBC](set-the-JDBC-fetch-size-parameter.md).

Amazon Redshift non riconosce il parametro JDBC maxRows. Specifica invece una clausola [LIMIT](r_ORDER_BY_clause.md#order-by-clause-limit) per restringere il set di risultati. È anche possibile usare una [OFFSET](r_ORDER_BY_clause.md#order-by-clause-offset) clausola per saltare a un punto di partenza specifico nel set di risultati.

# Caratteristiche implementate in modo diverso
<a name="c_redshift-sql-implementated-differently"></a>

Molti elementi della sintassi SQL di Amazon Redshift hanno diverse caratteristiche a livello di prestazioni e usano sintassi e semantica piuttosto differenti dall'implementazione PostgreSQL equivalente.

**Importante**  
Non assumere che la sintassi degli elementi in comune tra Amazon Redshift e PostgreSQL sia identica. Assicurarsi di consultare [Comandi SQL](c_SQL_commands.md) nella *Guida per gli sviluppatori di database di Amazon Redshift* per comprendere le differenze spesso minime.

Un esempio in particolare è il comando [VACUUM](r_VACUUM_command.md), usato per pulire e riorganizzare le tabelle. VACUUM funziona diversamente e usa un set di parametri differente rispetto alla versione PostgreSQL. Per ulteriori informazioni sull'uso di VACUUM con Amazon Redshift, consultare [Vacuum delle tabelle](t_Reclaiming_storage_space202.md).

Spesso, anche le caratteristiche e gli strumenti di amministrazione e gestione dei database sono diversi. Ad esempio, Amazon Redshift mantiene un set di visualizzazioni e tabelle di sistema che forniscono informazioni sulla modalità di funzionamento del sistema. Per ulteriori informazioni, consultare [Viste di monitoraggio SYS](serverless_views-monitoring.md).

L'elenco seguente comprende alcuni esempi di funzionalità SQL implementate diversamente in Amazon Redshift.
+  [CREATE TABLE](r_CREATE_TABLE_NEW.md) 

  Amazon Redshift non supporta gli spazi tabelle, il partizionamento di tabella, l'ereditarietà e alcune limitazioni. L'implementazione di Amazon Redshift di CREATE TABLE consente di definire l'ordinamento e la distribuzione di algoritmi per tabelle in modo da ottimizzare l'elaborazione parallela.

  Amazon Redshift Spectrum supporta il partizionamento di tabella usando il comando [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md).
+  [ALTER TABLE](r_ALTER_TABLE.md) 

  È supportato solo un subset di operazioni ALTER COLUMN.

  ADD COLUMN supporta l'aggiunta di una sola colonna in ogni istruzione ALTER TABLE.
+  [COPY](r_COPY.md) 

  Il comando COPY di Amazon Redshift è altamente specializzato per consentire il caricamento di dati da bucket Amazon S3 e da tabelle Amazon DynamoDB e per facilitare la compressione automatica. Per informazioni dettagliate, consultare la sezione [Caricamento dei dati in Amazon Redshift](t_Loading_data.md) e il riferimento al comando COPY.
+  [VACUUM](r_VACUUM_command.md) 

  I parametri per VACUUM sono completamente diversi. Ad esempio, l'operazione VACUUM di default in PostgreSQL reclama semplicemente spazio e lo rende disponibile per il riutilizzo. Tuttavia, l'operazione VACUUM di default in Amazon Redshift è VACUUM FULL, che rivendica spazio su disco e riordina tutte le righe.
+ Gli spazi finali nei valori VARCHAR vengono ignorati quando i valori stringa vengono confrontati. Per ulteriori informazioni, consultare [Significato degli spazi finali](r_Character_types.md#r_Character_types-significance-of-trailing-blanks).

# Caratteristiche PostgreSQL non supportate
<a name="c_unsupported-postgresql-features"></a>

Queste caratteristiche di PostgreSQL non sono supportate in Amazon Redshift.

**Importante**  
Non assumere che la sintassi degli elementi in comune tra Amazon Redshift e PostgreSQL sia identica. Assicurarsi di consultare [Comandi SQL](c_SQL_commands.md) nella *Guida per gli sviluppatori di database di Amazon Redshift* per comprendere le differenze spesso minime.
+ Lo strumento di query *psql* non è supportato. Il client [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html) è supportato.
+ Partizionamento di tabella (partizionamento elenco e intervallo)
+ Tablespace
+ Vincoli
  + Unique
  + Chiave esterna
  + Chiave primaria
  + Vincoli check
  + Vincoli di esclusione

  I vincoli di chiave esterna, chiave primaria e univoci sono consentiti, ma solo a scopo informativo. Non vengono applicati dal sistema, ma vengono utilizzati dal pianificatore della query.
+ Ereditarietà
+ Colonne di sistema PostgreSQL

  SQL di Amazon Redshift non definisce in modo implicito le colonne di sistema. Tuttavia, non è possibile usare i nomi delle colonne di sistema PostgreSQL come nomi di colonne definite dall'utente: `oid`, `tableoid`, `xmin`, `cmin`, `xmax`, `cmax` e `ctid`. Per ulteriori informazioni, consulta [https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html](https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html).
+ Indici
+ Clausola NULLS nelle funzioni finestra
+ Regole di confronto

  Amazon Redshift non supporta sequenze di regole di confronto definite dall'utente o specifiche in termini di impostazioni locali. Per informazioni, consultare [Sequenze di regole di confronto](c_collation_sequences.md).
+ Espressioni valore
  + Espressioni con pedice
  + Costruttori di array
  + Costruttori di riga
+ Triggers
+ Gestione di dati esterni (SQL/MED)
+ Funzioni di tabella
+ Elenco VALUES usato come tabelle costanti
+ Sequenze
+ Ricerca full-text
+ Le autorizzazioni RULE e TRIGGER.

  Amazon Redshift concede o revoca queste autorizzazioni quando esegui GRANT ALL o REVOKE ALL, ma la presenza o l’assenza delle autorizzazioni RULE e TRIGGER non influisce in alcun modo sulle autorizzazioni di accesso dell’assegnatario.

# Tipi di dati PostgreSQL non supportati
<a name="c_unsupported-postgresql-datatypes"></a>

Solitamente, se una query tenta di usare un tipo di dati non supportato, compresi interpreti impliciti o espliciti, restituirà un errore. Tuttavia, alcune query che utilizzano tipi di dati non supportati saranno eseguite sul nodo principale ma non sui nodi di calcolo. Per informazioni, consultare [Funzioni SQL supportate sul nodo principale](c_sql-functions-leader-node.md).

 Per un elenco dei tipi di dati supportati, consultare [Tipi di dati](c_Supported_data_types.md).

Questi tipi di dati PostgreSQL non sono supportati in Amazon Redshift.
+ Matrici
+ BIT, BIT VARYING
+ BYTEA
+ Tipi compositi
+ Tipi enumerati
+ Tipi geometrici (l’implementazione in Amazon Redshift dei tipi geometrici è diversa da quella in PostgreSQL)
+ HSTORE
+ JSON
+ Tipi di indirizzo di rete
+ Tipi numerici
  + SERIAL, BIGSERIAL, SMALLSERIAL
  + MONEY
+ Tipi Identificatore di oggetto
+ Pseudotipi
+ Tipi di intervallo
+ Tipi di caratteri speciali
  + "char": un tipo interno a singolo byte (in cui il tipo di dato denominato char è racchiuso tra virgolette).
  + name: un tipo interno per i nomi di oggetti.

  Per ulteriori informazioni su questi tipi, consultare [Tipi di caratteri speciali](https://www.postgresql.org/docs/8.0/datatype-character.html) nella documentazione PostgreSQL. 
+ Tipi di ricerca testo
+ TXID\$1SNAPSHOT
+ UUID
+ XML

# Funzioni PostgreSQL non supportate
<a name="c_unsupported-postgresql-functions"></a>

Molte funzioni non escluse hanno un uso o una semantica diversa. Ad esempio, alcune funzioni supportate saranno eseguite solo sul nodo principale. Inoltre, alcune funzioni non supportate non restituiranno un errore se eseguite sul nodo principale. Il fatto che in alcuni casi queste funzioni non restituiscono un errore non significa che la funzione sia supportata da Amazon Redshift. 

**Importante**  
Non assumere che la sintassi degli elementi in comune tra Amazon Redshift e PostgreSQL sia identica. Assicurarsi di consultare [Comandi SQL](c_SQL_commands.md) nella *Guida per gli sviluppatori di database di Amazon Redshift* per comprendere le differenze spesso minime.

 Per ulteriori informazioni, consultare [Funzioni SQL supportate sul nodo principale](c_sql-functions-leader-node.md).

Queste funzioni PostgreSQL non sono supportate in Amazon Redshift.
+ Funzioni di richiesta di privilegi di accesso
+ Funzioni di blocco consulenza
+ Funzioni di aggregazione
  + STRING\$1AGG()
  + ARRAY\$1AGG()
  + EVERY()
  + XML\$1AGG()
  + CORR()
  + COVAR\$1POP()
  + COVAR\$1SAMP()
  + REGR\$1AVGX(), REGR\$1AVGY()
  + REGR\$1COUNT()
  + REGR\$1INTERCEPT()
  + REGR\$1R2()
  + REGR\$1SLOPE()
  + REGR\$1SXX(), REGR\$1SXY(), REGR\$1SYY()
+ Operatori e funzioni della matrice
+ Funzioni di controllo del backup
+ Funzioni di informazione sui commenti
+ Funzioni sulla posizione dell'oggetto Database
+ Funzioni sulle dimensioni dell'oggetto Database
+ Operatori e funzioni data e ora
  + CLOCK\$1TIMESTAMP()
  + JUSTIFY\$1DAYS(), JUSTIFY\$1HOURS(), JUSTIFY\$1INTERVAL()
  + PG\$1SLEEP()
  + TRANSACTION\$1TIMESTAMP()
+ Funzioni di supporto ENUM
+ Operatori e funzioni geometriche
+ Funzioni di accesso a file generiche
+ IS DISTINCT FROM
+ Operatori e funzioni sull'indirizzo di rete
+ Funzioni matematiche
  + DIV()
  + SETSEED()
  + WIDTH\$1BUCKET()
+ Funzioni di restituzione di set
  + GENERATE\$1SERIES()
  + GENERATE\$1SUBSCRIPTS()
+ Operatori e funzioni di intervallo
+ Funzioni di controllo del ripristino
+ Funzioni di informazione sul ripristino
+ Funzione ROLLBACK TO SAVEPOINT
+ Funzioni di richiesta di visibilità dello schema
+ Funzioni di segnalazione server
+ Funzioni di sincronizzazione di snapshot
+ Funzioni di manipolazione di sequenze
+ Funzioni stringa
  + BIT\$1LENGTH()
  + OVERLAY()
  + CONVERT(), CONVERT\$1FROM(), CONVERT\$1TO()
  + ENCODE()
  + FORMAT()
  + QUOTE\$1NULLABLE()
  + REGEXP\$1MATCHES()
  + REGEXP\$1SPLIT\$1TO\$1ARRAY()
  + REGEXP\$1SPLIT\$1TO\$1TABLE()
+ Funzioni di informazione su catalogo di sistema
+ Funzioni di informazioni di sistema
  + CURRENT\$1CATALOG CURRENT\$1QUERY()
  + INET\$1CLIENT\$1ADDR()
  + INET\$1CLIENT\$1PORT()
  + INET\$1SERVER\$1ADDR() INET\$1SERVER\$1PORT()
  + PG\$1CONF\$1LOAD\$1TIME()
  + PG\$1IS\$1OTHER\$1TEMP\$1SCHEMA()
  + PG\$1LISTENING\$1CHANNELS()
  + PG\$1MY\$1TEMP\$1SCHEMA()
  + PG\$1POSTMASTER\$1START\$1TIME()
  + PG\$1TRIGGER\$1DEPTH()
  + SHOW VERSION()
+ Funzioni e operatori di ricerca di testo
+ Funzioni di transazione IDs e istantanee
+ Funzioni di trigger
+ Funzioni XML