

 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.

# Menghubungkan dari alat dan kode klien
<a name="connecting-via-client-tools"></a>

Amazon Redshift menyediakan editor kueri Amazon Redshift v2 untuk terhubung ke cluster dan grup kerja Anda. Untuk informasi selengkapnya, lihat [Menanyakan database menggunakan editor kueri v2Mengkueri database menggunakan editor kueri Amazon Redshift v2](query-editor-v2.md).

Bagian ini menyediakan beberapa opsi untuk alat pihak ketiga untuk terhubung. Selain itu, ini menjelaskan cara terhubung ke cluster Anda secara terprogram. 

**Topics**
+ [

# Menghubungkan dengan Amazon Redshift RSQL
](rsql-query-tool.md)
+ [

# Connect ke cluster dengan Amazon Redshift RSQL
](rsql-query-tool-starting-tool-connection.md)
+ [

# Perintah meta Amazon Redshift RSQL
](rsql-query-tool-commands.md)
+ [

# Variabel Amazon Redshift RSQL
](rsql-query-tool-variables.md)
+ [

# Kode kesalahan Amazon Redshift RSQL
](rsql-query-tool-error-codes.md)
+ [

# Variabel lingkungan Amazon Redshift RSQL
](rsql-query-tool-environment-variables.md)

# Menghubungkan dengan Amazon Redshift RSQL
<a name="rsql-query-tool"></a>

 Amazon Redshift RSQL adalah klien baris perintah untuk berinteraksi dengan cluster dan database Amazon Redshift. Anda dapat terhubung ke klaster Amazon Redshift, menjelaskan objek database, data kueri, dan melihat hasil kueri dalam berbagai format keluaran. 

 Amazon Redshift RSQL mendukung kemampuan alat baris perintah PostgreSQL psql dengan serangkaian kemampuan tambahan khusus untuk Amazon Redshift. Sumber daya yang dimaksud meliputi: 
+ Anda dapat menggunakan otentikasi masuk tunggal menggunakan AD FS,, Okta PingIdentity, Azure ADm atau penyedia identitas berbasis lainnya. SAML/JWT Anda juga dapat menggunakan penyedia identitas SAMP berbasis browser untuk otentikasi multi-faktor (MFA).
+ Anda dapat mendeskripsikan properti atau atribut objek Amazon Redshift seperti kunci distribusi tabel, kunci pengurutan tabel, tampilan pengikatan akhir (LBVs), dan tampilan terwujud. Anda juga dapat menjelaskan properti atau atribut tabel eksternal dalam AWS Glue katalog atau Apache Hive Metastore, database eksternal di Amazon RDS untuk PostgreSQL, Amazon Aurora PostgreSQL Edisi yang kompatibel dengan PostgreSQL, RDS untuk MySQL (pratinjau) dan Amazon Aurora Edisi yang kompatibel dengan MySQL (pratinjau), dan tabel yang dibagikan menggunakan Amazon Redshift Berbagi data.
+ Anda juga dapat menggunakan perintah aliran kontrol yang disempurnakan seperti `IF` (`\ELSEIF`, `\ELSE,``\ENDIF`), `\GOTO` dan`\LABEL`.

 Dengan mode batch Amazon Redshift RSQL, yang menjalankan skrip yang diteruskan sebagai parameter input, Anda dapat menjalankan skrip yang menyertakan SQL dan logika bisnis yang kompleks. Jika Anda memiliki gudang data lokal yang dikelola sendiri, Anda dapat menggunakan Amazon Redshift RSQL untuk mengganti skrip ekstrak, transformasi, pemuatan (ETL), dan otomatisasi yang ada, seperti skrip Teradata BTEQ. Menggunakan RSQL membantu Anda menghindari penerapan ulang skrip secara manual dalam bahasa prosedural. 

 Amazon Redshift RSQL tersedia untuk sistem operasi Linux, Windows, dan macOS X. 

Untuk melaporkan masalah Amazon Redshift RSQL, tulis ke @amazon .com. redshift-rsql-support

**Topics**
+ [

# Memulai dengan Amazon Redshift RSQL
](rsql-query-tool-getting-started.md)
+ [

# Log perubahan Amazon Redshift RSQL
](rsql-query-tool-changelog.md)

# Memulai dengan Amazon Redshift RSQL
<a name="rsql-query-tool-getting-started"></a>

Instal Amazon Redshift RSQL di komputer dengan sistem operasi Linux, macOS, atau Microsoft Windows.

## Unduh RSQL
<a name="rsql-query-tool-download"></a>
+  
  +  
  +  
+  
+  

Lihat log perubahan dan unduhan untuk versi sebelumnya di[Log perubahan Amazon Redshift RSQL](rsql-query-tool-changelog.md).

## Instal RSQL untuk Linux
<a name="rsql-query-tool-linux-install"></a>

Ikuti langkah-langkah di bawah ini untuk menginstal RSQL untuk Linux.

1. Instal manajer driver dengan perintah berikut:

   ```
   sudo yum install unixODBC
   ```

1. Instal driver ODBC:[Mengunduh dan menginstal driver Amazon Redshift ODBCMengunduh dan menginstal driver ODBC](odbc20-install-linux.md).

1. Salin file ini ke direktori home Anda:

   ```
   cp /opt/amazon/redshiftodbcx64/odbc.ini ~/.odbc.ini
   ```

1. Atur variabel lingkungan untuk menunjuk ke lokasi file:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshiftodbcx64/
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshiftodbcx64/amazon.redshiftodbc.ini
   ```

1. Anda sekarang dapat menginstal RSQL dengan menjalankan perintah berikut.

   ```
   sudo rpm -i AmazonRedshiftRsql-<version>.rhel.x86_64.rpm
   ```

## Instal RSQL untuk Mac
<a name="rsql-query-tool-mac-install"></a>

Ikuti langkah-langkah di bawah ini untuk menginstal RSQL for Mac OSX.

1. Instal manajer driver dengan perintah berikut:

   ```
   brew install unixodbc --build-from-source
   ```

1. Instal driver ODBC:[Mengunduh dan menginstal driver Amazon Redshift ODBCMengunduh dan menginstal driver ODBC](odbc-driver-mac-how-to-install.md).

1. Salin file ini ke direktori home Anda:

   ```
   cp /opt/amazon/redshift/Setup/odbc.ini ~/.odbc.ini
   ```

1. Atur variabel lingkungan untuk menunjuk ke lokasi file:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshift/Setup
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshift/lib/amazon.redshiftodbc.ini
   ```

1. Setel `DYLD_LIBRARY_PATH` ke lokasi libodbc.dylib Anda jika tidak masuk. `/usr/local/lib`

   ```
   export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
   ```

1. Klik dua kali file pkg untuk menjalankan installer.

1. Ikuti langkah-langkah di installer untuk menyelesaikan instalasi. Setuju dengan ketentuan perjanjian lisensi.

## Instal RSQL untuk Windows
<a name="rsql-query-tool-windows-install"></a>

Ikuti langkah-langkah di bawah ini untuk menginstal RSQL untuk Windows.

1. Instal driver ODBC:[Mengunduh dan menginstal driver Amazon Redshift ODBCMengunduh dan menginstal driver ODBC](odbc-driver-windows-how-to-install.md).

1. Klik dua kali file unduhan RSQL untuk menjalankan penginstal, lalu ikuti petunjuk untuk menyelesaikan instalasi.

# Log perubahan Amazon Redshift RSQL
<a name="rsql-query-tool-changelog"></a>

*1.1.2 (2025-12-11)*

Perbaikan Bug
+ Memperbaiki bug yang menyebabkan kegagalan dengan perintah\$1 goto dan\$1 label.
+ Memperbaiki bug yang mencegah RSQL mencetak nilai variabel saat variabel diapit tanda kutip.
+ Memperbaiki bug yang menyebabkan RSQL crash saat hasil kueri melebihi ukuran parameter ODBC DSN Fetch saat diaktifkan. UseDeclareFetch 
+ Memperbaiki masalah di mana beberapa halaman hasil dikembalikan sekaligus meskipun pager diaktifkan.
+ Memperbaiki bug yang memicu crash RSQL saat kueri gagal dalam blok transaksi.

*1.1.1 (2025-11-20)*

Perbaikan Bug
+ Memperbaiki masalah di mana RSQL salah mengurai kueri saat menggunakan flag -c. Perbaikan ini berlaku untuk semua platform.
+ Perbaiki bug di Mac yang mencegah pengguna menggunakan perintah\$1 s di RSQL.

*1.1.0 (2025-11-11)*

Perbaikan Bug
+ Menyelesaikan masalah kebocoran memori yang menyebabkan crash tak terduga di RSQL.
+ Dihapus ketergantungan OpenSSL dari RSQL.
+ Konflik penautan tetap dengan libpq/psql instalasi di lingkungan yang sama.
+ Kompatibilitas platform yang ditingkatkan untuk Amazon Linux 2023, Windows, dan macOS.
+ Memperbaiki masalah di mana output akan terpotong saat melebihi ukuran tampilan saat ini.

*1.0.8 (2023-06-19)*

Perbaikan Bug
+ Memperbaiki masalah saat output terpotong dengan perintah SHOW.
+ Menambahkan dukungan ke\$1 de untuk menjelaskan aliran Kinesis eksternal dan topik Kafka.

*1.0.7 (2023-03-22)*

Perbaikan Bug
+ Memperbaiki masalah di mana RSQL tidak dapat menggambarkan tampilan terwujud.
+ Memperbaiki kesalahan penolakan izin pada stl\$1connection\$1log saat menggunakan Amazon Redshift Serverless.
+ Memperbaiki masalah di mana RSQL dapat memproses label\$1 GOTO secara tidak benar.
+ Memperbaiki masalah saat pesan SSL dicetak dalam mode senyap.
+ Memperbaiki masalah dengan karakter acak yang ditampilkan saat menjelaskan prosedur yang disimpan.
+ Memperbaiki masalah dengan mencetak ERROR/INFO pesan duplikat.

Baru
+ RSQL sekarang mendapatkan informasi SSL langsung dari driver ODBC.



*1.0.6 (2023-02-21)*

Perbaikan Bug
+ Memperbaiki masalah di mana\$1 d melempar kesalahan - sintaks input tidak valid untuk integer: “xid” - pada patch Redshift 1.0.46086 (P173).

Baru
+ Berganti nama file instalasi untuk mencerminkan arsitektur yang didukung.



*1.0.5 (2022-06-27)*

Perbaikan Bug
+ Kirim pesan kesalahan SQL ke kesalahan standar (stderr).
+ Memperbaiki masalah dengan kode keluar saat menggunakan ON\$1ERROR\$1STOP. Skrip sekarang berakhir setelah mengalami kesalahan dan mengembalikan kode keluar yang benar.
+ Maxerror sekarang tidak peka huruf besar/kecil.

Baru
+ Menambahkan dukungan untuk driver ODBC 2.x.



*1.0.4 (2022-03-19)*
+ Tambahkan dukungan untuk variabel lingkungan RSPASSWORD. Tetapkan kata sandi untuk terhubung ke Amazon Redshift. Misalnya, `export RSPASSWORD=TestPassw0rd`.



*1.0.3 (2021-12-08)*

Perbaikan Bug
+ Dialog tetap muncul saat menggunakan `\c` atau `\logon` beralih antar database di OS Windows.
+ Memperbaiki kerusakan saat memeriksa informasi ssl.



## Amazon Redshift RSQL versi sebelumnya
<a name="rsql-query-tool-changelog-legacy-versions"></a>

Pilih salah satu tautan untuk mengunduh versi Amazon Redshift RSQL yang Anda butuhkan, berdasarkan sistem operasi Anda.

**Linux 64-bit RPM**
+ [RSQL Versi 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.rhel.x86_64.rpm)
+ [RSQL Versi 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.rhel.x86_64.rpm)
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.rpm) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.rpm) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.rpm) 
+ [RSQL Versi 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5-1.x86_64.rpm)
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4-1.x86_64.rpm) 
+ [RSQL Versi 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3-1.x86_64.rpm) [ 64-bit RSQL Versi 1.0.3]( https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3-1.x86_64.rpm)
+ [RSQL Versi 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1-1.x86_64.rpm) [ 64-bit RSQL Versi 1.0.1]( https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1-1.x86_64.rpm)

**Mac OS 64-bit DMG/PKG**
+ [RSQL Versi 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.universal.pkg)
+ [RSQL Versi 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.universal.pkg)
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.dmg) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.dmg) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.dmg) 
+ [RSQL Versi 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.dmg) [ 64-bit RSQL Versi 1.0.5](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.dmg)
+ [RSQL Versi 1.0.4 Di](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.dmg) [: 64-bit RSQL Versi 1.0.4](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.dmg)
+ [RSQL Versi 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.dmg) [ 64-bit RSQL Versi 1.0.3](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.dmg)
+ [RSQL Versi 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.dmg) [ 64-bit RSQL Versi 1.0.1](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.dmg)

**Windows 64-bit MSI**
+ [RSQL Versi 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.x86_64.msi)
+ [RSQL Versi 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.x86_64.msi)
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.msi) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.msi) 
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.msi) 
+ [RSQL Versi 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.msi)
+ [RSQL Versi](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.msi) 
+ [RSQL Versi 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.msi) [ 64-bit RSQL Versi 1.0.3](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.msi)
+ [RSQL Versi 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.msi) [ 64-bit RSQL Versi 1.0.1](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.msi)

# Connect ke cluster dengan Amazon Redshift RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Dengan Amazon Redshift, Anda dapat terhubung ke cluster dan berinteraksi dengannya menggunakan RSQL. Ini adalah alat baris perintah yang menyediakan cara aman untuk menanyakan data, membuat objek database, dan mengelola cluster Amazon Redshift Anda. Bagian berikut memandu Anda melalui langkah-langkah untuk membuat koneksi ke cluster Anda menggunakan RSQL dengan dan tanpa nama sumber data (DSN).

## Menghubungkan tanpa DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. Di konsol Amazon Redshift, pilih cluster yang ingin Anda sambungkan dan catat titik akhir, database, dan port.

1. Pada prompt perintah, tentukan informasi koneksi dengan menggunakan parameter baris perintah.

   ```
   rsql -h <endpoint> -U <username> -d <databasename> -p <port>
   ```

    Di sini, berikut ini berlaku: 
   +  *<endpoint>*adalah **Endpoint** yang Anda rekam pada langkah sebelumnya.
   +  *<username>*adalah nama pengguna dengan izin untuk terhubung ke cluster.
   +  *<databasename>*adalah **Nama Database** yang Anda rekam pada langkah sebelumnya.
   +  *<port>*adalah **Port** yang Anda rekam pada langkah sebelumnya. *<port>*adalah parameter opsional.

   Berikut contohnya.

   ```
   rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
   ```

1.  Pada prompt kata sandi, masukkan kata sandi untuk *<username>* pengguna.

   Respons koneksi yang berhasil terlihat seperti berikut ini.

   ```
   % rsql -h testcluster.example.com -d dev -U user1 -p 5349
   Password for user user1:
   DSN-less Connected
   DBMS Name: Amazon Redshift
   Driver Name: Amazon Redshift ODBC Driver
   Driver Version: 1.4.27.1000
   Rsql Version: 1.0.1
   Redshift Version: 1.0.29306
   Type "help" for help.
   
   (testcluster) user1@dev=#
   ```

Perintah untuk menghubungkan memiliki parameter yang sama di Linux, Mac OS, dan Windows.

## Menghubungkan dengan DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

Anda dapat menghubungkan RSQL ke Amazon Redshift dengan menggunakan DSN untuk menyederhanakan organisasi properti koneksi. Topik ini mencakup instruksi untuk instalasi ODBC-driver dan deskripsi untuk properti DSN.

### Menggunakan koneksi DSN dengan kata sandi
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

Berikut ini menunjukkan contoh konfigurasi koneksi DSN yang menggunakan kata sandi. Default `<path to driver>` untuk Mac OSX adalah `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` dan untuk Linux adalah`/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so`.

```
[testuser]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<database port>
Database=<dbname>
UID=<username>
PWD=<password>
sslmode=prefer
```

Hasil output berikut dari koneksi yang berhasil.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

### Menggunakan DSN masuk tunggal
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Anda dapat mengonfigurasi DSN untuk otentikasi masuk tunggal. Berikut ini menunjukkan contoh konfigurasi koneksi DSN yang menggunakan tanda tunggal Okta.

```
[testokta]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-US
iam=1
plugin_name=<plugin name>
uid=<okta username>
pwd=<okta password>
idp_host=<idp endpoint>
app_id=<app id>
app_name=<app name>
preferred_role=<role arn>
```

Contoh output dari koneksi yang berhasil.

```
% rsql -D testokta 
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

Contoh berikut menunjukkan contoh konfigurasi koneksi DSN yang menggunakan tanda tunggal Azure.

```
[testazure]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<cluster port>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-us
iam=1
plugin_name=<plugin name>
uid=<azure username>
pwd=<azure password>
idp_tenant=<Azure idp tenant uuid>
client_id=<Azure idp client uuid>
client_secret=<Azure idp client secret>
```

### Menggunakan koneksi DSN dengan profil IAM
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Anda dapat terhubung ke Amazon Redshift menggunakan profil IAM yang telah dikonfigurasi. Profil IAM harus memiliki hak istimewa untuk menelepon. `GetClusterCredentials` Contoh berikut menunjukkan properti DSN untuk digunakan. `Region`Parameter `ClusterID` dan diperlukan hanya jika `Host` bukan titik akhir yang disediakan Amazon seperti`examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testiam]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Profile=default
```

Nilai untuk `Profile` kunci adalah profil bernama yang Anda pilih dari kredenal AWS CLI Anda. Contoh ini menunjukkan kredensil untuk profil bernama. `default`

```
$ cat .aws/credentials
[default]
aws_access_key_id = ASIAIOSFODNN7EXAMPLE 
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

Berikut ini menunjukkan respon koneksi.

```
$ rsql -D testiam
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Menggunakan koneksi DSN dengan profil Instance
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Anda dapat terhubung ke Amazon Redshift menggunakan profil instans Amazon EC2. Profil instance harus memiliki hak istimewa untuk menelepon`GetClusterCredentials`. Lihat contoh di bawah ini untuk properti DSN yang akan digunakan. `Region`Parameter `ClusterID` dan diperlukan hanya jika `Host` bukan titik akhir yang disediakan Amazon seperti`examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testinstanceprofile]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Instanceprofile=1
```

Berikut ini menunjukkan respon koneksi.

```
$ rsql -D testinstanceprofile
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Menggunakan koneksi DSN dengan rantai penyedia kredensi default
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Untuk menyambung menggunakan rantai penyedia kredensi default, tentukan hanya properti IAM, dan Amazon Redshift RSQL akan mencoba memperoleh kredensil dalam urutan yang dijelaskan dalam Bekerja dengan Kredensial di SDK for [Java](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html). AWS AWS Setidaknya salah satu penyedia dalam rantai harus memiliki `GetClusterCredentials` izin. Ini berguna untuk menghubungkan dari wadah ECS, misalnya.

```
[iamcredentials]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
```

# Perintah meta Amazon Redshift RSQL
<a name="rsql-query-tool-commands"></a>

Perintah meta Amazon Redshift RSQL mengembalikan catatan informasi tentang database atau objek database tertentu. Hasil dapat mencakup berbagai kolom dan metadata. Perintah lain melakukan tindakan tertentu. Perintah ini didahului dengan garis miring terbalik.

## \$1 d [S \$1]
<a name="rsql-query-tool-describe-d"></a>

 Daftar tabel buatan pengguna lokal, tampilan reguler, tampilan yang mengikat akhir, dan tampilan terwujud. `\dS `juga mencantumkan tabel dan tampilan`\d`, seperti, tetapi objek sistem disertakan dalam catatan yang dikembalikan. `+`Hasil di kolom metadata tambahan `description` untuk semua objek yang terdaftar. Berikut ini menunjukkan catatan sampel dikembalikan sebagai hasil dari perintah. 

```
List of relations
 schema |   name    | type  |  owner  
--------+-----------+-------+---------
 public | category  | table | awsuser
 public | date      | table | awsuser
 public | event     | table | awsuser
 public | listing   | table | awsuser
 public | sales     | table | awsuser
 public | users     | table | awsuser
 public | venue     | table | awsuser
(7 rows)
```

## \$1 d [S\$1] NAMA
<a name="rsql-query-tool-describe-s-plus-named"></a>

Menjelaskan tabel, tampilan, atau indeks. Termasuk nama kolom dan jenis. Ini juga menyediakan diststyle, konfigurasi cadangan, membuat tanggal (tabel dibuat setelah Oktober 2018), dan kendala. Misalnya, `\dS+ sample` mengembalikan properti objek. Menambahkan `S+` hasil di kolom tambahan termasuk dalam catatan yang dikembalikan.

```
Table "public.sample"
 Column |            Type             |   Collation    | Nullable | Default Value | Encoding  | DistKey | SortKey
--------+-----------------------------+----------------+----------+---------------+-----------+---------+---------
 col1   | smallint                    |                | NO       |               | none      | t       | 1
 col2   | character(100)              | case_sensitive | YES      |               | none      | f       | 2
 col3   | character varying(100)      | case_sensitive | YES      |               | text32k   | f       | 3
 col4   | timestamp without time zone |                | YES      |               | runlength | f       | 0
 col5   | super                       |                | YES      |               | zstd      | f       | 0
 col6   | bigint                      |                | YES      |               | az64      | f       | 0

Diststyle: KEY
Backup: YES
Created: 2021-07-20 19:47:27.997045
Unique Constraints:
    "sample_pkey" PRIMARY KEY (col1)
    "sample_col2_key" UNIQUE (col2)
Foreign-key constraints:
    "sample_col2_fkey" FOREIGN KEY (col2) REFERENCES lineitem(l_orderkey)
```

Gaya distribusi, atau *Diststyle*, dari tabel bisa KEY, AUTO, EVEN atau ALL.

*Backup* menunjukkan apakah tabel dicadangkan saat snapshot diambil. Nilai-nilai yang valid adalah `YES` atau `NO`.

*Dibuat* adalah stempel waktu untuk saat tabel dibuat. Tanggal pembuatan tidak tersedia untuk tabel Amazon Redshift yang dibuat sebelum November 2018. Tabel yang dibuat sebelum tanggal ini ditampilkan n/a (Tidak Tersedia). 

Kendala *Unik mencantumkan kendala* kunci unik dan primer di atas meja.

*Kendala kunci asing mencantumkan kendala* kunci asing di atas meja.

## \$1 dC [\$1] [POLA]
<a name="rsql-query-tool-describe-dc"></a>

Daftar gips. Termasuk jenis sumber, tipe target, dan apakah pemeran itu implisit.

Berikut ini menunjukkan subset hasil dari`\dC+`.

```
List of casts
         source type         |         target type         |      function       |   implicit?   | description 
-----------------------------+-----------------------------+---------------------+---------------+-------------
 "char"                      | character                   | bpchar              | in assignment | 
 "char"                      | character varying           | text                | in assignment | 
 "char"                      | integer                     | int4                | no            | 
 "char"                      | text                        | text                | yes           | 
 "path"                      | point                       | point               | no            | 
 "path"                      | polygon                     | polygon             | in assignment | 
 abstime                     | date                        | date                | in assignment | 
 abstime                     | integer                     | (binary coercible)  | no            | 
 abstime                     | time without time zone      | time                | in assignment | 
 abstime                     | timestamp with time zone    | timestamptz         | yes           | 
 abstime                     | timestamp without time zone | timestamp           | yes           | 
 bigint                      | bit                         | bit                 | no            | 
 bigint                      | boolean                     | bool                | yes           | 
 bigint                      | character                   | bpchar              | in assignment | 
 bigint                      | character varying           | text                | in assignment | 
 bigint                      | double precision            | float8              | yes           | 
 bigint                      | integer                     | int4                | in assignment | 
 bigint                      | numeric                     | numeric             | yes           | 
 bigint                      | oid                         | oid                 | yes           | 
 bigint                      | real                        | float4              | yes           | 
 bigint                      | regclass                    | oid                 | yes           | 
 bigint                      | regoper                     | oid                 | yes           | 
 bigint                      | regoperator                 | oid                 | yes           | 
 bigint                      | regproc                     | oid                 | yes           | 
 bigint                      | regprocedure                | oid                 | yes           | 
 bigint                      | regtype                     | oid                 | yes           | 
 bigint                      | smallint                    | int2                | in assignment | 
 bigint                      | super                       | int8_partiql        | in assignment |
```

## \$1 dd [S] [POLA]
<a name="rsql-query-tool-describe-dds"></a>

Menampilkan deskripsi objek yang tidak ditampilkan di tempat lain.

## \$1 de
<a name="rsql-query-tool-describe-de"></a>

Daftar tabel eksternal. Ini termasuk tabel di AWS Glue Data Catalog, Hive Metastore dan tabel federasi dari Amazon MySQL, Amazon PostgreSQL, dan tabel data RDS/Aurora Amazon Redshift. RDS/Aurora 

## \$1 NAMA
<a name="rsql-query-tool-describe-de-name"></a>

Menjelaskan tabel eksternal.

Contoh berikut menunjukkan tabel AWS Glue eksternal.

```
# \de spectrum.lineitem
                            Glue External table "spectrum.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_shipdate      | date          | date          | 11       | 0             |
 l_commitdate    | date          | date          | 12       | 0             |
 l_receiptdate   | date          | date          | 13       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 14       | 0             |
 l_shipmode      | char(10)      | char(10)      | 15       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 16       | 0             |

Location: s3://redshiftbucket/kfhose2019/12/31
Input_format: org.apache.hadoop.mapred.TextInputFormat
Output_format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Serialization_lib: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Serde_parameters: {"field.delim":"|","serialization.format":"|"}
Parameters: {"EXTERNAL":"TRUE","numRows":"178196721475","transient_lastDdlTime":"1577771873"}
```

Meja Hive Metastore.

```
# \de emr.lineitem
                     Hive Metastore External Table "emr.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_commitdate    | date          | date          | 11       | 0             |
 l_receiptdate   | date          | date          | 12       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 13       | 0             |
 l_shipmode      | char(10)      | char(10)      | 14       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 15       | 0             |
 l_shipdate      | date          | date          | 16       | 1             |

Location: s3://redshiftbucket/cetas
Input_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
Output_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Serialization_lib: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
Serde_parameters: {"serialization.format":"1"}
Parameters: {"EXTERNAL":"TRUE", "numRows":"4307207", "transient_lastDdlTime":"1626990007"}
```

PostgreSQL tabel eksternal.

```
# \de pgrsql.alltypes
                                Postgres Federated Table "pgrsql.alltypes"
 Column |        External Type        |        Redshift Type        | Position | Partition Key | Nullable
--------+-----------------------------+-----------------------------+----------+---------------+----------
 col1   | bigint                      | bigint                      | 1        | 0             |
 col2   | bigint                      | bigint                      | 2        | 0             |
 col5   | boolean                     | boolean                     | 3        | 0             |
 col6   | box                         | varchar(65535)              | 4        | 0             |
 col7   | bytea                       | varchar(65535)              | 5        | 0             |
 col8   | character(10)               | character(10)               | 6        | 0             |
 col9   | character varying(10)       | character varying(10)       | 7        | 0             |
 col10  | cidr                        | varchar(65535)              | 8        | 0             |
 col11  | circle                      | varchar(65535)              | 9        | 0             |
 col12  | date                        | date                        | 10       | 0             |
 col13  | double precision            | double precision            | 11       | 0             |
 col14  | inet                        | varchar(65535)              | 12       | 0             |
 col15  | integer                     | integer                     | 13       | 0             |
 col16  | interval                    | varchar(65535)              | 14       | 0             |
 col17  | json                        | varchar(65535)              | 15       | 0             |
 col18  | jsonb                       | varchar(65535)              | 16       | 0             |
 col19  | line                        | varchar(65535)              | 17       | 0             |
 col20  | lseg                        | varchar(65535)              | 18       | 0             |
 col21  | macaddr                     | varchar(65535)              | 19       | 0             |
 col22  | macaddr8                    | varchar(65535)              | 20       | 0             |
 col23  | money                       | varchar(65535)              | 21       | 0             |
 col24  | numeric                     | numeric(38,20)              | 22       | 0             |
 col25  | path                        | varchar(65535)              | 23       | 0             |
 col26  | pg_lsn                      | varchar(65535)              | 24       | 0             |
 col28  | point                       | varchar(65535)              | 25       | 0             |
 col29  | polygon                     | varchar(65535)              | 26       | 0             |
 col30  | real                        | real                        | 27       | 0             |
 col31  | smallint                    | smallint                    | 28       | 0             |
 col32  | smallint                    | smallint                    | 29       | 0             |
 col33  | integer                     | integer                     | 30       | 0             |
 col34  | text                        | varchar(65535)              | 31       | 0             |
 col35  | time without time zone      | varchar(65535)              | 32       | 0             |
 col36  | time with time zone         | varchar(65535)              | 33       | 0             |
 col37  | timestamp without time zone | timestamp without time zone | 34       | 0             |
 col38  | timestamp with time zone    | timestamp with time zone    | 35       | 0             |
 col39  | tsquery                     | varchar(65535)              | 36       | 0             |
 col40  | tsvector                    | varchar(65535)              | 37       | 0             |
 col41  | txid_snapshot               | varchar(65535)              | 38       | 0             |
 col42  | uuid                        | varchar(65535)              | 39       | 0             |
 col43  | xml                         | varchar(65535)              | 40       | 0             |
```

## \$1 df [anptw] [S\$1] [POLA]
<a name="rsql-query-tool-df"></a>

 Daftar fungsi dari berbagai jenis. Perintah`\df`, misalnya, mengembalikan daftar fungsi. Hasil mencakup properti seperti nama, tipe data yang dikembalikan, hak akses, dan metadata tambahan. Jenis fungsi dapat mencakup pemicu, prosedur tersimpan, fungsi jendela, dan jenis lainnya. Ketika Anda menambahkan `S+` ke perintah, misalnya`\dfantS+`, kolom metadata tambahan disertakan, seperti`owner`,, dan. `security` `access privileges` 

## \$1 dL [S\$1] [POLA]
<a name="rsql-query-tool-describe-dl"></a>

 Daftar data tentang bahasa prosedural yang terkait dengan database. Informasi mencakup nama, seperti plpgsql, dan metadata tambahan, yang mencakup apakah itu tepercaya, hak akses, dan deskripsi. Contoh panggilan, misalnya`\dLS+`, yang mencantumkan bahasa dan propertinya. Ketika Anda menambahkan `S+` ke perintah, kolom metadata tambahan disertakan, seperti dan. `call handler` `access privileges` 

Hasil sampel:

```
List of languages
   name    | trusted | internal language |      call handler       |                         validator                          | access privileges |          description           
-----------+---------+-------------------+-------------------------+------------------------------------------------------------+-------------------+--------------------------------
 c         | f       | t                 | -                       | fmgr_c_validator(oid)                                      |                   | Dynamically-loaded C functions
 exfunc    | f       | f                 | exfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 internal  | f       | t                 | -                       | fmgr_internal_validator(oid)                               |                   | Built-in functions
 mlfunc    | f       | f                 | mlfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 plpgsql   | t       | f                 | plpgsql_call_handler()  | plpgsql_validator(oid)                                     |                   | 
 plpythonu | f       | f                 | plpython_call_handler() | plpython_compiler(cstring,cstring,cstring,cstring,cstring) | rdsdb=U/rdsdb     | 
 sql       | t       | t                 | -                       | fmgr_sql_validator(oid)                                    | =U/rdsdb          | SQL-language functions
```

## \$1 dm [S\$1] [POLA]
<a name="rsql-query-tool-describe-dm"></a>

 Daftar tampilan terwujud. Misalnya, `\dmS+` daftar tampilan terwujud dan propertinya. Saat Anda menambahkan `S+` ke perintah, kolom metadata tambahan disertakan. 

## \$1 dn [S\$1] [POLA]
<a name="rsql-query-tool-describe-dn"></a>

 Daftar skema. Ketika Anda menambahkan `S+` ke perintah, misalnya`\dnS+`, kolom metadata tambahan disertakan, seperti dan. `description` `access privileges` 

## \$1 dp [POLA]
<a name="rsql-query-tool-describe-dp"></a>

 Daftar hak akses tabel, tampilan, dan urutan. 

## \$1 dt [S\$1] [POLA]
<a name="rsql-query-tool-describe-dt"></a>

 Daftar tabel. Ketika Anda menambahkan `S+` ke perintah, misalnya`\dtS+`, kolom metadata tambahan disertakan, seperti `description` dalam kasus ini. 

## \$1 du
<a name="rsql-query-tool-describe-du"></a>

 Daftar pengguna untuk database. Termasuk nama dan peran mereka, seperti Superuser, dan atribut. 

## \$1 dv [S\$1] [POLA]
<a name="rsql-query-tool-describe-dv"></a>

 Daftar tampilan. Termasuk skema, jenis, dan data pemilik. Ketika Anda menambahkan `S+` ke perintah, misalnya`\dvS+`, kolom metadata tambahan disertakan. 

## \$1 H
<a name="rsql-query-tool-describe-h"></a>

 Menghidupkan output HTML. Ini berguna untuk mengembalikan hasil yang diformat dengan cepat. Misalnya, `select * from sales; \H` mengembalikan hasil dari tabel penjualan, dalam HTML. Untuk beralih kembali ke hasil tablular, gunakan`\q`, atau diam. 

## \$1 saya
<a name="rsql-query-tool-describe-i"></a>

 Menjalankan perintah dari file. Misalnya, dengan asumsi Anda memiliki rsql\$1steps.sql di direktori kerja Anda, berikut ini menjalankan perintah dalam file:`\i rsql_steps.sql`. 

## \$1 l [\$1] [POLA]
<a name="rsql-query-tool-describe-l"></a>

 Daftar database. Termasuk pemilik, pengkodean, dan informasi tambahan. 

## \$1 q
<a name="rsql-query-tool-describe-q"></a>

 Keluar, atau `\q` perintah, log off sesi database dan keluar dari RSQL. 

## \$1 sv [\$1] NAMA TAMPILAN
<a name="rsql-query-tool-describe-sv-name"></a>

 Menunjukkan definisi tampilan. 

## \$1 waktu
<a name="rsql-query-tool-describe-timing"></a>

 Menunjukkan waktu berjalan, untuk kueri, misalnya. 

## \$1 z [POLA]
<a name="rsql-query-tool-describe-z"></a>

 Output yang sama dengan\$1 dp. 

## \$1?
<a name="rsql-query-tool-help"></a>

 Menampilkan informasi bantuan. Parameter opsional menentukan item untuk menjelaskan. 

## \$1 KELUAR
<a name="rsql-query-tool-flow-control-exit"></a>

 Log off semua sesi database dan keluar dari Amazon Redshift RSQL. Selain itu, Anda dapat menentukan kode keluar opsional. Misalnya, `\EXIT 15` akan keluar dari terminal Amazon Redshift RSQL dan mengembalikan kode keluar 15.

Contoh berikut menunjukkan output dari koneksi dan keluar dari RSQL.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.34.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306 
Type "help" for help.

(testcluster) user1@dev=# \exit 15

% echo $?
15
```

## \$1 EKSPOR
<a name="rsql-query-tool-export"></a>

 Menentukan nama file ekspor yang RSQL gunakan untuk menyimpan informasi database yang dikembalikan oleh pernyataan SQL SELECT berikutnya.

export\$101.sql

```
\export report file='E:\\accounts.out'
\rset rformat off
\rset width 1500
\rset heading "General Title"
\rset titledashes on
select * from td_dwh.accounts;
\export reset
```

Keluaran konsol

```
Rformat is off.
Target width is 1500.
Heading is set to: General Title
Titledashes is on.
(exported 40 rows)
```

## \$1 MASUK
<a name="rsql-query-tool-flow-control-logon"></a>

 Terhubung ke database. Anda dapat menentukan parameter koneksi menggunakan sintaks posisi atau sebagai string koneksi.

Sintaks perintah adalah sebagai berikut: `\logon {[DBNAME|- USERNAME|- HOST|- PORT|- [PASSWORD]] | conninfo}`

`DBNAME`Ini adalah nama database untuk terhubung ke. `USERNAME`Itu adalah nama pengguna untuk terhubung sebagai. `HOST`Defaultnya adalah`localhost`. `PORT`Defaultnya adalah`5439`.

Ketika nama host ditentukan dalam `\LOGON` perintah, itu menjadi nama host default untuk `\LOGON` perintah tambahan. Untuk mengubah nama host default, tentukan yang baru `HOST` dalam `\LOGON` perintah tambahan.

Contoh output dari `\LOGON` perintah untuk `user1` berikut.

```
(testcluster) user1@redshiftdb=# \logon dev
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user1".
(testcluster) user1@dev=#
```

Output sampel untuk *pengguna2*.

```
(testcluster) user1@dev=# \logon dev user2 testcluster2.example.com
Password for user user2: 
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user2" on host "testcluster2.example.com" at port "5439".
(testcluster2) user2@dev=#
```

## \$1 KOMENTAR
<a name="rsql-query-tool-flow-control-remark"></a>

 Perpanjangan `\echo` perintah. `\REMARK`mencetak string yang ditentukan ke aliran output. `\REMARK `meluas `\echo` dengan menambahkan kemampuan untuk memecah output melalui jalur terpisah.

Contoh berikut menunjukkan output dari perintah.

```
(testcluster) user1@dev=# \remark 'hello//world'
hello
world
```

## \$1 RSET
<a name="rsql-query-tool-rset"></a>

Perintah `\rset` menetapkan parameter perintah dan variabel. `\rset`memiliki mode interaktif dan batch. <arg>Itu tidak mendukung opsi sebagai opsi bash, seperti *-x*, atau argumen, misalnya *--*.

Ini menetapkan variabel, seperti berikut ini:
+ TINGKAT KESALAHAN
+ HEADING dan RTITLE
+ RFORMAT
+ MAXERROR
+ TITLEDASHES
+ LEBAR

Contoh berikut menentukan judul.

```
\rset heading "Winter Sales Report"
```

Untuk lebih banyak contoh cara menggunakan`\rset`, Anda dapat menemukan beberapa [Variabel Amazon Redshift RSQL](rsql-query-tool-variables.md) topik.

## \$1 LARI
<a name="rsql-query-tool-flow-control-run"></a>

 Menjalankan skrip Amazon Redshift RSQL yang terdapat dalam file yang ditentukan. `\RUN`memperluas `\i` perintah dengan menambahkan opsi untuk melewati baris header dalam file.

Jika nama file menyertakan koma, titik koma, atau spasi, lampirkan dalam tanda kutip tunggal. Selain itu, jika teks mengikuti nama file, lampirkan dalam tanda kutip. Di UNIX, nama file peka huruf besar/kecil. Di Windows, nama file tidak peka huruf besar/kecil.

Contoh berikut menunjukkan output dari perintah.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as lineitem_cnt from lineitem;
select count(*) as customer_cnt from customer;
select count(*) as orders_cnt from orders;



(testcluster) user1@dev=# \run file=test.sql
 lineitem_cnt
--------------
      4307207
(1 row)

 customer_cnt
--------------
     37796166
(1 row)

 orders_cnt
------------
          0
(1 row)


(testcluster) user1@dev=# \run file=test.sql skip=2
2 records skipped in RUN file.
 orders_cnt
------------
          0
(1 row)
```

## \$1 OS
<a name="rsql-query-tool-flow-control-os"></a>

 Sebuah alias untuk `\!` perintah. `\OS`menjalankan perintah sistem operasi yang diteruskan sebagai parameter. Kontrol kembali ke Amazon Redshift RSQL setelah perintah dijalankan. Misalnya, Anda dapat menjalankan perintah berikut untuk mencetak waktu tanggal sistem saat ini dan kembali ke terminal RSQL:. `\os date`

```
(testcluster) user1@dev=# \os date
Tue Sep 7 20:47:54 UTC 2021
```

## \$1 GOTO
<a name="rsql-query-tool-flow-control-goto"></a>

 Perintah baru untuk Amazon Redshift RSQL. `\GOTO`melewatkan semua perintah intervensi dan melanjutkan pemrosesan pada yang ditentukan. `\LABEL` `\LABEL`Harus menjadi referensi ke depan. Anda tidak dapat melompat ke `\LABEL` yang secara leksikal mendahului. `\GOTO`

Berikut menampilkan contoh output.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as cnt from lineitem \gset
select :cnt as cnt;
\if :cnt > 100
    \goto LABELB
\endif

\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'


(testcluster) user1@dev=# \i test.sql
   cnt
---------
 4307207
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1 LABEL
<a name="rsql-query-tool-flow-control-label"></a>

 Perintah baru untuk Amazon Redshift RSQL. `\LABEL`menetapkan titik masuk untuk menjalankan program, sebagai target untuk `\GOTO` perintah.

Berikut ini menunjukkan contoh output dari perintah.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) from lineitem limit 5;
\goto LABELB
\remark "this step was skipped by goto label";
\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'



(testcluster) user1@dev=# \i testgoto.sql
  count
 4307193
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1 IF (\$1 ELSEIF,\$1 ELSE,\$1 ENDIF)
<a name="rsql-query-tool-flow-control-if"></a>

 `\IF`dan perintah terkait menjalankan bagian dari skrip input secara kondisional. Perpanjangan dari perintah PSQL `\if` (`\elif`,`\else`,`\endif`). `\IF`dan `\ELSEIF` mendukung ekspresi boolean termasuk`AND`, `OR` dan `NOT` kondisi. 

Berikut ini menunjukkan contoh output dari perintah.

```
(testcluster) user1@dev=# \! cat test.sql
SELECT query FROM stv_inflight LIMIT 1 \gset
select :query as query;
\if :query > 1000000
    \remark 'Query id is greater than 1000000'
\elseif :query = 1000000
    \remark 'Query id is equal than 1000000'
\else
    \remark 'Query id is less than 1000000'
\endif


(testcluster) user1@dev=# \i test.sql 
 query
--------
 994803
(1 row)
 
Query id is less than 1000000
```

Gunakan `ERRORCODE` dalam logika percabangan Anda.

```
\if :'ERRORCODE' = '00000'
    \remark 'The statement was executed without error'
\else
    \remark :LAST_ERROR_MESSAGE
\endif
```

Gunakan `\GOTO` dalam `\IF` blok untuk mengontrol bagaimana kode dijalankan.

# Variabel Amazon Redshift RSQL
<a name="rsql-query-tool-variables"></a>

 Beberapa kata kunci bertindak sebagai variabel dalam RSQL. Anda dapat mengatur masing-masing ke nilai tertentu, atau mengatur ulang nilainya. Sebagian besar diatur dengan`\rset`, yang memiliki mode interaktif dan mode batch. Perintah dapat didefinisikan dalam huruf kecil atau huruf besar.

## JUMLAH AKTIVITAS
<a name="rsql-query-tool-activitycount"></a>

 Menunjukkan jumlah baris yang dipengaruhi oleh permintaan terakhir yang dikirimkan. Untuk permintaan pengembalian data, ini adalah jumlah baris yang dikembalikan ke RSQL dari database. Nilainya adalah 0 atau bilangan bulat positif. Nilai maksimum adalah 18.446.744.073.709.551.615. 

 Variabel `ACTIVITYCOUNT` yang diperlakukan secara khusus mirip dengan variabel`ROW_COUNT`. Namun, `ROW_COUNT` tidak melaporkan jumlah baris yang terpengaruh ke aplikasi klien pada penyelesaian perintah untuk`SELECT`, `COPY` atau`UNLOAD`. Tapi `ACTIVITYCOUNT` tidak. 

activitycount\$101.sql:

```
select viewname, schemaname
from pg_views
where schemaname = 'not_existing_schema';
\if :ACTIVITYCOUNT = 0
\remark 'views do not exist'
\endif
```

Keluaran konsol:

```
viewname | schemaname
----------+------------
(0 rows)

views do not exist
```

## TINGKAT KESALAHAN
<a name="rsql-query-tool-describe-rset-errorlevel"></a>

Menetapkan tingkat keparahan untuk kesalahan. Gunakan tingkat keparahan untuk menentukan tindakan. Jika `ERRORLEVEL` perintah belum digunakan, nilainya secara `ON` default.

errorlevel\$101.sql:

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Keluaran konsol:

```
Errorlevel is on.
rsql: ERROR: relation "tbl" does not exist
(1 row)

col
1

exit
```

## HEADING dan RTITLE
<a name="rsql-query-tool-describe-rset-heading-rtitle"></a>

Memungkinkan pengguna untuk menentukan header yang muncul di bagian atas laporan. Header yang ditentukan oleh `RSET RTITLE` perintah secara otomatis menyertakan tanggal sistem saat ini dari komputer klien.

konten rset\$1heading\$1rtitle\$102.rsql:

```
\remark Starting...
\rset rtitle "Marketing Department||Confidential//Third Quarter//Chicago"
\rset width 70
\rset rformat on
select * from rsql_test.tbl_currency order by id limit 2;
\exit
\remark Finishing...
```

Keluaran konsol:

```
Starting...
Rtitle is set to: &DATE||Marketing Department||Confidential//Third Quarter//Chicago (Changes will take effect after RFORMAT is
switched ON)
Target width is 70.
Rformat is on.
09/11/20       Marketing       Department Confidential
                  Third Quarter
                     Chicago
id  | bankid  | name |      start_date
100 |       1 | USD | 2020-09-11 10:51:39.106905
110 |       1 | EUR | 2020-09-11 10:51:39.106905
(2 rows)

Press any key to continue . . .
```

## MAXERROR
<a name="rsql-query-tool-describe-rset-maxerror"></a>

Menentukan tingkat keparahan kesalahan maksimum di luar mana RSQL menghentikan pemrosesan pekerjaan. Kode pengembalian adalah nilai integer yang RSQL kembali ke sistem operasi klien setelah menyelesaikan setiap pekerjaan atau tugas. Nilai kode pengembalian menunjukkan status penyelesaian pekerjaan atau tugas. Jika skrip berisi pernyataan yang menghasilkan tingkat keparahan kesalahan lebih besar dari `maxerror` nilai yang ditentukan, RSQL segera keluar. Oleh karena itu, untuk memiliki RSQL keluar pada tingkat keparahan kesalahan 8, gunakan. `RSET MAXERROR 7`

konten maxerror\$101.sql:

```
\rset maxerror 0
                        
select 1 as col;

\quit
```

Keluaran konsol:

```
Maxerror is default.
(1 row)

col
1
```

## RFORMAT
<a name="rsql-query-tool-describe-rset-heading-rformat"></a>

Memungkinkan pengguna untuk menentukan apakah akan menerapkan pengaturan untuk perintah pemformatan.

konten rset\$1rformat.rsql:

```
\remark Starting...
\pset border 2
\pset format wrapped
\pset expanded on
\pset title 'Great Title'
select * from rsql_test.tbl_long where id = 500;
\rset rformat
select * from rsql_test.tbl_long where id = 500;
\rset rformat off
select * from rsql_test.tbl_long where id = 500;
\rset rformat on
select * from rsql_test.tbl_long where id = 500;
\exit
\remark Finishing...
```

Keluaran konsol:

```
Starting...
Border style is 2. (Changes will take effect after RFORMAT is switched ON)
Output format is wrapped. (Changes will take effect after RFORMAT is switched ON)
Expanded display is on. (Changes will take effect after RFORMAT is switched ON)
Title is "Great Title". (Changes will take effect after RFORMAT is switched ON)
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular
format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+

Rformat is off.
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+
Press any key to continue . . .
```

## ROW\$1COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Mendapat jumlah catatan yang dipengaruhi oleh kueri sebelumnya. Ini biasanya digunakan untuk memeriksa hasil, seperti dalam fragmen kode berikut:

```
SET result = ROW_COUNT;

IF result = 0
...
```

## TITLEDASHES
<a name="rsql-query-tool-describe-rset-heading-titledashes"></a>

Kontrol ini memungkinkan pengguna untuk menentukan apakah garis karakter dasbor akan dicetak di atas data kolom yang dikembalikan untuk pernyataan SQL.

Contoh:

```
\rset titledashes on
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
\rset titledashes off
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
```

Keluaran konsol:

```
dept_no      emp_no          salary
----------- ----------- --------------------
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00

dept_no     emp_no         salary
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00
```

## LEBAR
<a name="rsql-query-tool-describe-rset-heading-width"></a>

Menetapkan format output untuk dibungkus dan menentukan lebar target untuk setiap baris dalam laporan. Tanpa parameter, ia mengembalikan pengaturan saat ini untuk format dan lebar target.

konten rset\$1width\$101.rsql:

```
\echo Starting...
\rset width
\rset width 50
\rset width
\quit
\echo Finishing...
```

Keluaran konsol:

```
Starting...
Target width is 75.
Target width is 50.
Target width is 50.
Press any key to continue . . .
```

Contoh dengan parameter:

```
\echo Starting...
\rset rformat on
\pset format wrapped
select * from rsql_test.tbl_long where id = 500;
\rset width 50
select * from rsql_test.tbl_long where id = 500;
\quit
\echo Finishing...
```

Keluaran konsol:

```
Starting...
Rformat is on.
Output format is wrapped.
id  |                                          long_string
500 | In general, the higher the number the more borders and lines the ta.
    |.bles will have, but details depend on the particular format.
(1 row)

Target width is 50.
id  |                                          long_string
500 | In general, the higher the number the more.
    |. borders and lines the tables will have, b.
    |.ut details depend on the particular format.
    |..
(1 row)
Press any key to continue . . .
```

# Kode kesalahan Amazon Redshift RSQL
<a name="rsql-query-tool-error-codes"></a>

Pesan sukses, peringatan, dan pengecualian:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Pengecualian data:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Pelanggaran kendala integritas:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

# Variabel lingkungan Amazon Redshift RSQL
<a name="rsql-query-tool-environment-variables"></a>

 Amazon Redshift RSQL dapat menggunakan variabel lingkungan untuk memilih nilai parameter default. 

## RSPASSWORD
<a name="rsql-query-tool-rspassword"></a>

**penting**  
Kami tidak menyarankan menggunakan variabel lingkungan ini untuk alasan keamanan, karena beberapa sistem operasi memungkinkan pengguna non-administratif untuk melihat variabel lingkungan proses.

 Menetapkan kata sandi untuk Amazon Redshift RSQL untuk digunakan saat menghubungkan ke Amazon Redshift. Variabel lingkungan ini memerlukan Amazon Redshift RSQL 1.0.4 ke atas. 

 RSQL memprioritaskan RSPASSWORD jika ada yang disetel. Jika RSPASSWORD tidak disetel dan Anda terhubung menggunakan DSN, RSQL mengambil kata sandi dari parameter file DSN. Akhirnya, jika RSPASSWORD tidak diatur dan Anda tidak menggunakan DSN, RSQL menyediakan prompt kata sandi setelah mencoba untuk terhubung. 

Berikut ini adalah contoh pengaturan RSPASSWORD:

```
export RSPASSWORD=TestPassw0rd
```