ThishVerse Logo
THISHVERSE
HomeBlogAboutContact
Back to all posts
Web Development

Modern Applications වලට PostgreSQL තෝරගන්නේ ඇයි?

PostgreSQL කියන්නේ modern applications වල බහුලව භාවිතා කරන powerful relational Database එකක්

HHirun Thishakya
September 11, 2026
7 min read
Modern Applications වලට PostgreSQL තෝරගන්නේ ඇයි?

Database ලෝකයේ MySQL, MongoDB, Microsoft SQL Server වගේ options ගොඩක් තියෙනවා.

ඒ අතරින් modern applications හදන Developers ලා අතර ගොඩක් popular වෙලා තියෙන Database එකක් තමයි PostgreSQL.

Next.js, Node.js, Django, Supabase වගේ technologies එක්ක PostgreSQL කියන නම ඔයාට නිතරම හම්බවෙන්න පුළුවන්.

ඉතින් PostgreSQL කියන්නේ මොකක්ද?

ඇයි Developers ලා මේක තෝරන්නේ?


PostgreSQL කියන්නේ මොකක්ද?

PostgreSQL කියන්නේ open-source relational Database management system එකක්.

මේක Definition එක ටිකක් technical වගේ පේන නිසා කොටස්වලට බෙදාගෙන බලමු.

Relational Database

Relational Database එකක data store කරන්නේ tables ඇතුළේ.

Table එකක:

  • Columns තියෙනවා

  • Rows තියෙනවා

උදාහරණයක් විදිහට students table එකක් ගත්තොත්:

id

name

email

age

1

Kasun

kasun@example.com

21

2

Nimal

nimal@example.com

22

3

Amaya

amaya@example.com

20

මෙතන එක row එකකින් student කෙනෙක් represent වෙනවා.

තව table එකක් courses කියලා හිතමු.

Students
   │
   ├── Courses
   │
   ├── Enrolments
   │
   └── Payments

මේ tables අතර relationships හදන්න පුළුවන්.

ඒක තමයි relational Database එකක මූලික අදහස.


PostgreSQL සහ SQL

PostgreSQL එක්ක data access කරන්න සහ manage කරන්න SQL (Structured Query Language) භාවිතා කරනවා.

උදාහරණයක්:

SELECT *
FROM students
WHERE age > 20;

මේ Query එකෙන් PostgreSQL ට කියන්නේ:

වයස 20ට වඩා වැඩි students ලා හොයන්න.

ඒකෙන් අපිට PostgreSQL එක්ක data query කරන්න පුළුවන් කියන එක පැහැදිලි වෙනවා.


PostgreSQL කියන නම ආවේ කොහෙන්ද?

මේකත් interesting story එකක්.

PostgreSQL වල මුල් project එක හැඳින්වුණේ POSTGRES කියලා.

ඒ project එක University of California, Berkeley වලින් ආරම්භ වුණා.

පසුව SQL support එක එකතු වුණා.

ඒ නිසා project එකේ නම:

PostgreSQL

බවට වෙනස් වුණා.

Developers ලා සාමාන්‍යයෙන් PostgreSQL කියලා හෝ කෙටියෙන් Postgres කියලා කියනවා.


PostgreSQL කියන්නේ Tables විතරක් තියෙන Database එකක් නෙවෙයි

PostgreSQL වල තියෙන interesting දෙයක් තමයි මේක simple rows සහ columns වලට විතරක් සීමා නොවීම.

PostgreSQL එකෙන් විවිධ types වල data handle කරන්න පුළුවන්.

උදාහරණ විදිහට:

  • JSON / JSONB

  • Arrays

  • UUIDs

  • Date and time

  • Custom data types

  • Full-text search

  • Views

  • Functions

  • Triggers

  • Extensions

ඒ නිසා application එක ටිකක් complex වෙනකොටත් PostgreSQL එකෙන් ගොඩක් වැඩ කරගන්න පුළුවන්.


PostgreSQL වැඩ කරන්නේ කොහොමද?

අපි Online Shopping Application එකක් හදනවා කියලා හිතමු.

සාමාන්‍යයෙන් application එක මෙහෙම structure එකක් ගන්න පුළුවන්:

                User
                  ↓
              Frontend
                  ↓
               Backend
                  ↓
             PostgreSQL
                  ↓
               Storage

User කෙනෙක් account එකක් create කරනකොට Backend එක PostgreSQL වෙත Query එකක් යවනවා.

උදාහරණයක්:

INSERT INTO users (name, email)
VALUES ('Kasun', 'kasun@example.com');

PostgreSQL ඒ data එක store කරනවා.

පස්සේ user login වෙනකොට Backend එකට user ගේ details හොයාගන්න ඕනේ.

එතකොට:

SELECT *
FROM users
WHERE email = 'kasun@example.com';

වගේ Query එකක් PostgreSQL වෙත යවන්න පුළුවන්.

PostgreSQL, matching record එක හොයාගෙන result එක Backend එකට ලබා දෙනවා.

ඒ නිසා සාමාන්‍යයෙන් PostgreSQL එක User එක්ක directly communicate කරන්නේ නැහැ.

ඒක application එකේ data manage කරන Backend එකට පිටුපසින් වැඩ කරනවා.


PostgreSQL සහ SQL එකම දෙයක් නෙවෙයි

කෙනෙක්ට මෙතන පොඩි confusion එකක් ඇති වෙන්න පුළුවන්.

SQL කියන්නේ language එකක්.

PostgreSQL කියන්නේ SQL භාවිතා කරන Database system එකක්.

මේක මෙහෙම මතක තියාගන්න:

SQL
 ↓
Database එකක් එක්ක communicate කරන්න
භාවිතා කරන language එක

PostgreSQL ↓ SQL තේරුම් ගන්න Database system එක

MySQL, Microsoft SQL Server, Oracle Database වගේ systems වලත් SQL භාවිතා කරනවා.

හැබැයි ඒ හැම Database system එකකටම තමන්ගේම features සහ extensions තියෙනවා.


PostgreSQL ජනප්‍රිය වෙන්නේ ඇයි?

PostgreSQL ජනප්‍රිය වෙන්න හේතු ගොඩක් තියෙනවා.

1. Open Source

PostgreSQL open-source.

ඒ කියන්නේ source code එක publicly available සහ සාමාන්‍යයෙන් licensing cost එකක් නැතුව භාවිතා කරන්න පුළුවන්.

ඒ නිසා:

  • Students ලාට

  • Developers ලාට

  • Startups වලට

  • Companies වලට

  • Large organizations වලට

PostgreSQL use කරන්න පුළුවන්.


2. Data Integrity එක හොඳින් Maintain කරන්න පුළුවන්

Online payment system එකක් හිතන්න.

Payment එක complete වුණා කියලා Database එකේ තියෙනවා.

හැබැයි Order එක තවම unpaid කියලා තිබුණොත්?

Payment = Completed

Order = Not Paid

මේ වගේ inconsistent data ඇතිවීම application එකකට ලොකු ගැටලුවක්.

PostgreSQL වල constraints සහ transactions වගේ features නිසා data එකේ correctness සහ consistency maintain කරන්න උදව් වෙනවා.

උදාහරණයක්:

email VARCHAR(255) UNIQUE

මේකෙන් එකම email address එක users දෙන්නෙක්ට use කිරීම වළක්වන්න පුළුවන්.

තව:

  • Primary Keys

  • Foreign Keys

  • UNIQUE constraints

  • NOT NULL constraints

  • CHECK constraints

වගේ rules දාන්න පුළුවන්.

ඒ නිසා වැරදි data Database එකට ඇතුල් වීම අඩු කරන්න පුළුවන්.


3. Transactions

Transactions කියන්නේ Database එකේ ඉතා වැදගත් concept එකක්.

උදාහරණයක් විදිහට Bank Account එකකින් තවත් account එකකට Rs. 10,000ක් transfer කරනවා කියලා හිතමු.

Account A
↓

  • Rs. 10,000

Account B ↓

  • Rs. 10,000

පළවෙනි operation එක successful වෙලා දෙවැනි එක fail වුණොත්?

මුදල් අඩු වෙලා, අනෙක් account එකට මුදල් එකතු නොවෙන්න පුළුවන්.

ඒ නිසා operations දෙකම එක transaction එකක් විදිහට handle කරන්න අවශ්‍යයි.

BEGIN;

UPDATE accounts SET balance = balance - 10000 WHERE id = 1;

UPDATE accounts SET balance = balance + 10000 WHERE id = 2;

COMMIT;

වැඩේ සාර්ථක නම් COMMIT කරලා changes save කරනවා.

Problem එකක් වුණොත් transaction එක rollback කරන්න පුළුවන්.

ඒ නිසා Database එක half-updated state එකකට යන එක වළක්වාගන්න පුළුවන්.


4. Powerful Queries

PostgreSQL එකෙන් simple Queries විතරක් නෙවෙයි, complex Queries පවා handle කරන්න පුළුවන්.

උදාහරණයක්:

SELECT *
FROM students;

මේක simple Query එකක්.

හැබැයි tables කිහිපයක් අතර data combine කරන්න JOIN භාවිතා කරන්න පුළුවන්.

SELECT students.name, courses.name
FROM students
JOIN enrolments
ON students.id = enrolments.student_id
JOIN courses
ON courses.id = enrolments.course_id;

මේකෙන් student කෙනෙක් enroll වෙලා තියෙන course එක හොයාගන්න පුළුවන්.

Result එක මේ වගේ:

Student

Course

Kasun

Database Systems

Nimal

Software Engineering

Amaya

Web Development

මේ වගේ complex data relationships handle කිරීම relational Database එකක වැදගත් advantage එකක්.


5. Indexes නිසා Searching වේගවත් කරන්න පුළුවන්

අපි හිතමු users table එකේ usersලා මිලියන 10ක් ඉන්නවා කියලා.

Application එකේ නිතරම email එකෙන් user කෙනෙක් search කරනවා:

SELECT *
FROM users
WHERE email = 'kasun@example.com';

හරියට index එකක් නැත්නම් Database එකට විශාල data ප්‍රමාණයක් check කරන්න සිද්ධ වෙන්න පුළුවන්.

ඒකට index එකක් හදන්න පුළුවන්:

CREATE INDEX idx_users_email
ON users(email);

Index එකක් කියන්නේ සරලවම Database එකට data ඉක්මනින් හොයාගන්න උදව් කරන additional data structure එකක්.

මේක පොතක index එකකට සමානයි.

Index එකක් නැත්නම්:

පිටු එකින් එක බලන්න වෙනවා.

Index එකක් තියෙනවා නම්:

අවශ්‍ය තැනට ඉක්මනින් යන්න පුළුවන්.

හැබැයි indexes වලටත් storage අවශ්‍ය වෙනවා සහ data write කරනකොට additional overhead එකක් ඇති වෙන්න පුළුවන්.

ඒ නිසා indexes අවශ්‍ය තැන්වලට විතරක් use කරන්න ඕනේ.


6. PostgreSQL JSON වලටත් Support කරනවා

Modern applications වල හැම data එකක්ම traditional columns වලට හරියටම fit වෙන්නේ නැහැ.

උදාහරණයක් විදිහට User Preferences:

{
"theme": "dark",
"notifications": true,
"language": "en"
}

මේ වගේ data PostgreSQL වල JSON හෝ JSONB විදිහට store කරන්න පුළුවන්.

උදාහරණයක්:

SELECT *
FROM users
WHERE preferences->>'theme' = 'dark';

ඒකෙන් JSON data එක ඇතුළෙන් values search කරන්නත් පුළුවන්.

හැබැයි මෙතනින් අදහස් වෙන්නේ application එකේ හැම data එකම JSON එකක් විදිහට store කරනවා කියන එක නෙවෙයි.

Data එකේ relationships වැදගත් නම් traditional relational structure එක ගොඩක් useful.


PostgreSQL vs MySQL

PostgreSQL ඉගෙනගන්නකොට MySQL එක්ක comparison එකක් අනිවාර්යයෙන්ම හම්බවෙයි.

දෙකම හොඳ relational Databases.

Feature

PostgreSQL

MySQL

Type

Relational Database

Relational Database

Open Source

Yes

Yes

SQL Support

Strong

Strong

JSON Support

Yes

Yes

Complex Queries

Excellent

Excellent

Extensibility

Very Strong

Strong

Ecosystem

Very Large

Very Large

Beginner Friendly

Good

Very Good

Web Development

Very Common

Very Common

එහෙනම් “හොඳම එක මොකක්ද?”

ඒකට හරියටම answer එකක් නැහැ.

Project එක අනුව answer එක වෙනස් වෙනවා.


PostgreSQL තෝරගන්න හොඳ අවස්ථා

Complex Relationships තියෙනවා නම්

උදාහරණයක්:

Users
↓
Orders
↓
Products
↓
Payments

Tables අතර relationships ගොඩක් තියෙන application එකකට PostgreSQL හොඳ option එකක්.

Complex Queries අවශ්‍ය නම්

JOINs, aggregations, reporting වගේ SQL operations ගොඩක් use කරන application එකකට PostgreSQL හොඳ choice එකක්.

Data Consistency වැදගත් නම්

Financial systems, booking systems, management systems වගේ applications වල data correctness වැදගත්.

ඒ වගේ systems වලට PostgreSQL වල transaction සහ constraint features useful වෙනවා.

Relational + Flexible Data දෙකම අවශ්‍ය නම්

Structured relational data එක්ක JSONB වගේ flexible dataත් handle කරන්න ඕනේ නම් PostgreSQL useful.


MySQL තෝරගන්න හොඳ අවස්ථා

MySQL කියන්නෙත් ගොඩක් හොද Database එකක්.

ඒකට:

  • ලොකු ecosystem එකක් තියෙනවා

  • Documentation ගොඩක් තියෙනවා

  • Hosting support වැඩියි

  • හොද performance තියෙනවා

  • Developers ලා ගොඩක් already MySQL දන්නවා

  • Web Framework support හොඳයි

ඒ නිසා Team එකට දැනටමත් MySQL ගැන හොඳ knowledge එකක් තියෙනවා නම් සහ application එකේ requirements MySQL වලින් හොඳට satisfy වෙනවා නම් PostgreSQL වලට මාරු වෙන්න අවශ්‍ය නැහැ.

Popular කියලා Database එකක් තෝරන්න එපා.

ඔයා build කරන application එකට ගැලපෙන Database එක තෝරගන්න.


Modern Web Development වල PostgreSQL

අද modern Web Applications වල PostgreSQL ගොඩක් දකින්න පුළුවන්.

Next.js
TypeScript
PostgreSQL
Prisma

Application එකේ structure එක roughly:

             User
↓
Next.js
↓
API / Backend
↓
PostgreSQL

මෙතන PostgreSQL persistent data store කරනවා.

Backend එක application logic handle කරනවා.

Frontend එක user interface එක handle කරනවා.

Supabase වගේ platforms PostgreSQL මත build වෙලා තියෙන නිසා Developers ලාට Database infrastructure එකේ හැම දෙයක්ම manually manage නොකර PostgreSQL-based applications හදන්නත් පහසු වෙනවා.


PostgreSQL ඉගෙනගන්නවා නම්

PostgreSQL ඉගෙනගන්නවා කියන්නේ:

SELECT * FROM users;

ඉගෙනගෙන නවතින එක නෙවෙයි.

හොඳ learning path එකක් අවශ්‍යයි.

Step 1 — SQL Basics

මුලින්:

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

  • WHERE

  • ORDER BY

  • GROUP BY

වගේ basics ඉගෙනගන්න.

Step 2 — Relationships

ඊළඟට:

  • Primary Keys

  • Foreign Keys

  • One-to-One

  • One-to-Many

  • Many-to-Many

  • JOINs

ඉගෙනගන්න.

Step 3 — Database Design

ඊළඟට:

  • Normalization

  • Constraints

  • Data Types

  • Relationships

  • Schema Design

වගේ concepts තේරුම්ගන්න.

Step 4 — Performance

ඊළඟට:

  • Indexes

  • Query Plans

  • EXPLAIN

  • Transactions

  • Connection Pooling

වගේ concepts බලන්න.

Step 5 — PostgreSQL Features

ඊට පස්සේ:

  • JSONB

  • Full-text Search

  • Views

  • Functions

  • Triggers

  • Extensions

  • Advanced Indexing

වගේ PostgreSQL-specific features explore කරන්න.

මේ විදිහට ඉගෙනගත්තොත් Framework එකකට PostgreSQL connect කරන එකට වඩා ගොඩක් deeper understanding එකක් ලැබෙනවා.

Tags:SQLPostgreSQLDatabaseBackend DevelopmentWeb DevelopmentRelational DatabasePostgreSQL vs MySQLDatabase Management

Did you find this article helpful?

Related Articles

View Post
Azure වලින් මොනවද කරන්න පුළුවන්?
Cloud Computing
October 7, 2026

Azure වලින් මොනවද කරන්න පුළුවන්?

Microsoft Azure කියන්නේ විවිධ විදිහෙ දේවල් ගොඩක් කරන්න පුලුවන් cloud platform එකක්.

View Post
මොනවද මේ Linux Shell වර්ග?
DevOpsFeatured
October 2, 2026

මොනවද මේ Linux Shell වර්ග?

Linux වල තියෙන Bash, Zsh, Fish, Dash වගේ Shells අතර වෙනස්කම්

View Post
Flutter සහ React Native
Programming
September 24, 2026

Flutter සහ React Native

Mobile App Development එකට හොද මොකක්ද?

ThishVerse Logo
THISHVERSE
|

© 2026 ThishVerse. All rights reserved.

PrivacyTerms
|By Thish
Comments (0)

Sign in to join the conversation

No comments yet. Be the first to comment!