View a markdown version of this page

Tipe data yang didukung di Aurora DSQL - Amazon Aurora DSQL

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

Tipe data yang didukung di Aurora DSQL

Aurora DSQL mendukung subset dari jenis PostgreSQL umum.

Jenis data numerik

Aurora DSQL mendukung tipe data numerik PostgreSQL berikut.

Nama Alias Rentang dan presisi Ukuran penyimpanan Dukungan indeks
smallint int2 -32768 ke +32767 2 byte Ya

integer

int, int4

-2147483648 ke +2147483647

4 byte

Ya

bigint

int8

-9223372036854775808 ke +9223372036854775807

8 byte

Ya

real

float4

6 digit desimal presisi

4 byte

Ya

double precision

float8

15 digit desimal presisi

8 byte

Ya

numeric [ (p, s) ]

decimal [ (p, s) ]

dec[ (p,s)]

Numerik yang tepat dari presisi yang dapat dipilih. Presisi maksimum adalah 38 dan skala maksimum adalah 37. 1 Defaultnya adalahnumeric (18,6).

8 byte+2 byte per digit presisi. Ukuran maksimum adalah 27 byte.

Ya

1— Jika Anda tidak secara eksplisit menentukan ukuran saat Anda menjalankan CREATE TABLE atau, ALTER TABLE ADD COLUMN Aurora DSQL memberlakukan default. Aurora DSQL menerapkan batasan saat Anda menjalankan atau pernyataan. INSERT UPDATE

Tipe data karakter

Aurora DSQL mendukung tipe data karakter PostgreSQL berikut.

Nama Alias Deskripsi Batas Aurora DSQL Ukuran penyimpanan Dukungan indeks

character [ (n) ]

char [ (n) ]

Fixed-length string karakter

4096 byte 1

Variabel hingga 4100 byte

Ya

character varying [ (n) ]

varchar [ (n) ]

Variable-length string karakter

65535 byte 1

Variabel hingga 65539 byte

Ya

bpchar [ (n) ]

Jika panjang tetap, ini adalah alias untukchar. Jika panjang variabel, ini adalah alias untukvarchar, di mana spasi tambahan secara semantik tidak signifikan.

4096 byte 1

Variabel hingga 4100 byte

Ya

text

Variable-length string karakter

1 MiB 1

Variabel hingga 1 MiB

Ya

1— Jika Anda tidak secara eksplisit menentukan ukuran ketika Anda menjalankan CREATE TABLE atauALTER TABLE ADD COLUMN, maka Aurora DSQL memberlakukan default. Aurora DSQL menerapkan batasan saat Anda menjalankan atau pernyataan. INSERT UPDATE

Jenis data tanggal dan waktu

Aurora DSQL mendukung tipe data tanggal dan waktu PostgreSQL berikut.

Nama Alias Deskripsi Kisaran Resolusi Ukuran penyimpanan Dukungan indeks

date

Tanggal kalender (tahun, bulan, hari)

4713 SM — 5874897 IKLAN

1 hari

4 byte

Ya

time [ (p) ] [ without time zone ]

Waktu hari, tanpa zona waktu

00:00:00 — 24:00:00

1 mikrodetik

8 byte

Ya

time [ (p) ] with time zone

timetz

waktu hari, termasuk zona waktu

00:00:00 +1559 — 24:00:00 —1559

1 mikrodetik

12 byte

Tidak

timestamp [ (p) ] [ without time zone ]

Tanggal dan waktu, tanpa zona waktu

4713 SM — 294276 IKLAN 1 mikrodetik

8 byte

Ya

timestamp [ (p) ] with time zone

timestamptz

Tanggal dan waktu, termasuk zona waktu

4713 SM — 294276 IKLAN 1 mikrodetik

8 byte

Ya

interval [ fields ] [ (p) ]

Rentang waktu

-178000000 tahun — 178000000 tahun 1 mikrodetik

16 byte

Tidak

Jenis data lain-lain

Aurora DSQL mendukung berbagai jenis data PostgreSQL berikut.

Nama Alias Deskripsi Batas Aurora DSQL Ukuran penyimpanan Dukungan indeks

boolean

bool

Logis Boolean () true/false

1 byte

Ya

bytea

Data biner (“array byte”)

1 MiB 1

Variabel hingga batas 1 MiB

Tidak

UUID

Pengidentifikasi unik secara universal

16 byte

Ya

json

Data JSON

1 MiB 2

Variabel hingga batas 1 MiB. 2

Tidak

jsonb

Data JSON biner

1 MiB 2

Variabel hingga batas 1 MiB. 2

Tidak

1— Jika Anda tidak secara eksplisit menentukan ukuran ketika Anda menjalankan CREATE TABLE atauALTER TABLE ADD COLUMN, maka Aurora DSQL memberlakukan default. Aurora DSQL menerapkan batasan saat Anda menjalankan atau pernyataan. INSERT UPDATE

2— Aurora DSQL secara otomatis menerapkan kompresi ke besar json dan jsonb nilai selama dan operasi. INSERT UPDATE Batas 1 MiB berlaku untuk ukuran terkompresi, sehingga Anda dapat menyimpan json dan jsonb nilai secara signifikan lebih besar dari 1 MiB selama mereka mengompres di bawah batas.

Untuk menonaktifkan kompresi, gunakan STORAGE kata kunci. Untuk informasi selengkapnya, lihat CREATE TABLE dan ALTER TABLE.

Fungsi dan operator JSON

Aurora DSQL mendukung semua fungsi dan operator PostgreSQL JSON dari bagian 9.16 Fungsi dan Operator JSON dengan perilaku yang identik.

catatan

Fungsijson_populate_record,, json_populate_recordsetjsonb_populate_record, dan jsonb_populate_recordset bekerja dengan tipe baris tabel dan tampilan, tetapi tidak dengan tipe komposit khusus karena Aurora DSQL saat ini tidak mendukung. CREATE TYPE

Contoh berikut menunjukkan json_populate_record dan jsonb_populate_recordset digunakan dengan tipe baris tabel:

CREATE TABLE tt (c1 INT, c2 INT); SELECT * FROM json_populate_record(null::tt, '{"c1": 1, "c2": 2}');
 c1 | c2
----+----
  1 |  2
(1 row)
SELECT * FROM jsonb_populate_recordset(null::tt, '[{"c1":1,"c2":2}, {"c1":3,"c2":4}]');
 c1 | c2 
----+----
  1 |  2
  3 |  4
(2 rows)

Jenis data runtime kueri

Query tipe data runtime adalah tipe data internal yang digunakan pada waktu eksekusi query. Jenis ini berbeda dari PostgreSQL-compatible jenis seperti varchar dan integer yang Anda tentukan dalam skema Anda. Sebagai gantinya, jenis ini adalah representasi runtime yang digunakan Aurora DSQL saat memproses kueri.

Tipe data berikut hanya didukung selama runtime kueri:

Jenis array

Aurora DSQL mendukung array dari tipe data yang didukung. Misalnya, Anda dapat memiliki array bilangan bulat. Fungsi string_to_array membagi string menjadi PostgreSQL-style array dengan pembatas koma (,) seperti yang ditunjukkan pada contoh berikut. Anda dapat menggunakan array dalam ekspresi, output fungsi, atau perhitungan sementara selama eksekusi kueri.

SELECT string_to_array('1,2', ',');

Fungsi mengembalikan respon yang mirip dengan berikut ini:

 string_to_array
-----------------
 {1,2}
(1 row)
jenis inet

Tipe data mewakili IPv4, alamat host IPv6, dan subnetnya. Jenis ini berguna saat mengurai log, memfilter pada subnet IP, atau melakukan perhitungan jaringan dalam kueri. Untuk informasi selengkapnya, lihat inet di dokumentasi PostgreSQL.