
PostgreSQL-এ অনেক ধরণের ডেটা টাইপ (Data Types) রয়েছে, যেগুলো বিভিন্ন ধরণের ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। নিচে PostgreSQL-এর সবগুলো গুরুত্বপূর্ণ ডেটা টাইপ, ব্যাখ্যা এবং উদাহরণসহ তালিকা আকারে দিলাম:
🗂️ PostgreSQL-এর Data Types
1. 📃 Textual Data Types (স্ট্রিং/টেক্সট)
টাইপ |
ব্যাখ্যা |
উদাহরণ |
CHAR(n) |
Fixed length string (n অক্ষরের) |
name CHAR(10) |
VARCHAR(n) |
Variable length string (সর্বোচ্চ n অক্ষর) |
title VARCHAR(255) |
TEXT |
Unlimited length text |
description TEXT |
2. 🔢 Numeric Data Types (সংখ্যা)
টাইপ |
ব্যাখ্যা |
উদাহরণ |
SMALLINT |
2-byte integer (-32,768 to 32,767) |
age SMALLINT |
INTEGER বা INT |
4-byte integer |
score INTEGER |
BIGINT |
8-byte integer |
population BIGINT |
DECIMAL(p, s) |
Exact numeric (precision ও scale সহ) |
salary DECIMAL(10, 2) |
NUMERIC(p, s) |
Same as DECIMAL |
price NUMERIC(8, 2) |
REAL |
Approximate 4-byte float |
rating REAL |
DOUBLE PRECISION |
Approximate 8-byte float |
temperature DOUBLE PRECISION |
SERIAL |
Auto-incrementing integer |
id SERIAL PRIMARY KEY |
3. 🗓️ Date/Time Types
টাইপ |
ব্যাখ্যা |
উদাহরণ |
DATE |
শুধুমাত্র তারিখ |
birth_date DATE |
TIME |
শুধুমাত্র সময় (HH:MM:SS) |
start_time TIME |
TIMESTAMP |
তারিখ ও সময় |
created_at TIMESTAMP |
TIMESTAMPTZ |
Timestamp with time zone |
login_time TIMESTAMPTZ |
INTERVAL |
সময়ের ব্যবধান |
duration INTERVAL |
4. ✅ Boolean Type
টাইপ |
ব্যাখ্যা |
উদাহরণ |
BOOLEAN |
true, false, বা null |
is_active BOOLEAN |
5. 📦 Enumerated Type (ENUM)
টাইপ |
ব্যাখ্যা |
উদাহরণ |
ENUM |
নির্দিষ্ট string ভ্যালুর সীমা |
|
CREATE TYPE gender AS ENUM ('male', 'female', 'other');
6. 🗺️ Geometric Types
টাইপ |
ব্যাখ্যা |
POINT , LINE , CIRCLE , BOX , ইত্যাদি |
গ্রাফিক বা ম্যাথমেটিকাল কো-অর্ডিনেট |
7. 🌐 Network Address Types
টাইপ |
ব্যাখ্যা |
INET , CIDR , MACADDR |
IP address বা MAC address সংরক্ষণ করতে |
8. 💾 Binary Data
টাইপ |
ব্যাখ্যা |
BYTEA |
Binary data (images, files ইত্যাদি) |
9. 🧬 JSON/JSONB (NoSQL-like)
টাইপ |
ব্যাখ্যা |
JSON |
JSON ফরম্যাটের ডেটা (text form) |
JSONB |
Binary form of JSON, বেশি efficient |
10. 📂 Array Type
টাইপ |
ব্যাখ্যা |
উদাহরণ |
TEXT[] , INT[] |
একাধিক ভ্যালুর array |
tags TEXT[] |
✅ উদাহরণ টেবিল:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
age INT,
email TEXT UNIQUE,
salary NUMERIC(10, 2),
is_active BOOLEAN DEFAULT true,
signup_date DATE DEFAULT CURRENT_DATE,
preferences JSONB
);
Example :
🏗️ Table Creation (All Data Types সহ)
-- ENUM type create
CREATE TYPE gender_type AS ENUM ('male', 'female', 'other');
-- Table create
CREATE TABLE full_example (
id SERIAL PRIMARY KEY,
full_name VARCHAR(100) NOT NULL,
age SMALLINT CHECK (age >= 0),
email TEXT UNIQUE,
salary NUMERIC(10,2),
rating REAL,
total_score DOUBLE PRECISION,
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
birth_date DATE,
login_time TIME,
timezone_login TIMESTAMPTZ,
experience INTERVAL,
ip_address INET,
mac_address MACADDR,
user_position POINT,
preferences JSONB,
tags TEXT[],
profile_picture BYTEA,
gender gender_type
);
📥 Data Insert করা (সব Data Type সহ)
INSERT INTO full_example (
full_name,
age,
email,
salary,
rating,
total_score,
is_active,
birth_date,
login_time,
timezone_login,
experience,
ip_address,
mac_address,
user_position,
preferences,
tags,
profile_picture,
gender
)
VALUES (
'Ali Haidar',
24,
'ali.haidar@example.com',
50000.75,
4.5,
98.55,
true,
'2000-01-01',
'09:00:00',
'2025-05-01 09:00:00+06',
'2 years 3 mons',
'192.168.1.1',
'08:00:27:12:90:FA',
'(3.5,4.5)',
'{"theme":"dark", "language":"bangla"}',
ARRAY['developer', 'learner', 'full-stack'],
decode('aGVsbG8gd29ybGQ=', 'base64'),
'male'
);
🔑 Note:
profile_picture
ফিল্ডে আমি একটি Base64 encoded text ব্যবহার করেছি (hello world → aGVsbG8gd29ybGQ=
), এটা demo image বা binary file represent করার জন্য।
-
preferences
হচ্ছে JSONB ফরম্যাট।
-
user_position
হচ্ছে একটি (x,y)
point (geometry type)।