41 / 100

TEXT

Cheklanmagan uzunlikdagi matn turi

Kirish: Ushbu qo'llanmada siz PostgreSQL TEXT ma'lumot turi yordamida har qanday hajmdagi o'zgaruvchan uzunlikdagi matnli ma'lumotlarni saqlashni o'rganasiz.

PostgreSQL TEXT ma'lumot turiga kirish

PostgreSQLdagi TEXT ma'lumot turi o'zgaruvchan uzunlikdagi belgili ma'lumotlar turidir. TEXT turi juda katta hajmdagi matnlarni sig'dira oladi, shu bois u mahsulot tavsiflari, maqolalar, hujjatlar va izohlarni saqlash uchun juda qulay.

Jadvalda TEXT turidagi ustunni yaratish sintaksisi quyidagicha:

query.sql
CREATE TABLE table_name (
  column_name TEXT,
  ...
);

TEXT ma'lumot turining asosiy xususiyatlari:

  • O'zgaruvchan uzunlik: TEXT ustuni 1 GB gacha bo'lgan har qanday uzunlikdagi matnni saqlay oladi (1 GB bu faqat TEXT emas, balki PostgreSQLdagi har qanday maydon uchun maksimal hajm chegarasidir).
  • Oxirgi bo'shliqlar saqlanishi: TEXT ustuni matn oxiridagi bo'shliqlarni (probellarni) saqlab qoladi va ularni o'chirib tashlamaydi. Ushbu probellar matnlarni solishtirishda inobatga olinadi.
  • Tezlik va unumdorlik: PostgreSQLda TEXT va VARCHAR turlari deyarli bir xil ichki tuzilishga ega, shu sababli ularning ishlash unumdorligi ham teng.

Haqiqiy loyihalarda uzunligi oldindan aniq bo'lmagan erkin matnlarni saqlash uchun odatda TEXT turiga ustunlik beriladi.

Shuni ta'kidlash joizki, uzunlik parametri ko'rsatilmagan VARCHAR ham o'zini aynan TEXT kabi tutadi.

PostgreSQL TEXT turiga misol

Birinchidan, mahsulotlar ma'lumotlarini saqlash uchun products jadvalini yaratamiz:

query.sql
CREATE TABLE products (
  id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  description TEXT
);

Ushbu products jadvalida description ustuni TEXT turida e'lon qilingan.

Ikkinchidan, jadvalga mahsulot tavsifini kiritamiz:

query.sql
INSERT INTO
  products (name, description)
VALUES
  (
    'iPhone 17',
    'Yangi sun''iy intellektli smartfon: 6.2 dyuymli ekran, uchlik kamera va 5G aloqa.'
  ) RETURNING *;

Natija:

matn
id |   name    |                                      description
----+-----------+----------------------------------------------------------------------------------------
  1 | iPhone 17 | Yangi sun'iy intellektli smartfon: 6.2 dyuymli ekran, uchlik kamera va 5G aloqa.

Xulosa

  • Katta hajmdagi va uzunligi cheklanmagan matnlarni saqlash uchun PostgreSQL TEXT ma'lumot turidan foydalaning.
  • TEXT va VARCHAR turlari unumdorlik jihatidan bir xil.