Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PostgreSQL Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Postgres Intro
  • Relational Model
  • Install & Setup
  • Connect psql
  • SELECT basics
  • Data Types
  • Create Table
  • Constraints
  • INSERT / UPDATE / DELETE
  • NULL & COALESCE
  • Schema Design
  • Relationships
  • Joins
  • Joins Advanced
  • Aggregation
  • ORDER / LIMIT
  • String Functions
  • Date Functions
  • Subqueries
  • CTE (WITH)
  • Views
  • Window Functions
  • Transactions
  • Indexes
  • Performance
  • UPSERT
  • JSONB
  • Full-Text Search
  • Triggers
  • Roles & Privileges
  • Backup & Restore
  • Node + PostgreSQL
  • Prisma Intro
  • Prisma Migrations
  • TechShop Schema
  • TechShop Queries
  • TechShop API
  • Best Practices
  • Common Mistakes
  • Interview Questions
  1. Docs
  2. PostgreSQL
  3. Transactions — ACID ও BEGIN/COMMIT/ROLLBACK
PostgreSQLAdvanced

Transactions — ACID ও BEGIN/COMMIT/ROLLBACK

একাধিক operation এক কাজে বানানো — atomicity গ্যারান্টি।

5টি অংশবাংলা ভাষায়
order fulfill — সব-or-নথিংsql
sql
BEGIN;

UPDATE products SET qty = qty - 2 WHERE id = 1;
INSERT INTO order_items (order_id, product_id, qty, price)
VALUES (100, 1, 2, 24000);

COMMIT;
-- কোনো ভুল হলে: ROLLBACK;
ACIDঅর্থ
Atomicityসব সফল নতুবা কিছুই হয় না
Consistencyconstraints সবসময় ঠিক থাকে
Isolationconcurrent transaction-এ আলাদা দেখায়
Durabilitycommit-এর পর data হারায় না
  • psql-এ প্রতিটি statement নিজে auto-commit হয় — transaction-থাকতে BEGIN দিলেই group
  • Error হলে transaction aborted — ROLLBACK বা SAVEPOINT
  • Isolation level — READ COMMITTED (default) থেকে SERIALIZABLE
savepointsql
sql
BEGIN;
INSERT INTO products (name, price) VALUES ('A', 10);
SAVEPOINT after_a;
INSERT INTO products (name, price) VALUES ('B', 20);
-- B ভুল বুঝলাম — up to after_a ঘুরে যাই
ROLLBACK TO SAVEPOINT after_a;
COMMIT;
ইন্টারঅ্যাক্টিভ সময়

Transaction খুলে রেখে (BEGIN → query gap) রাত চলে গেলে লক জমা হয়। সার্ভার code-এ transaction block স্বল্প-সময় রাখুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরWindow Functions — rank, row_number, overপরেরIndex — পড়া দ্রুত করার বইয়ের সূচি
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com