Search this site
Embedded Files
intdescod
  • Home
  • My Note
    • Linux
    • Node js
    • Docker
    • PostgreSQL
    • Hadoop
    • Python
    • JavaScript
    • Express
    • ShellScript
    • Github
    • Next js
    • Node-Red
  • Full Projects
    • bot_telegram
  • About me
intdescod
  • Home
  • My Note
    • Linux
    • Node js
    • Docker
    • PostgreSQL
    • Hadoop
    • Python
    • JavaScript
    • Express
    • ShellScript
    • Github
    • Next js
    • Node-Red
  • Full Projects
    • bot_telegram
  • About me
  • More
    • Home
    • My Note
      • Linux
      • Node js
      • Docker
      • PostgreSQL
      • Hadoop
      • Python
      • JavaScript
      • Express
      • ShellScript
      • Github
      • Next js
      • Node-Red
    • Full Projects
      • bot_telegram
    • About me

list contents

PostgreSQL

Tabel

membuat tabel

CREATE TABLE your_table_name (

    id SERIAL PRIMARY KEY, -- Secara otomatis membuat sequence

    regional VARCHAR(255) NOT NULL,

    branch VARCHAR(255) NOT NULL,

    site_id VARCHAR(255) NOT NULL,

    sow_accurate TEXT NOT NULL,

    capex_name VARCHAR(255) NOT NULL,

    connected_date TIMESTAMP NOT NULL,

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

menambahkan index

CREATE INDEX idx_your_table_name_id ON your_table_name (id);

CREATE INDEX idx_your_table_name_site_id ON your_table_name (site_id);

menambahkan sequence 

sequence (urutan) di PostgreSQL digunakan untuk menghasilkan nilai numerik yang berurutan

  1. Menggunakan Sequence yang Sudah Ada

Jika Anda sudah membuat sequence (seperti `broadcasts_id_seq`), Anda bisa menggunakannya di tabel dengan:


  1. Membuat Sequence Langsung di Tabel (Cara Paling Umum)

PostgreSQL menyediakan cara singkat dengan tipe data `SERIAL`:

CREATE TABLE nama_tabel (

    id SERIAL PRIMARY KEY,  -- Secara otomatis membuat sequence

    kolom_lain1 VARCHAR(100),

    kolom_lain2 INT

    -- kolom lainnya

);

ini setara dengan

CREATE SEQUENCE nama_tabel_id_seq;

CREATE TABLE nama_tabel (

    id INTEGER NOT NULL DEFAULT nextval('nama_tabel_id_seq'),

    kolom_lain1 VARCHAR(100),

    kolom_lain2 INT,

    PRIMARY KEY (id)

);

ALTER SEQUENCE nama_tabel_id_seq OWNED BY nama_tabel.id;


  1. Menambahkan Sequence ke Tabel yang Sudah Ada

Jika tabel sudah ada tanpa sequence:

CREATE SEQUENCE nama_sequence

    [INCREMENT BY n]    -- Nilai kenaikan (default: +1)

    [MINVALUE n]        -- Nilai minimum (default: 1)

    [MAXVALUE n]        -- Nilai maksimum (default: 2^63-1)

    [START WITH n]      -- Nilai awal (default: MINVALUE)

    [CYCLE | NO CYCLE] -- Apakah sequence diulang setelah mencapai MAXVALUE?

    [CACHE n];          -- Jumlah nilai yang di-cache untuk performa (opsional)



-- Langkah 1: Buat sequence

CREATE SEQUENCE nama_tabel_id_seq;


-- Langkah 2: Set kolom untuk menggunakan sequence

ALTER TABLE nama_tabel

ALTER COLUMN id SET DEFAULT nextval('nama_tabel_id_seq');


-- Langkah 3: Set nilai sequence ke nilai maksimum yang ada

SELECT setval('nama_tabel_id_seq', (SELECT MAX(id) FROM nama_tabel));


contoh :

-- Membuat sequence terpisah

CREATE SEQUENCE broadcasts_id_seq

    START WITH 1

    INCREMENT BY 1

    NO MINVALUE

    NO MAXVALUE

    CACHE 1;


-- Membuat tabel yang menggunakan sequence

CREATE TABLE broadcasts (

    id BIGINT NOT NULL DEFAULT nextval('broadcasts_id_seq'),

    title VARCHAR(255) NOT NULL,

    schedule TIMESTAMP NOT NULL,

    is_active BOOLEAN DEFAULT true,

    PRIMARY KEY (id)

);


-- Mengaitkan sequence dengan tabel

ALTER SEQUENCE broadcasts_id_seq OWNED BY broadcasts.id;



mengubah/ngereset sebuah sequence yang sudah ada sehingga nilai berikutnya yang dihasilkan akan dimulai kembali dari 1

ALTER SEQUENCE user_id_seq RESTART WITH 1;


mengubah increment +5

ALTER SEQUENCE user_id_seq INCREMENT BY 5;


hapus sequence

DROP SEQUENCE user_id_seq;

mengubah nama tabel

ALTER TABLE public.a4_npac_5g_site_weekly RENAME TO a4_npac_5g_site_weekly_old;

menambahkan kolom

ALTER TABLE nama_tabel

ADD COLUMN nama_kolom tipe_data [constraint];

menambah satu kolom baru

ALTER TABLE users

ADD COLUMN email VARCHAR(255);


menambah lebih dari satu kolom baru

ALTER TABLE users

ADD COLUMN phone VARCHAR(15),

ADD COLUMN address TEXT;


  • Menambahkan Kolom dengan Constraint

menambahkan kolom dengan constraint seperti NOT NULL, DEFAULT, atau UNIQUE

ALTER TABLE users

ADD COLUMN age INT NOT NULL;


ALTER TABLE users

ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;


ALTER TABLE users

ADD COLUMN username VARCHAR(50) UNIQUE;

mengosongkan tabel

menghapus semua data dari tabel

TRUNCATE TABLE nama_tabel;


menghapus semua data dari tabel dengan opsi RESTART IDENTITY untuk mereset sequence secara otomatis mulai dari 1

TRUNCATE TABLE nama_tabel RESTART IDENTITY;

menghapus tabel

DROP TABLE nama_tabel;

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse