

 Amazon Redshift tidak akan lagi mendukung pembuatan UDF Python baru mulai Patch 198. UDF Python yang ada 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.

# SET
<a name="r_SET"></a>

Menetapkan nilai parameter konfigurasi server. Gunakan perintah SET untuk mengganti pengaturan selama sesi atau transaksi saat ini saja.

Gunakan [ATUR ULANG](r_RESET.md) perintah untuk mengembalikan parameter ke nilai defaultnya. 

Anda dapat mengubah parameter konfigurasi server dengan beberapa cara. Untuk informasi selengkapnya, lihat [Memodifikasi konfigurasi server](cm_chap_ConfigurationRef.md#t_Modifying_the_default_settings). 

## Sintaks
<a name="r_SET-synopsis"></a>

```
SET { [ SESSION | LOCAL ]
{ SEED | parameter_name } { TO | = }
{ value | 'value' | DEFAULT } |
SEED TO value }
```

Pernyataan berikut menetapkan nilai variabel konteks sesi.

```
SET { [ SESSION | LOCAL ]
variable_name { TO | = }
{ value | 'value'  }
```

## Parameter
<a name="r_SET-parameters"></a>

SESI   
Menentukan bahwa pengaturan ini valid untuk sesi saat ini. Nilai default.

*variable\_name*   
Menentukan nama variabel konteks yang ditetapkan untuk sesi.  
Konvensi penamaan adalah nama dua bagian yang dipisahkan oleh titik, misalnya *identifier.identifier*. Hanya satu pemisah titik yang diizinkan. Gunakan *pengenal* yang mengikuti aturan pengenal standar untuk Amazon Redshift Untuk informasi selengkapnya, lihat. [Nama dan pengenal](r_names.md) Pengidentifikasi yang dibatasi tidak diizinkan.

LOKAL   
Menentukan bahwa pengaturan ini berlaku untuk transaksi saat ini. 

*Nilai* SEED TO   
Menetapkan benih internal yang akan digunakan oleh fungsi RANDOM untuk pembuatan bilangan acak.  
SET SEED mengambil *nilai* numerik antara 0 dan 1, dan mengalikan angka ini dengan (2 31 -1) untuk digunakan dengan fungsi. [fungsi RANDOM](r_RANDOM.md) Jika Anda menggunakan SET SEED sebelum melakukan beberapa panggilan RANDOM, RANDOM menghasilkan angka dalam urutan yang dapat diprediksi.

 *parameter\_name*   
Nama parameter yang akan ditetapkan. Lihat [Memodifikasi konfigurasi server](cm_chap_ConfigurationRef.md#t_Modifying_the_default_settings) untuk informasi tentang parameter.

 *nilai*   
Nilai parameter baru. Gunakan tanda kutip tunggal untuk mengatur nilai ke string tertentu. Jika menggunakan SET SEED, parameter ini berisi nilai SEED. 

DEFAULT   
Menetapkan parameter ke nilai default.

## Contoh
<a name="r_SET-examples"></a>

 **Mengubah parameter untuk sesi saat ini** 

Contoh berikut menetapkan datestyle:

```
set datestyle to 'SQL,DMY';
```

 **Menyetel grup kueri untuk manajemen beban kerja** 

Jika grup kueri tercantum dalam definisi antrian sebagai bagian dari konfigurasi WLM cluster, Anda dapat mengatur parameter QUERY\_GROUP ke nama grup kueri yang terdaftar. Kueri berikutnya ditetapkan ke antrian kueri terkait. Pengaturan QUERY\_GROUP tetap berlaku selama durasi sesi atau sampai perintah RESET QUERY\_GROUP ditemui.

Contoh ini menjalankan dua kueri sebagai bagian dari grup kueri 'prioritas', lalu mengatur ulang grup kueri. 

```
set query_group to 'priority';
select tbl, count(*)from stv_blocklist;
select query, elapsed, substring from svl_qlog order by query desc limit 5;
reset query_group;
```

Untuk informasi selengkapnya, lihat [Manajemen beban kerja](cm-c-implementing-workload-management.md). 

 **Mengubah namespace identitas default untuk sesi** 

Seorang pengguna database dapat mengatur`default_identity_namespace`. Contoh ini menunjukkan cara menggunakan `SET SESSION` untuk mengganti setelan selama durasi sesi saat ini dan kemudian menampilkan nilai penyedia identitas baru. Ini paling sering digunakan saat Anda menggunakan penyedia identitas dengan Redshift dan IAM Identity Center. Untuk informasi selengkapnya tentang penggunaan penyedia identitas dengan Redshift, lihat Connect [Redshift dengan IAM Identity Center untuk memberikan pengalaman masuk tunggal kepada pengguna](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-idp-connect.html).

```
SET SESSION default_identity_namespace = 'MYCO';
         
SHOW default_identity_namespace;
```

Setelah menjalankan perintah, Anda dapat menjalankan pernyataan GRANT atau pernyataan CREATE seperti berikut:

```
GRANT SELECT ON TABLE mytable TO alice;

GRANT UPDATE ON TABLE mytable TO salesrole;
         
CREATE USER bob password 'md50c983d1a624280812631c5389e60d48c';
```

Dalam hal ini, efek pengaturan namespace identitas default setara dengan awalan setiap identitas dengan namespace. Dalam contoh `alice` ini, diganti dengan`MYCO:alice`. Untuk informasi selengkapnya tentang pengaturan yang berkaitan dengan konfigurasi Redshift dengan IAM Identity Center, lihat dan. [MENGUBAH SISTEM](r_ALTER_SYSTEM.md) [MENGUBAH PENYEDIA IDENTITAS](r_ALTER_IDENTITY_PROVIDER.md)

 **Menyetel label untuk sekelompok kueri** 

Parameter QUERY\_GROUP mendefinisikan label untuk satu atau beberapa kueri yang dijalankan dalam sesi yang sama setelah perintah SET. Pada gilirannya, label ini dicatat ketika kueri dijalankan dan dapat digunakan untuk membatasi hasil yang dikembalikan dari tabel sistem STL\_QUERY dan STV\_INFLIGHT dan tampilan SVL\_QLOG. 

```
show query_group;
query_group
-------------
unset
(1 row)

set query_group to '6 p.m.';


show query_group;
query_group
-------------
6 p.m.
(1 row)

select * from sales where salesid=500;
salesid | listid | sellerid | buyerid | eventid | dateid | ...
---------+--------+----------+---------+---------+--------+-----
500 |    504 |     3858 |    2123 |    5871 |   2052 | ...
(1 row)

reset query_group;

select query, trim(label) querygroup, pid, trim(querytxt) sql
from stl_query
where label ='6 p.m.';
query | querygroup |  pid  |                  sql
-------+------------+-------+----------------------------------------
57 | 6 p.m.     | 30711 | select * from sales where salesid=500;
(1 row)
```

Label grup kueri adalah mekanisme yang berguna untuk mengisolasi kueri individu atau grup kueri yang dijalankan sebagai bagian dari skrip. Anda tidak perlu mengidentifikasi dan melacak kueri berdasarkan ID mereka; Anda dapat melacak mereka dengan label mereka.

 **Menetapkan nilai benih untuk pembuatan bilangan acak** 

Contoh berikut menggunakan opsi SEED dengan SET untuk menyebabkan fungsi RANDOM menghasilkan angka dalam urutan yang dapat diprediksi.

Pertama, kembalikan tiga bilangan bulat RANDOM tanpa mengatur nilai SEED terlebih dahulu: 

```
select cast (random() * 100 as int);
int4
------
6
(1 row)

select cast (random() * 100 as int);
int4
------
68
(1 row)

select cast (random() * 100 as int);
int4
------
56
(1 row)
```

Sekarang, atur nilai SEED ke`.25`, dan kembalikan tiga angka RANDOM lagi: 

```
set seed to .25;

select cast (random() * 100 as int);
int4
------
21
(1 row)

select cast (random() * 100 as int);
int4
------
79
(1 row)

select cast (random() * 100 as int);
int4
------
12
(1 row)
```

Terakhir, setel ulang nilai SEED ke`.25`, dan verifikasi bahwa RANDOM mengembalikan hasil yang sama dengan tiga panggilan sebelumnya: 

```
set seed to .25;

select cast (random() * 100 as int);
int4
------
21
(1 row)

select cast (random() * 100 as int);
int4
------
79
(1 row)

select cast (random() * 100 as int);
int4
------
12
(1 row)
```

Contoh berikut menetapkan variabel konteks yang disesuaikan. 

```
SET app_context.user_id TO 123;
SET app_context.user_id TO 'sample_variable_value';
```