全部产品
Search
文档中心

AnalyticDB:Sintaks SQL

更新时间:Jul 06, 2025

Topik ini menjelaskan pernyataan SQL yang tersedia di AnalyticDB for PostgreSQL, serta sintaks dari masing-masing pernyataan tersebut.

Catatan

Beberapa pernyataan tidak didukung untuk AnalyticDB for PostgreSQL dalam mode Serverless. Untuk informasi lebih lanjut, lihat mode Serverless.

ABORT

Mengakhiri transaksi saat ini.

ABORT [WORK | TRANSACTION]

Untuk informasi lebih lanjut, lihat ABORT.

ALTER AGGREGATE

Mengubah definisi fungsi agregat.

ALTER AGGREGATE nama ( tipe [ , ... ] ) RENAME TO nama_baru
ALTER AGGREGATE nama ( tipe [ , ... ] ) OWNER TO pemilik_baru
ALTER AGGREGATE nama ( tipe [ , ... ] ) SET SCHEMA skema_baru

Untuk informasi lebih lanjut, lihat ALTER AGGREGATE.

ALTER CONVERSION

Mengubah definisi konversi.

ALTER CONVERSION nama RENAME TO namabaru
ALTER CONVERSION nama OWNER TO pemilikbaru

Untuk informasi lebih lanjut, lihat ALTER CONVERSION.

ALTER DATABASE

Mengubah atribut database.

ALTER DATABASE nama [ WITH CONNECTION LIMIT batas_koneksi ]
ALTER DATABASE nama SET parameter { TO | = } { nilai | DEFAULT }
ALTER DATABASE nama RESET parameter
ALTER DATABASE nama RENAME TO nama_baru
ALTER DATABASE nama OWNER TO pemilik_baru

Untuk informasi lebih lanjut, lihat ALTER DATABASE.

ALTER DOMAIN

Mengubah definisi domain.

ALTER DOMAIN nama { SET DEFAULT ekspresi | DROP DEFAULT }
ALTER DOMAIN nama { SET | DROP } NOT NULL
ALTER DOMAIN nama ADD kendala_domain
ALTER DOMAIN nama DROP CONSTRAINT nama_kendala [RESTRICT | CASCADE]
ALTER DOMAIN nama OWNER TO pemilik_baru
ALTER DOMAIN nama SET SCHEMA skema_baru

Untuk informasi lebih lanjut, lihat ALTER DOMAIN.

ALTER EXTERNAL TABLE

Mengubah definisi tabel eksternal.

ALTER EXTERNAL TABLE nama RENAME [COLUMN] kolom TO kolom_baru
ALTER EXTERNAL TABLE nama RENAME TO nama_baru
ALTER EXTERNAL TABLE nama SET SCHEMA skema_baru
ALTER EXTERNAL TABLE nama aksi [, ... ]

Untuk informasi lebih lanjut, lihat ALTER EXTERNAL TABLE.

ALTER FUNCTION

Mengubah definisi fungsi.

ALTER FUNCTION nama ( [ [argmode] [argname] argtype [, ...] ] ) 
   aksi [, ... ] [RESTRICT]
ALTER FUNCTION nama ( [ [argmode] [argname] argtype [, ...] ] )
   RENAME TO nama_baru
ALTER FUNCTION nama ( [ [argmode] [argname] argtype [, ...] ] ) 
   OWNER TO pemilik_baru
ALTER FUNCTION nama ( [ [argmode] [argname] argtype [, ...] ] ) 
   SET SCHEMA skema_baru

Untuk informasi lebih lanjut, lihat ALTER FUNCTION.

ALTER GROUP

Mengubah nama peran atau keanggotaannya.

ALTER GROUP nama_grup ADD USER nama_pengguna [, ... ]
ALTER GROUP nama_grup DROP USER nama_pengguna [, ... ]
ALTER GROUP nama_grup RENAME TO namabaru

Untuk informasi lebih lanjut, lihat ALTER GROUP.

ALTER INDEX

Mengubah definisi indeks.

ALTER INDEX nama RENAME TO nama_baru
ALTER INDEX nama SET TABLESPACE nama_tablespace
ALTER INDEX nama SET ( FILLFACTOR = nilai )
ALTER INDEX nama RESET ( FILLFACTOR )

Untuk informasi lebih lanjut, lihat ALTER INDEX.

ALTER OPERATOR

Mengubah definisi operator.

ALTER OPERATOR nama ( {lefttype | NONE} , {righttype | NONE} ) 
   OWNER TO pemilikbaru

Untuk informasi lebih lanjut, lihat ALTER OPERATOR.

ALTER RESOURCE QUEUE

Mengubah batasan antrian sumber daya.

ALTER RESOURCE QUEUE nama WITH ( atribut_antrian=nilai [, ... ] )

Untuk informasi lebih lanjut, lihat ALTER RESOURCE QUEUE.

ALTER ROLE

Mengubah peran database (pengguna atau grup).

ALTER ROLE nama [ [ WITH ] opsi [ ... ] ]

DIMANA opsi dapat berupa:
 SUPERUSER | NOSUPERUSER
 | CREATEDB | NOCREATEDB
 | CREATEROLE | NOCREATEROLE
 | CREATEEXTTABLE | NOCREATEEXTTABLE [ ( atribut='nilai' [, ...] )
 DIMANA atribut dan nilai adalah:
 type='readable'|'writable'
 protocol='gpfdist'|'http'
 | INHERIT | NOINHERIT
 | LOGIN | NOLOGIN
 | REPLICATION | NOREPLICATION
 | CONNECTION LIMIT batas_koneksi
 | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'kata sandi'
 | VALID UNTIL 'timestamp'
ALTER ROLE nama RENAME TO nama_baru
ALTER ROLE { nama | ALL } [ IN DATABASE nama_database ]
 SET parameter_konfigurasi { TO | = } { nilai | DEFAULT }
ALTER ROLE { nama | ALL } [ IN DATABASE nama_database ]
 SET parameter_konfigurasi FROM CURRENT
ALTER ROLE { nama | ALL } [ IN DATABASE nama_database ]
 RESET parameter_konfigurasi
ALTER ROLE { nama | ALL } [ IN DATABASE nama_database ] RESET ALL
ALTER ROLE nama RESOURCE QUEUE {nama_antrian | NONE}
ALTER ROLE nama RESOURCE GROUP {nama_grup | NONE}

Untuk informasi lebih lanjut, lihat ALTER ROLE.

ALTER SCHEMA

Mengubah definisi skema.

ALTER SCHEMA nama RENAME TO namabaru

ALTER SCHEMA nama OWNER TO pemilikbaru

Untuk informasi lebih lanjut, lihat ALTER SCHEMA.

ALTER SEQUENCE

Mengubah definisi generator urutan.

ALTER SEQUENCE nama [INCREMENT [ BY ] penambahan] 
     [MINVALUE minvalue | NO MINVALUE] 
     [MAXVALUE maxvalue | NO MAXVALUE] 
     [RESTART [ WITH ] mulai] 
     [CACHE cache] [[ NO ] CYCLE] 
     [OWNED BY {tabel.kolom | NONE}]
ALTER SEQUENCE nama SET SCHEMA skema_baru

Untuk informasi lebih lanjut, lihat ALTER SEQUENCE.

ALTER TABLE

Mengubah definisi tabel.

ALTER TABLE [ONLY] nama RENAME [COLUMN] kolom TO kolom_baru

ALTER TABLE nama RENAME TO nama_baru

ALTER TABLE nama SET SCHEMA skema_baru

ALTER TABLE [ONLY] nama SET 
     DISTRIBUTED BY (kolom, [ ... ] ) 
   | DISTRIBUTED RANDOMLY 
   | WITH (REORGANIZE=true|false)

ALTER TABLE [ONLY] nama aksi [, ... ]

ALTER TABLE nama
   [ ALTER PARTITION { nama_partisi | FOR (RANK(nomor)) 
   | FOR (nilai) } aksi_partisi [...] ] 
   aksi_partisi

Untuk informasi lebih lanjut, lihat ALTER TABLE.

ALTER TYPE

Mengubah definisi tipe data.

ALTER TYPE nama
   OWNER TO pemilik_baru | SET SCHEMA skema_baru

Untuk informasi lebih lanjut, lihat ALTER TYPE.

ALTER USER

Mengubah definisi peran database (pengguna).

ALTER USER nama RENAME TO namabaru

ALTER USER nama SET parameter_konfigurasi {TO | =} {nilai | DEFAULT}

ALTER USER nama RESET parameter_konfigurasi

ALTER USER nama [ [WITH] opsi [ ... ] ]

Untuk informasi lebih lanjut, lihat ALTER USER.

ANALYZE

Mengumpulkan statistik tentang database.

ANALYZE [VERBOSE] [ROOTPARTITION [ALL] ] 
   [tabel [ (kolom [, ...] ) ]]

Untuk informasi lebih lanjut, lihat ANALYZE.

BEGIN

Memulai blok transaksi.

BEGIN [WORK | TRANSACTION] [mode_transaksi]
      [READ ONLY | READ WRITE]

Untuk informasi lebih lanjut, lihat BEGIN.

CHECKPOINT

Memaksa checkpoint log transaksi.

CHECKPOINT

Untuk informasi lebih lanjut, lihat CHECKPOINT.

CLOSE

Menonaktifkan kursor.

CLOSE nama_kursor

Untuk informasi lebih lanjut, lihat CLOSE.

CLUSTER

Secara fisik mengurutkan ulang tabel penyimpanan heap di disk berdasarkan indeks. Kami menyarankan agar Anda tidak menggunakan pernyataan ini.

CLUSTER nama_indeks ON nama_tabel

CLUSTER nama_tabel

CLUSTER

Untuk informasi lebih lanjut, lihat CLUSTER.

COMMENT

Mendefinisikan atau mengubah komentar objek.

COMMENT ON
{ TABLE nama_objek |
  COLUMN nama_tabel.nama_kolom |
  AGGREGATE nama_agg (agg_type [, ...]) |
  CAST (tipe_asal AS tipe_tujuan) |
  CONSTRAINT nama_kendala ON nama_tabel |
  CONVERSION nama_objek |
  DATABASE nama_objek |
  DOMAIN nama_objek |
  FILESPACE nama_objek |
  FUNCTION nama_func ([[argmode] [argname] argtype [, ...]]) |
  INDEX nama_objek |
  LARGE OBJECT oid_objek_besar |
  OPERATOR op (tipe_operand_kiri, tipe_operand_kanan) |
  OPERATOR CLASS nama_objek USING metode_indeks |
  [PROCEDURAL] LANGUAGE nama_objek |
  RESOURCE QUEUE nama_objek |
  ROLE nama_objek |
  RULE nama_rule ON nama_tabel |
  SCHEMA nama_objek |
  SEQUENCE nama_objek |
  TABLESPACE nama_objek |
  TRIGGER nama_trigger ON nama_tabel |
  TYPE nama_objek |
  VIEW nama_objek } 
IS 'teks'

Untuk informasi lebih lanjut, lihat COMMENT.

COMMIT

Mengonfirmasi transaksi saat ini.

COMMIT [WORK | TRANSACTION]

Untuk informasi lebih lanjut, lihat COMMIT.

COPY

Menyalin data antara file dan tabel.

COPY tabel [(kolom [, ...])] FROM {'file' | STDIN}
     [ [WITH] 
       [BINARY]
       [OIDS]
       [HEADER]
       [DELIMITER [ AS ] 'pemisah']
       [NULL [ AS ] 'string_null']
       [ESCAPE [ AS ] 'escape' | 'OFF']
       [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
       [CSV [QUOTE [ AS ] 'quote'] 
            [FORCE NOT NULL kolom [, ...]]
       [FILL MISSING FIELDS]
       [[LOG ERRORS]  
       SEGMENT REJECT LIMIT jumlah [ROWS | PERCENT] ]

COPY {tabel [(kolom [, ...])] | (query)} TO {'file' | STDOUT}
      [ [WITH] 
        [ON SEGMENT]
        [BINARY]
        [OIDS]
        [HEADER]
        [DELIMITER [ AS ] 'pemisah']
        [NULL [ AS ] 'string_null']
        [ESCAPE [ AS ] 'escape' | 'OFF']
        [CSV [QUOTE [ AS ] 'quote'] 
             [FORCE QUOTE kolom [, ...]] ]
      [IGNORE EXTERNAL PARTITIONS ]

Untuk informasi lebih lanjut, lihat COPY.

CREATE AGGREGATE

Membuat fungsi agregat.

CREATE [ORDERED] AGGREGATE nama (tipe_data_input [ , ... ]) 
      ( SFUNC = sfunc,
        STYPE = tipe_data_status
        [, PREFUNC = prefunc]
        [, FINALFUNC = ffunc]
        [, INITCOND = kondisi_awal]
        [, SORTOP = operator_sortir] )

Untuk informasi lebih lanjut, lihat CREATE AGGREGATE.

CREATE CAST

Membuat cast.

CREATE CAST (tipe_asal AS tipe_tujuan) 
       WITH FUNCTION nama_func (argtypes) 
       [AS ASSIGNMENT | AS IMPLICIT]

CREATE CAST (tipe_asal AS tipe_tujuan) WITHOUT FUNCTION 
       [AS ASSIGNMENT | AS IMPLICIT]

Untuk informasi lebih lanjut, lihat CREATE CAST.

CREATE CONVERSION

Membuat konversi pengkodean.

CREATE [DEFAULT] CONVERSION nama FOR pengkodean_asal TO 
     pengkodean_tujuan FROM nama_func

Untuk informasi lebih lanjut, lihat CREATE CONVERSION.

CREATE DATABASE

Membuat database.

CREATE DATABASE nama [ [WITH] [OWNER [=] pemilikdb]
                     [TEMPLATE [=] template]
                     [ENCODING [=] pengkodean]
                     [CONNECTION LIMIT [=] batas_koneksi ] ]

Untuk informasi lebih lanjut, lihat CREATE DATABASE.

CREATE DOMAIN

Membuat domain.

CREATE DOMAIN nama [AS] tipe_data [DEFAULT ekspresi] 
       [CONSTRAINT nama_kendala
       | NOT NULL | NULL 
       | CHECK (ekspresi) [...]]

Untuk informasi lebih lanjut, lihat CREATE DOMAIN.

CREATE EXTENSION

Membuat ekstensi dalam database.

CREATE EXTENSION [ IF NOT EXISTS ] nama_ekstensi
  [ WITH ] [ SCHEMA skema ]
           [ VERSION versi ]
           [ FROM versi_lama ]
           [ CASCADE ]

Untuk informasi lebih lanjut, lihat CREATE EXTENSION.

CREATE EXTERNAL TABLE

Membuat tabel eksternal.

CREATE [READABLE] EXTERNAL TABLE nama_tabel
( nama_kolom tipe_data [, ...] | LIKE tabel_lain )
LOCATION ('protokol_oss')
FORMAT 'TEXT'
            [( [HEADER]
               [DELIMITER [AS] 'pemisah' | 'OFF']
               [NULL [AS] 'string_null']
               [ESCAPE [AS] 'escape' | 'OFF']
               [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
               [FILL MISSING FIELDS] )]
           | 'CSV'
            [( [HEADER]
               [QUOTE [AS] 'quote']
               [DELIMITER [AS] 'pemisah']
               [NULL [AS] 'string_null']
               [FORCE NOT NULL kolom [, ...]]
               [ESCAPE [AS] 'escape']
               [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
               [FILL MISSING FIELDS] )]
[ ENCODING 'pengkodean' ]
[ [LOG ERRORS [INTO tabel_error]] SEGMENT REJECT LIMIT jumlah
       [ROWS | PERCENT] ]
CREATE WRITABLE EXTERNAL TABLE nama_tabel
( nama_kolom tipe_data [, ...] | LIKE tabel_lain )
LOCATION ('protokol_oss')
FORMAT 'TEXT'
               [( [DELIMITER [AS] 'pemisah']
               [NULL [AS] 'string_null']
               [ESCAPE [AS] 'escape' | 'OFF'] )]
          | 'CSV'
               [([QUOTE [AS] 'quote']
               [DELIMITER [AS] 'pemisah']
               [NULL [AS] 'string_null']
               [FORCE QUOTE kolom [, ...]] ]
               [ESCAPE [AS] 'escape'] )]
[ ENCODING 'pengkodean' ]
[ DISTRIBUTED BY (kolom, [ ... ] ) | DISTRIBUTED RANDOMLY ]
protokol_oss:
   oss://endpoint_oss prefix=nama_prefix
    id=id_pengguna_oss key=kunci_pengguna_oss bucket=namabucket_oss compressiontype=[none|gzip] async=[true|false]
protokol_oss:
   oss://endpoint_oss dir=[folder/[folder/]...]/nama_file
    id=id_pengguna_oss key=kunci_pengguna_oss bucket=namabucket_oss compressiontype=[none|gzip] async=[true|false]
protokol_oss:
   oss://endpoint_oss filepath=[folder/[folder/]...]/nama_file
id=id_pengguna_oss key=kunci_pengguna_oss bucket=namabucket_oss compressiontype=[none|gzip] async=[true|false]

Untuk informasi lebih lanjut, lihat CREATE EXTERNAL TABLE.

CREATE FUNCTION

Membuat fungsi.

CREATE [OR REPLACE] FUNCTION nama    
    ( [ [argmode] [argname] argtype [ { DEFAULT | = } defexpr ] [, ...] ] )
      [ RETURNS { [ SETOF ] tipe_retur 
        | TABLE ([{ argname argtype | LIKE tabel_lain }
          [, ...]])
        } ]
    { LANGUAGE namabahasa
    | IMMUTABLE | STABLE | VOLATILE
    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
    | [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINE
    | COST biaya_eksekusi
    | SET parameter_konfigurasi { TO nilai | = nilai | FROM CURRENT }
    | AS 'definisi'
    | AS 'file_obj', 'simbol_link' } ...
    [ WITH ({ DESCRIBE = fungsi_deskripsi
           } [, ...] ) ]

Untuk informasi lebih lanjut, lihat CREATE FUNCTION.

CREATE GROUP

Membuat peran database.

CREATE GROUP nama [ [WITH] opsi [ ... ] ]

Untuk informasi lebih lanjut, lihat CREATE GROUP.

CREATE INDEX

Membuat indeks.

CREATE [UNIQUE] INDEX nama ON tabel
       [USING btree|bitmap|gist]
       ( {kolom | (ekspresi)} [opclass] [, ...] )
       [ WITH ( FILLFACTOR = nilai ) ]
       [TABLESPACE tablespace]
       [WHERE predikat]
Catatan

AnalyticDB for PostgreSQL dalam mode Serverless hanya mendukung pembuatan Indeks B-tree.

Untuk informasi lebih lanjut, lihat CREATE INDEX.

CREATE LIBRARY

Membuat paket pustaka kustom.

CREATE LIBRARY nama_pustaka LANGUAGE [JAVA] FROM lokasi_oss OWNER nama_pemilik
CREATE LIBRARY nama_pustaka LANGUAGE [JAVA] VALUES konten_file_hex OWNER nama_pemilik

Untuk informasi lebih lanjut, lihat CREATE LIBRARY.

CREATE OPERATOR

Membuat operator.

CREATE OPERATOR nama ( 
       PROCEDURE = nama_func
       [, LEFTARG = tipe_kiri] [, RIGHTARG = tipe_kanan]
       [, COMMUTATOR = com_op] [, NEGATOR = neg_op]
       [, RESTRICT = res_proc] [, JOIN = join_proc]
       [, HASHES] [, MERGES]
       [, SORT1 = left_sort_op] [, SORT2 = right_sort_op]
       [, LTCMP = less_than_op] [, GTCMP = greater_than_op] )

Untuk informasi lebih lanjut, lihat CREATE OPERATOR.

CREATE RESOURCE QUEUE

Membuat antrian sumber daya.

CREATE RESOURCE QUEUE nama WITH (atribut_antrian=nilai [, ... ])

Untuk informasi lebih lanjut, lihat CREATE RESOURCE QUEUE.

CREATE ROLE

Membuat peran database (pengguna atau grup).

CREATE ROLE nama [[WITH] opsi [ ... ]]

DIMANA opsi dapat berupa:
SUPERUSER | NOSUPERUSER
 | CREATEDB | NOCREATEDB
 | CREATEROLE | NOCREATEROLE
 | CREATEUSER | NOCREATEUSER
 | CREATEEXTTABLE | NOCREATEEXTTABLE
 [ ( atribut='nilai'[, ...] ) ]
 DIMANA atribut dan nilai adalah:
 type='readable'|'writable'
 protocol='gpfdist'|'http'
 | INHERIT | NOINHERIT
 | LOGIN | NOLOGIN
 | REPLICATION | NOREPLICATION
 | CONNECTION LIMIT batas_koneksi
 | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'kata sandi'
 | VALID UNTIL 'timestamp'
 | IN ROLE nama_peran [, ...]
 | ROLE nama_peran [, ...]
 | ADMIN nama_peran [, ...]
 | USER nama_peran [, ...]
 | SYSID uid [, ...]
 | RESOURCE QUEUE nama_antrian
 | RESOURCE GROUP nama_grup
 | [ DENY titik_penolakan ]
 | [ DENY BETWEEN titik_penolakan AND titik_penolakan]

Tabel berikut menjelaskan atribut yang tersedia untuk peran database.

Atribut

Deskripsi

CREATEDB | NOCREATEDB

Menentukan apakah peran diizinkan membuat database. Nilai default: NOCREATEDB.

CREATEROLE | NOCREATEROLE

Menentukan apakah peran diizinkan membuat pengguna. Nilai default: NOCREATEROLE.

INHERIT | NOINHERIT

Menentukan apakah peran mewarisi izin dari grup tempat peran tersebut berada. Nilai default: INHERIT.

LOGIN | NOLOGIN

Menentukan apakah peran memiliki izin logon. Peran yang memiliki izin logon dianggap sebagai pengguna. Peran yang tidak memiliki izin logon dianggap sebagai grup. Pengguna dapat mewarisi izin dari grup tempat ia berada. Nilai default: NOLOGIN.

CONNECTION LIMIT batas_koneksi

Jumlah maksimum koneksi bersamaan yang dapat dibuat oleh peran. Nilai defaultnya adalah -1, yang menunjukkan tidak ada batasan.

CREATEEXTTABLE | NOCREATEEXTTABLE

Menentukan apakah peran diizinkan membuat tabel eksternal. Nilai default: NOCREATEEXTTABLE.

PASSWORD 'kata sandi'

Kata sandi logon peran.

ENCRYPTED | UNENCRYPTED

Menentukan apakah kata sandi logon dienkripsi.

VALID UNTIL 'timestamp'

Waktu kedaluwarsa kata sandi logon.

RESOURCE QUEUE nama_antrian

Nama antrian sumber daya tempat peran berada.

DENY {interval_penolakan | titik_penolakan}

Menolak logon peran pada waktu tertentu atau dalam interval.

Untuk informasi lebih lanjut, lihat CREATE ROLE.

CREATE RULE

Membuat aturan penulisan ulang.

CREATE [OR REPLACE] RULE nama AS ON kejadian
  TO tabel [WHERE kondisi] 
  DO [ALSO | INSTEAD] { NOTHING | perintah | (perintah; perintah 
  ...) }

Untuk informasi lebih lanjut, lihat CREATE RULE.

CREATE SCHEMA

Membuat skema.

CREATE SCHEMA nama_skema [AUTHORIZATION nama_pengguna] 
   [elemen_skema [ ... ]]

CREATE SCHEMA AUTHORIZATION nama_peran [elemen_skema [ ... ]]

Untuk informasi lebih lanjut, lihat CREATE SCHEMA.

CREATE SEQUENCE

Membuat generator urutan.

CREATE [TEMPORARY | TEMP] SEQUENCE nama
       [INCREMENT [BY] nilai] 
       [MINVALUE minvalue | NO MINVALUE] 
       [MAXVALUE maxvalue | NO MAXVALUE] 
       [START [ WITH ] mulai] 
       [CACHE cache] 
       [[NO] CYCLE] 
       [OWNED BY { tabel.kolom | NONE }]

Untuk informasi lebih lanjut, lihat CREATE SEQUENCE.

CREATE TABLE

Membuat tabel.

CREATE [[GLOBAL | LOCAL] {TEMPORARY | TEMP}] TABLE nama_tabel ( 
[ { nama_kolom tipe_data [ DEFAULT ekspresi_default ] 
   [kendala_kolom [ ... ]
[ ENCODING ( direktif_penyimpanan [,...] ) ]
] 
   | kendala_tabel
   | LIKE tabel_lain [{INCLUDING | EXCLUDING} 
                      {DEFAULTS | CONSTRAINTS}] ...}
   [, ... ] ]
   )
   [ INHERITS ( tabel_induk [, ... ] ) ]
   [ WITH ( parameter_penyimpanan=nilai [, ... ] )
   [ ON COMMIT {PRESERVE ROWS | DELETE ROWS | DROP} ]
   [ DISTRIBUTED BY (kolom, [ ... ] ) | DISTRIBUTED RANDOMLY ]
   [ PARTITION BY tipe_partisi (kolom)
       [ SUBPARTITION BY tipe_partisi (kolom) ] 
          [ SUBPARTITION TEMPLATE ( spesifikasi_template ) ]
       [...]
    ( spesifikasi_partisi ) 
        | [ SUBPARTITION BY tipe_partisi (kolom) ]
          [...]
    ( spesifikasi_partisi
      [ ( spesifikasi_subpartisi
           [(...)] 
         ) ] 
    )
Catatan

Instans AnalyticDB for PostgreSQL dalam mode Serverless tidak mendukung klausa WITH. Sistem memilih algoritma optimal berdasarkan tipe data.

Untuk informasi lebih lanjut, lihat CREATE TABLE.

CREATE TABLE AS

Membuat tabel dari hasil kueri.

CREATE [ [GLOBAL | LOCAL] {TEMPORARY | TEMP} ] TABLE nama_tabel
   [(nama_kolom [, ...] )]
   [ WITH ( parameter_penyimpanan=nilai [, ... ] ) ]
   [ON COMMIT {PRESERVE ROWS | DELETE ROWS | DROP}]
   [TABLESPACE tablespace]
   AS query
   [DISTRIBUTED BY (kolom, [ ... ] ) | DISTRIBUTED RANDOMLY]

Untuk informasi lebih lanjut, lihat CREATE TABLE AS.

CREATE TRIGGER

Membuat pemicu.

CREATE TRIGGER nama {BEFORE | AFTER} {kejadian [OR ...]}
ON tabel [ FOR [EACH] {ROW | STATEMENT} ]
EXECUTE PROCEDURE nama_func ( argumen )

Untuk informasi lebih lanjut, lihat CREATE TRIGGER.

CREATE TYPE

Membuat tipe data.

CREATE TYPE nama AS ( nama_atribut tipe_data [, ... ] )

CREATE TYPE nama AS ENUM ( 'label' [, ... ] )

CREATE TYPE nama (
    INPUT = fungsi_input,
    OUTPUT = fungsi_output
    [, RECEIVE = fungsi_penerima]
    [, SEND = fungsi_pengirim]
    [, TYPMOD_IN = fungsi_input_modifier_tipe ]
    [, TYPMOD_OUT = fungsi_output_modifier_tipe ]
    [, INTERNALLENGTH = {panjang_internal | VARIABLE}]
    [, PASSEDBYVALUE]
    [, ALIGNMENT = alignment]
    [, STORAGE = storage]
    [, DEFAULT = default]
    [, ELEMENT = elemen]
    [, DELIMITER = delimiter] )

CREATE TYPE nama

Untuk informasi lebih lanjut, lihat CREATE TYPE.

CREATE USER

Membuat peran database dengan izin LOGIN.

CREATE USER nama [ [WITH] opsi [ ... ] ]

Untuk informasi lebih lanjut, lihat CREATE USER.

CREATE VIEW

Membuat tampilan.

CREATE [OR REPLACE] [TEMP | TEMPORARY] VIEW nama
       [ ( nama_kolom [, ...] ) ]
       AS query

Untuk informasi lebih lanjut, lihat CREATE VIEW.

DEALLOCATE

Menghapus pernyataan yang telah disiapkan.

DEALLOCATE [PREPARE] nama

Untuk informasi lebih lanjut, lihat DEALLOCATE.

DECLARE

Membuat kursor.

DECLARE nama [BINARY] [INSENSITIVE] [NO SCROLL] CURSOR 
     [{WITH | WITHOUT} HOLD] 
     FOR query [FOR READ ONLY]

Untuk informasi lebih lanjut, lihat DECLARE.

DELETE

Menghapus baris dari tabel.

DELETE FROM [ONLY] tabel [[AS] alias]
      [USING daftar_penggunaan]
      [WHERE kondisi | WHERE CURRENT OF nama_kursor ]

Untuk informasi lebih lanjut, lihat DELETE.

DROP AGGREGATE

Menghapus fungsi agregat.

DROP AGGREGATE [IF EXISTS] nama ( tipe [, ...] ) [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP AGGREGATE.

DROP CAST

Menghapus cast.

DROP CAST [IF EXISTS] (tipe_asal AS tipe_tujuan) [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP CAST.

DROP CONVERSION

Menghapus konversi.

DROP CONVERSION [IF EXISTS] nama [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP CONVERSION.

DROP DATABASE

Menghapus database.

DROP DATABASE [IF EXISTS] nama

Untuk informasi lebih lanjut, lihat DROP DATABASE.

DROP DOMAIN

Menghapus domain.

DROP DOMAIN [IF EXISTS] nama [, ...]  [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP DOMAIN.

DROP EXTENSION

Menghapus ekstensi dari database.

DROP EXTENSION [ IF EXISTS ] nama [, ...] [ CASCADE | RESTRICT ]

Untuk informasi lebih lanjut, lihat DROP EXTENSION.

DROP EXTERNAL TABLE

Menghapus tabel eksternal.

DROP EXTERNAL [WEB] TABLE [IF EXISTS] nama [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP EXTERNAL TABLE.

DROP FUNCTION

Menghapus fungsi.

DROP FUNCTION [IF EXISTS] nama ( [ [argmode] [argname] argtype 
    [, ...] ] ) [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP FUNCTION.

DROP GROUP

Menghapus peran database.

DROP GROUP [IF EXISTS] nama [, ...]

Untuk informasi lebih lanjut, lihat DROP GROUP.

DROP INDEX

Menghapus indeks.

DROP INDEX [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP INDEX.

DROP LIBRARY

Menghapus paket pustaka kustom.

DROP LIBRARY nama_pustaka

Untuk informasi lebih lanjut, lihat DROP LIBRARY.

DROP OPERATOR

Menghapus operator.

DROP OPERATOR [IF EXISTS] nama ( {tipe_kiri | NONE} , 
    {tipe_kanan | NONE} ) [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP OPERATOR.

DROP OWNED

Menghapus objek database yang dimiliki oleh peran database.

DROP OWNED BY name [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP OWNED.

DROP RESOURCE QUEUE

Menghapus antrian sumber daya.

DROP RESOURCE QUEUE nama_antrian

Untuk informasi lebih lanjut, lihat DROP RESOURCE QUEUE.

DROP ROLE

Menghapus peran database.

DROP ROLE [IF EXISTS] nama [, ...]

Untuk informasi lebih lanjut, lihat DROP ROLE.

DROP RULE

Menghapus aturan penulisan ulang.

DROP RULE [IF EXISTS] nama ON relasi [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP RULE.

DROP SCHEMA

Menghapus skema.

DROP SCHEMA [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP SCHEMA.

DROP SEQUENCE

Menghapus urutan.

DROP SEQUENCE [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP SEQUENCE.

DROP TABLE

Menghapus tabel.

DROP TABLE [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP TABLE.

DROP TYPE

Menghapus tipe data.

DROP TYPE [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP TYPE.

DROP USER

Menghapus peran database.

DROP USER [IF EXISTS] nama [, ...]

Untuk informasi lebih lanjut, lihat DROP USER.

DROP VIEW

Menghapus tampilan.

DROP VIEW [IF EXISTS] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat DROP VIEW.

END

Mengonfirmasi transaksi saat ini.

END [WORK | TRANSACTION]

Untuk informasi lebih lanjut, lihat END.

EXECUTE

Menjalankan pernyataan SQL yang telah disiapkan.

EXECUTE nama [ (parameter [, ...] ) ]

Untuk informasi lebih lanjut, lihat EXECUTE.

EXPLAIN

Menampilkan rencana kueri dari suatu pernyataan.

EXPLAIN [ANALYZE] [VERBOSE] pernyataan

Untuk informasi lebih lanjut, lihat EXPLAIN.

FETCH

Mengambil baris dari kueri menggunakan kursor.

FETCH [arah_maju { FROM | IN } ] nama_kursor

Untuk informasi lebih lanjut, lihat FETCH.

GRANT

Memberikan izin akses.

GRANT { {SELECT | INSERT | UPDATE | DELETE | REFERENCES | 
TRIGGER | TRUNCATE } [,...] | ALL [PRIVILEGES] }
    ON [TABLE] nama_tabel [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT { {USAGE | SELECT | UPDATE} [,...] | ALL [PRIVILEGES] }
    ON SEQUENCE nama_urutan [, ...]
    TO { nama_peran | PUBLIC } [, ...] [WITH GRANT OPTION]

GRANT { {CREATE | CONNECT | TEMPORARY | TEMP} [,...] | ALL 
[PRIVILEGES] }
    ON DATABASE nama_db [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT { EXECUTE | ALL [PRIVILEGES] }
    ON FUNCTION nama_func ( [ [argmode] [argname] argtype [, ...] 
] ) [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT { USAGE | ALL [PRIVILEGES] }
    ON LANGUAGE nama_bahasa [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT { {CREATE | USAGE} [,...] | ALL [PRIVILEGES] }
    ON SCHEMA nama_skema [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT { CREATE | ALL [PRIVILEGES] }
    ON TABLESPACE nama_tablespace [, ...]
    TO {nama_peran | PUBLIC} [, ...] [WITH GRANT OPTION]

GRANT peran_induk [, ...] 
    TO peran_anggota [, ...] [WITH ADMIN OPTION]

GRANT { SELECT | INSERT | ALL [PRIVILEGES] } 
    ON PROTOCOL nama_protocol
    TO nama_pengguna

Untuk informasi lebih lanjut, lihat GRANT.

INSERT

Menyisipkan baris ke dalam tabel.

INSERT INTO tabel [( kolom [, ...] )]
   {DEFAULT VALUES | VALUES ( {ekspresi | DEFAULT} [, ...] ) 
   [, ...] | query}

Untuk informasi lebih lanjut, lihat INSERT.

LOAD

Memuat atau memuat ulang file pustaka bersama.

LOAD 'nama_file'

Untuk informasi lebih lanjut, lihat LOAD.

LOCK

Mengunci tabel.

LOCK [TABLE] nama [, ...] [IN mode_kunci MODE] [NOWAIT]

Untuk informasi lebih lanjut, lihat LOCK.

MOVE

Menentukan posisi kursor.

MOVE [ arah_maju {FROM | IN} ] nama_kursor

Untuk informasi lebih lanjut, lihat MOVE.

PREPARE

Menyiapkan pernyataan untuk dieksekusi.

PREPARE nama [ (tipe_data [, ...] ) ] AS pernyataan

Untuk informasi lebih lanjut, lihat PREPARE.

REASSIGN OWNED

Mengubah kepemilikan objek database yang dimiliki oleh peran database.

REASSIGN OWNED BY peran_lama [, ...] TO peran_baru

Untuk informasi lebih lanjut, lihat REASSIGN OWNED.

REINDEX

Membangun ulang indeks.

REINDEX {INDEX | TABLE | DATABASE | SYSTEM} nama

Untuk informasi lebih lanjut, lihat REINDEX.

RELEASE SAVEPOINT

Melepaskan titik penyimpanan yang telah didefinisikan.

RELEASE [SAVEPOINT] nama_titik_simpan

Untuk informasi lebih lanjut, lihat RELEASE SAVEPOINT.

RESET

Mengembalikan nilai parameter konfigurasi sistem ke nilai default.

RESET parameter_konfigurasi

RESET ALL

Untuk informasi lebih lanjut, lihat RESET.

REVOKE

Mencabut izin akses.

REVOKE [GRANT OPTION FOR] { {SELECT | INSERT | UPDATE | DELETE 
       | REFERENCES | TRIGGER | TRUNCATE } [,...] | ALL [PRIVILEGES] }
       ON [TABLE] nama_tabel [, ...]
       FROM {nama_peran | PUBLIC} [, ...]
       [CASCADE | RESTRICT]

REVOKE [GRANT OPTION FOR] { {USAGE | SELECT | UPDATE} [,...] 
       | ALL [PRIVILEGES] }
       ON SEQUENCE nama_urutan [, ...]
       FROM { nama_peran | PUBLIC } [, ...]
       [CASCADE | RESTRICT]

REVOKE [GRANT OPTION FOR] { {CREATE | CONNECT 
       | TEMPORARY | TEMP} [,...] | ALL [PRIVILEGES] }
       ON DATABASE nama_db [, ...]
       FROM {nama_peran | PUBLIC} [, ...]
       [CASCADE | RESTRICT]

REVOKE [GRANT OPTION FOR] {EXECUTE | ALL [PRIVILEGES]}
       ON FUNCTION nama_func ( [[argmode] [argname] argtype
                              [, ...]] ) [, ...]
       FROM {nama_peran | PUBLIC} [, ...]
       [CASCADE | RESTRICT]

REVOKE [GRANT OPTION FOR] {USAGE | ALL [PRIVILEGES]}
       ON LANGUAGE nama_bahasa [, ...]
       FROM {nama_peran | PUBLIC} [, ...]
       [ CASCADE | RESTRICT ]

REVOKE [GRANT OPTION FOR] { {CREATE | USAGE} [,...] 
       | ALL [PRIVILEGES] }
       ON SCHEMA nama_skema [, ...]
       FROM {nama_peran | PUBLIC} [, ...]
       [CASCADE | RESTRICT]

REVOKE [GRANT OPTION FOR] { CREATE | ALL [PRIVILEGES] }
       ON TABLESPACE nama_tablespace [, ...]
       FROM { nama_peran | PUBLIC } [, ...]
       [CASCADE | RESTRICT]

REVOKE [ADMIN OPTION FOR] peran_induk [, ...] 
       FROM peran_anggota [, ...]
       [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat REVOKE.

ROLLBACK

Menghentikan transaksi saat ini.

ROLLBACK [WORK | TRANSACTION]

Untuk informasi lebih lanjut, lihat ROLLBACK.

ROLLBACK TO SAVEPOINT

Mengembalikan transaksi saat ini ke titik penyimpanan.

ROLLBACK [WORK | TRANSACTION] TO [SAVEPOINT] nama_titik_simpan

Untuk informasi lebih lanjut, lihat ROLLBACK TO SAVEPOINT.

SAVEPOINT

Membuat titik penyimpanan dalam transaksi saat ini.

SAVEPOINT nama_titik_simpan

Untuk informasi lebih lanjut, lihat SAVEPOINT.

SELECT

Mengambil baris dari tabel atau tampilan.

[ WITH kueri_dengan [, ...] ]
SELECT [ALL | DISTINCT [ON (ekspresi [, ...])]]
  * | ekspresi [[AS] nama_keluaran] [, ...]
  [FROM item_dari [, ...]]
  [WHERE kondisi]
  [GROUP BY elemen_pengelompokan [, ...]]
  [HAVING kondisi [, ...]]
  [WINDOW nama_jendela AS (spesifikasi_jendela)]
  [{UNION | INTERSECT | EXCEPT} [ALL] pilih]
  [ORDER BY ekspresi [ASC | DESC | USING operator] [NULLS {FIRST | LAST}] [, ...]]
  [LIMIT {jumlah | ALL}]
  [OFFSET mulai]
  [FOR {UPDATE | SHARE} [OF nama_tabel [, ...]] [NOWAIT] [...]]

Untuk informasi lebih lanjut, lihat SELECT.

SELECT INTO

Membuat tabel dari hasil kueri.

[ WITH kueri_dengan [, ...] ]
SELECT [ALL | DISTINCT [ON ( ekspresi [, ...] )]]
    * | ekspresi [AS nama_keluaran] [, ...]
    INTO [TEMPORARY | TEMP] [TABLE] nama_tabel_baru
    [FROM item_dari [, ...]]
    [WHERE kondisi]
    [GROUP BY ekspresi [, ...]]
    [HAVING kondisi [, ...]]
    [{UNION | INTERSECT | EXCEPT} [ALL] pilih]
    [ORDER BY ekspresi [ASC | DESC | USING operator] [NULLS {FIRST | LAST}] [, ...]]
    [LIMIT {jumlah | ALL}]
    [OFFSET mulai]
    [FOR {UPDATE | SHARE} [OF nama_tabel [, ...]] [NOWAIT] 
    [...]]

Untuk informasi lebih lanjut, lihat SELECT INTO.

SET

Mengubah nilai parameter konfigurasi database.

SET [SESSION | LOCAL] parameter_konfigurasi {TO | =} nilai | 
    'nilai' | DEFAULT}

SET [SESSION | LOCAL] TIME ZONE {zona_waktu | LOCAL | DEFAULT}

Untuk informasi lebih lanjut, lihat SET.

SET ROLE

Menetapkan pengenal peran saat ini untuk sesi saat ini.

SET [SESSION | LOCAL] ROLE nama_peran

SET [SESSION | LOCAL] ROLE NONE

RESET ROLE

Untuk informasi lebih lanjut, lihat SET ROLE.

SET SESSION AUTHORIZATION

Menetapkan pengenal sesi peran dan pengenal peran saat ini untuk sesi saat ini.

SET [SESSION | LOCAL] SESSION AUTHORIZATION nama_peran

SET [SESSION | LOCAL] SESSION AUTHORIZATION DEFAULT

RESET SESSION AUTHORIZATION

Untuk informasi lebih lanjut, lihat SET SESSION AUTHORIZATION.

SET TRANSACTION

Menetapkan karakteristik transaksi saat ini.

SET TRANSACTION [mode_transaksi] [READ ONLY | READ WRITE]

SET SESSION CHARACTERISTICS AS TRANSACTION mode_transaksi 
     [READ ONLY | READ WRITE]

Untuk informasi lebih lanjut, lihat SET TRANSACTION.

SHOW

Menampilkan nilai parameter konfigurasi sistem.

SHOW parameter_konfigurasi

SHOW ALL

Untuk informasi lebih lanjut, lihat SHOW.

START TRANSACTION

Memulai blok transaksi.

START TRANSACTION [SERIALIZABLE | READ COMMITTED | READ UNCOMMITTED]
                  [READ WRITE | READ ONLY]

Untuk informasi lebih lanjut, lihat START TRANSACTION.

TRUNCATE

Menghapus semua baris dari tabel.

TRUNCATE [TABLE] nama [, ...] [CASCADE | RESTRICT]

Untuk informasi lebih lanjut, lihat TRUNCATE.

UPDATE

Memperbarui baris tabel.

UPDATE [ONLY] tabel [[AS] alias]
   SET {kolom = {ekspresi | DEFAULT} |
   (kolom [, ...]) = ({ekspresi | DEFAULT} [, ...])} [, ...]
   [FROM daftar_dari]
   [WHERE kondisi | WHERE CURRENT OF nama_kursor ]

Untuk informasi lebih lanjut, lihat UPDATE.

VACUUM

Mengklaim ulang ruang dari database dan secara opsional menganalisis database.

VACUUM [FULL] [FREEZE] [VERBOSE] [tabel]

VACUUM [FULL] [FREEZE] [VERBOSE] ANALYZE
              [tabel [(kolom [, ...] )]]

Untuk informasi lebih lanjut, lihat VACUUM.

VALUES

Menghitung satu set nilai baris.

VALUES ( ekspresi [, ...] ) [, ...]
   [ORDER BY ekspresi_sortir [ASC | DESC | USING operator] [, ...]]
   [LIMIT {jumlah | ALL}] [OFFSET mulai]

Untuk informasi lebih lanjut, lihat VALUES.