

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

**Topics**
+ [Amazon Redshift dan PostgreSQL JDBC dan ODBC](c_redshift-postgres-jdbc.md)
+ [Fitur yang diimplementasikan secara berbeda](c_redshift-sql-implementated-differently.md)
+ [Fitur PostgreSQL yang tidak didukung](c_unsupported-postgresql-features.md)
+ [Tipe data PostgreSQL yang tidak didukung](c_unsupported-postgresql-datatypes.md)
+ [Fungsi PostgreSQL yang tidak didukung](c_unsupported-postgresql-functions.md)

Amazon Redshift didasarkan pada PostgreSQL. Amazon Redshift dan PostgreSQL memiliki sejumlah perbedaan yang sangat penting yang harus Anda waspadai saat merancang dan mengembangkan aplikasi gudang data Anda.

Amazon Redshift dirancang khusus untuk aplikasi pemrosesan analitik online (OLAP) dan intelijen bisnis (BI), yang memerlukan kueri kompleks terhadap kumpulan data besar. Karena memenuhi persyaratan yang sangat berbeda, skema penyimpanan data khusus dan mesin eksekusi kueri yang digunakan Amazon Redshift benar-benar berbeda dari implementasi PostgreSQL. Misalnya, di mana aplikasi pemrosesan transaksi online (OLTP) biasanya menyimpan data dalam baris, Amazon Redshift menyimpan data dalam kolom, menggunakan pengkodean kompresi data khusus untuk penggunaan memori optimal dan I/O disk. Beberapa fitur PostgreSQL yang cocok untuk pemrosesan OLTP skala lebih kecil, seperti indeks sekunder dan operasi manipulasi data baris tunggal yang efisien, telah dihilangkan untuk meningkatkan kinerja.

Lihat [Arsitektur Amazon Redshift](c_redshift_system_overview.md) penjelasan rinci tentang arsitektur sistem gudang data Amazon Redshift.

PostgreSQL 9.x menyertakan beberapa fitur yang tidak didukung di Amazon Redshift. Selain itu, ada perbedaan penting antara Amazon Redshift SQL dan PostgreSQL yang harus Anda ketahui. Bagian ini menyoroti perbedaan antara Amazon Redshift dan PostgreSQL dan memberikan panduan untuk mengembangkan gudang data yang memanfaatkan sepenuhnya implementasi Amazon Redshift SQL.

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

 Karena Amazon Redshift didasarkan pada PostgreSQL, kami sebelumnya merekomendasikan menggunakan driver Postgresql versi 8.4.703 dan driver psqlodBC versi JDBC4 9.x. Jika saat ini Anda menggunakan driver tersebut, kami sarankan untuk beralih ke driver khusus Amazon Redshift yang baru ke depan. *Untuk informasi selengkapnya tentang driver dan mengonfigurasi koneksi, lihat Driver [JDBC dan ODBC untuk Amazon Redshift di Panduan Manajemen Amazon](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-drivers) Redshift.*

Untuk menghindari out-of-memory kesalahan sisi klien saat mengambil kumpulan data besar menggunakan JDBC, Anda dapat mengaktifkan klien Anda untuk mengambil data dalam batch dengan mengatur parameter ukuran pengambilan JDBC. Untuk informasi selengkapnya, lihat [Mengatur parameter ukuran pengambilan JDBC](set-the-JDBC-fetch-size-parameter.md).

Amazon Redshift tidak mengenali parameter JDBC MaxRows. Sebagai gantinya, tentukan [LIMIT](r_ORDER_BY_clause.md#order-by-clause-limit) klausa untuk membatasi kumpulan hasil. Anda juga dapat menggunakan [OFFSET](r_ORDER_BY_clause.md#order-by-clause-offset) klausa untuk melompat ke titik awal tertentu dalam kumpulan hasil.

# Fitur yang diimplementasikan secara berbeda
<a name="c_redshift-sql-implementated-differently"></a>

Banyak elemen bahasa Amazon Redshift SQL memiliki karakteristik kinerja yang berbeda dan menggunakan sintaks dan semantik dan yang sangat berbeda dari implementasi PostgreSQL yang setara.

**penting**  
Jangan berasumsi bahwa semantik elemen yang dimiliki Amazon Redshift dan PostgreSQL adalah identik. Pastikan untuk berkonsultasi dengan *Panduan Pengembang Amazon Redshift* [Perintah SQL](c_SQL_commands.md) untuk memahami perbedaan yang seringkali tidak kentara.

Salah satu contoh khususnya adalah [VAKUM](r_VACUUM_command.md) perintah, yang digunakan untuk membersihkan dan mengatur ulang tabel. VACUUM berfungsi secara berbeda dan menggunakan serangkaian parameter yang berbeda dari versi PostgreSQL. Lihat [Tabel penyedot debu](t_Reclaiming_storage_space202.md) untuk informasi selengkapnya tentang penggunaan VACUUM di Amazon Redshift.

Seringkali, manajemen database dan fitur administrasi dan alat-alat yang berbeda juga. Misalnya, Amazon Redshift mempertahankan satu set tabel sistem dan tampilan yang memberikan informasi tentang bagaimana sistem berfungsi. Untuk informasi selengkapnya, lihat [Tampilan pemantauan SYS](serverless_views-monitoring.md).

Daftar berikut mencakup beberapa contoh fitur SQL yang diimplementasikan secara berbeda di Amazon Redshift.
+  [CREATE TABLE](r_CREATE_TABLE_NEW.md) 

  Amazon Redshift tidak mendukung ruang tabel, partisi tabel, pewarisan, dan batasan tertentu. Implementasi Amazon Redshift CREATE TABLE memungkinkan Anda menentukan algoritme pengurutan dan distribusi tabel guna mengoptimalkan pemrosesan paralel.

  Amazon Redshift Spectrum mendukung partisi tabel menggunakan perintah. [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md)
+  [ALTER TABLE](r_ALTER_TABLE.md) 

  Hanya sebagian dari tindakan ALTER COLUMN yang didukung.

  ADD COLUMN mendukung penambahan hanya satu kolom di setiap pernyataan ALTER TABLE.
+  [MENYONTEK](r_COPY.md) 

  Perintah Amazon Redshift COPY sangat khusus untuk memungkinkan pemuatan data dari bucket Amazon S3 dan tabel Amazon DynamoDB dan untuk memfasilitasi kompresi otomatis. Lihat [Memuat data di Amazon Redshift](t_Loading_data.md) bagian dan referensi perintah COPY untuk detailnya.
+  [VAKUM](r_VACUUM_command.md) 

  Parameter untuk VACUUM sama sekali berbeda. Misalnya, operasi VACUUM default di PostgreSQL hanya merebut kembali ruang dan membuatnya tersedia untuk digunakan kembali; Namun, operasi VACUUM default di Amazon Redshift adalah VACUUM FULL, yang merebut kembali ruang disk dan menggunakan semua baris.
+ Spasi tambahan dalam nilai VARCHAR diabaikan saat nilai string dibandingkan. Untuk informasi selengkapnya, lihat [Signifikansi trailing blanko](r_Character_types.md#r_Character_types-significance-of-trailing-blanks).

# Fitur PostgreSQL yang tidak didukung
<a name="c_unsupported-postgresql-features"></a>

Fitur PostgreSQL ini tidak didukung di Amazon Redshift.

**penting**  
Jangan berasumsi bahwa semantik elemen yang dimiliki Amazon Redshift dan PostgreSQL adalah identik. Pastikan untuk berkonsultasi dengan *Panduan Pengembang Amazon Redshift* [Perintah SQL](c_SQL_commands.md) untuk memahami perbedaan yang seringkali tidak kentara.
+ Alat kueri *psql* tidak didukung. [Klien Amazon Redshift RSQL didukung](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html).
+ Partisi tabel (rentang dan daftar partisi)
+ Ruang Meja
+ Batasan
  + Unik
  + Kunci asing
  + Kunci primer
  + Batasan pemeriksaan
  + Kendala pengecualian

  Kendala unik, kunci utama, dan kunci asing diizinkan, tetapi hanya bersifat informasi. Mereka tidak ditegakkan oleh sistem, tetapi mereka digunakan oleh perencana kueri.
+ Warisan
+ Kolom sistem PostgreSQL

  Amazon Redshift SQL tidak secara implisit mendefinisikan kolom sistem. Namun, nama kolom sistem PostgreSQL berikut tidak dapat digunakan sebagai nama kolom yang ditentukan pengguna`oid`:`tableoid`,,,,,, dan. `xmin` `cmin` `xmax` `cmax` `ctid` Untuk informasi selengkapnya, lihat [https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html](https://www.postgresql.org/docs/8.0/static/ddl-system-columns.html).
+ Indeks
+ Klausa NULLS dalam fungsi Jendela
+ Kolasi

  Amazon Redshift tidak mendukung urutan pemeriksaan khusus lokal atau yang ditentukan pengguna. Lihat [Urutan pemeriksaan](c_collation_sequences.md).
+ Ekspresi nilai
  + Ekspresi berlangganan
  + Konstruktor array
  + Konstruktor baris
+ Pemicu
+ Pengelolaan Data Eksternal (SQL/MED)
+ Fungsi tabel
+ Daftar VALUES digunakan sebagai tabel konstan
+ Urutan
+ Pencarian teks lengkap
+ Izin ATURAN dan TRIGGER.

  Amazon Redshift memberikan atau mencabut izin ini saat Anda menjalankan GRANT ALL atau REVOKE ALL, tetapi ada atau tidaknya izin RULE dan TRIGGER tidak memengaruhi izin akses penerima hibah dengan cara apa pun.

# Tipe data PostgreSQL yang tidak didukung
<a name="c_unsupported-postgresql-datatypes"></a>

Umumnya, jika kueri mencoba menggunakan tipe data yang tidak didukung, termasuk cast eksplisit atau implisit, itu akan mengembalikan kesalahan. Namun, beberapa kueri yang menggunakan tipe data yang tidak didukung akan berjalan pada node pemimpin tetapi tidak pada node komputasi. Lihat [Fungsi SQL didukung pada node pemimpin](c_sql-functions-leader-node.md).

 Untuk daftar tipe data yang didukung, lihat[Jenis Data](c_Supported_data_types.md).

Tipe data PostgreSQL ini tidak didukung di Amazon Redshift.
+ Array
+ SEDIKIT, SEDIKIT BERVARIASI
+ BYTEA
+ Jenis Komposit
+ Jenis yang disebutkan
+ Jenis Geometris (Implementasi Amazon Redshift dari tipe geometris berbeda dari PostgreSQL)
+ HSTORE
+ JSON
+ Jenis Alamat Jaringan
+ Jenis Numerik
  + SERIAL, SERIAL BESAR, SERIAL KECIL
  + MONEY
+ Jenis Pengenal Objek
+ Jenis Pseudo
+ Jenis Rentang
+ Jenis Karakter Khusus
  + “char” — Tipe internal single-byte (di mana tipe data bernama char terlampir dalam tanda kutip).
  + name — Tipe internal untuk nama objek.

  Untuk informasi selengkapnya tentang jenis ini, lihat [Jenis Karakter Khusus](https://www.postgresql.org/docs/8.0/datatype-character.html) dalam dokumentasi PostgreSQL. 
+ Jenis Pencarian Teks
+ TXID\$1SNAPSHOT
+ UUID
+ XML

# Fungsi PostgreSQL yang tidak didukung
<a name="c_unsupported-postgresql-functions"></a>

Banyak fungsi yang tidak dikecualikan memiliki semantik atau penggunaan yang berbeda. Misalnya, beberapa fungsi yang didukung hanya akan berjalan pada node pemimpin. Juga, beberapa fungsi yang tidak didukung tidak akan mengembalikan kesalahan saat dijalankan pada node pemimpin. Fakta bahwa fungsi-fungsi ini tidak mengembalikan kesalahan dalam beberapa kasus tidak boleh diambil untuk menunjukkan bahwa fungsi tersebut didukung oleh Amazon Redshift. 

**penting**  
Jangan berasumsi bahwa semantik elemen yang dimiliki Amazon Redshift dan PostgreSQL adalah identik. Pastikan untuk berkonsultasi dengan *Panduan Pengembang Database Amazon Redshift* [Perintah SQL](c_SQL_commands.md) untuk memahami perbedaan yang seringkali tidak kentara.

 Untuk informasi selengkapnya, lihat [Fungsi SQL didukung pada node pemimpin](c_sql-functions-leader-node.md).

Fungsi PostgreSQL ini tidak didukung di Amazon Redshift.
+ Akses fungsi penyelidikan hak istimewa
+ Fungsi kunci penasehat
+ Fungsi agregat
  + STRING\$1AGG ()
  + ARRAY\$1AGG ()
  + SETIAP
  + XML\$1AGG ()
  + CORR ()
  + COVAR\$1POP ()
  + COVAR\$1SAMP ()
  + REGR\$1AVGX (), REGR\$1AVGY ()
  + REGR\$1COUNT ()
  + REGR\$1INTERSEP ()
  + REGR\$1R2 ()
  + REGR\$1SLOPE ()
  + REGR\$1SXX (), REGR\$1SXY (), REGR\$1SYY ()
+ Fungsi dan operator array
+ Fungsi kontrol Backup
+ Fungsi informasi komentar
+ Fungsi lokasi objek database
+ Fungsi ukuran objek database
+ Fungsi dan operator Tanggal/Waktu
  + CLOCK\$1TIMESTAMP ()
  + JUSTIFY\$1DAYS (), JUSTIFY\$1HOURS (), JUSTIFY\$1INTERVAL ()
  + PG\$1SLEEP ()
  + TRANSACTION\$1TIMESTAMP ()
+ Fungsi dukungan ENUM
+ Fungsi geometris dan operator
+ Fungsi akses file generik
+ IS DISTINCT FROM
+ Fungsi dan operator alamat jaringan
+ Fungsi matematika
  + DIV ()
  + BIJI SETSEED ()
  + WIDTH\$1BUCKET ()
+ Atur fungsi yang kembali
  + GENERATE\$1SERIES ()
  + GENERATE\$1SUBSCRIPTS ()
+ Jangkauan fungsi dan operator
+ Fungsi kontrol pemulihan
+ Fungsi informasi pemulihan
+ Fungsi ROLLBACK KE SAVEPOINT
+ Fungsi penyelidikan visibilitas skema
+ Fungsi pensinyalan server
+ Fungsi sinkronisasi snapshot
+ Fungsi manipulasi urutan
+ Fungsi string
  + BIT\$1LENGTH ()
  + HAMPARAN ()
  + CONVERT (), CONVERT\$1FROM (), CONVERT\$1TO ()
  + MENGKODEKAN ()
  + FORMAT ()
  + QUOTE\$1NULLABLE ()
  + REGEXP\$1MATCHES ()
  + REGEXP\$1SPLIT\$1TO\$1ARRAY ()
  + REGEXP\$1SPLIT\$1TO\$1TABLE ()
+ Fungsi informasi katalog sistem
+ Fungsi informasi sistem
  + 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\$1SKEMA ()
  + PG\$1POSTMASTER\$1START\$1TIME ()
  + PG\$1TRIGGER\$1DEPTH ()
  + TAMPILKAN VERSI ()
+ Fungsi pencarian teks dan operator
+ Fungsi transaksi IDs dan snapshot
+ Fungsi pemicu
+ fungsi XML/XML