PostgreSQL / PostgreSQL гэж юу вэ?

PostgreSQL гэж юу вэ?

PostgreSQL бол 1996 онд анх нийтлэгдсэн, дэлхийд хамгийн дэвшилтэт нээлттэй эхийн (open source) өгөгдлийн сангийн систем юм. Энэ нь SQL хэлийг бүрэн дэмждэг бөгөөд JSON, массив, геометр гэх мэт дэвшилтэт өгөгдлийн төрлүүдийг ч дэмждэг. Apple, Instagram, Spotify, Supabase зэрэг компаниуд PostgreSQL-г өөрсдийн гол өгөгдлийн сан болгон ашигладаг.

Өгөгдлийн сан гэж юу вэ?

Өгөгдлийн сан (database) бол мэдээллийг зохион байгуулалттай хадгалах систем юм. Та үүнийг маш том Excel файл гэж төсөөлж болно — гэхдээ хамаагүй хүчирхэг, хурдан, найдвартай.

Өгөгдлийн санд мэдээлэл хүснэгт (table) хэлбэрээр хадгалагдана:

| id | нэр | имэйл | үүсгэсэн огноо | |----|-----------|------------------------|----------------| | 1 | Болд | bold@example.com | 2024-01-15 | | 2 | Сарнай | sarnai@example.com | 2024-01-16 | | 3 | Ганбаяр | ganbayar@example.com | 2024-01-17 |

Хүснэгтийн нэг мөрийг бичлэг (row/record), нэг баганыг талбар (column/field) гэнэ.

SQL гэж юу вэ?

SQL (Structured Query Language) бол өгөгдлийн сантай харилцахад ашигладаг хэл юм. PostgreSQL нь SQL хэлийг ашигладаг бөгөөд та энэ хэлээр:

  • Мэдээлэл унших
  • Мэдээлэл оруулах
  • Мэдээлэл шинэчлэх
  • Мэдээлэл устгах

боломжтой. Эдгээрийг CRUD (Create, Read, Update, Delete) үйлдлүүд гэж нэрлэдэг.

Анхны SQL асуулга

Өгөгдлийн сангаас мэдээлэл унших хамгийн энгийн асуулга:

sql
SELECT * FROM users;

Энэ асуулга users хүснэгтийн бүх бичлэг, бүх талбарыг уншина. * тэмдэг нь "бүх талбар" гэсэн утгатай.

Зөвхөн тодорхой талбаруудыг унших:

sql
SELECT нэр, имэйл FROM users;

Нөхцөл тавих:

sql
SELECT * FROM users WHERE id = 1;

Яагаад PostgreSQL сонгох вэ?

Өгөгдлийн санд олон сонголт байдаг — MySQL, SQLite, MongoDB гэх мэт. PostgreSQL-г сонгох гол шалтгаанууд:

Нээлттэй эх — Үнэгүй, лицензийн төлбөргүй, хязгааргүй ашиглаж болно.

Хүчирхэг — JSON, массив, full-text хайлт, геометр зэрэг өргөн боломжтой.

Найдвартай — ACID баталгааг бүрэн дэмждэг тул санхүүгийн, эмнэлгийн зэрэг чухал системд ашиглахад тохиромжтой.

Supabase — Та JavaScript курсд Supabase ашигласан бол PostgreSQL дээр суурилсан учраас эндэс мэдлэгтэй байна.

sql
-- Хүснэгт үүсгэх жишээ
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    нэр TEXT NOT NULL,
    имэйл TEXT UNIQUE NOT NULL,
    үүсгэсэн_огноо TIMESTAMP DEFAULT NOW()
);

Дараагийн хичээлд:

PostgreSQL-г компьютертоо суулгаж, psql командын мөрийг ашиглан анхны өгөгдлийн сантайгаа холбогдоно.