JavaScript और PostgreSQL: Node.js में एकीकरण की पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

JavaScript और PostgreSQL का साथ क्यों ज़रूरी है?

\n\n

अगर आप JavaScript (खासकर Node.js) में कोड लिखते हैं और अब भी प्रोडक्शन में MySQL या SQLite का उपयोग कर रहे हैं, तो आप पैसे और समय दोनों गंवा रहे हैं। PostgreSQL सिर्फ एक और डेटाबेस नहीं है। यह डेटा के लिए एक स्विस आर्मी नाइफ है जो जटिल JOIN से लेकर JSON दस्तावेज़, फुल-टेक्स्ट सर्च और जियो-क्वेरी तक सब कुछ कर सकता है। JavaScript + PostgreSQL की जोड़ी वेब ऐप्स, माइक्रोसर्विसेज और एनालिटिक्स के लिए आधुनिक मानक है।

\n\n

इस गाइड में हम वह सब कुछ कवर करेंगे जो एक Node.js डेवलपर को जानना चाहिए: ड्राइवर इंस्टॉल करने से लेकर ट्रांजैक्शन, माइग्रेशन और ऑप्टिमाइज़ेशन तक। कोई बकवास नहीं — सिर्फ कोड और प्रैक्टिस।

\n\n

चरण 1: pg ड्राइवर इंस्टॉल और सेटअप

\n\n

PostgreSQL को JavaScript से जोड़ने के लिए pg पैकेज का उपयोग किया जाता है — यह ऑफिशियल क्लाइंट है। इसे इंस्टॉल करने में एक सेकंड लगता है:

\n\n
npm install pg
\n\n

अब कनेक्शन बनाते हैं। दो तरीके हैं: Client (एक कनेक्शन) और Pool (कनेक्शन पूल)। प्रोडक्शन के लिए हमेशा Pool का उपयोग करें — यह कनेक्शन को रीयूज़ करता है और लोड के समय डेटाबेस को क्रैश नहीं होने देता।

\n\n
const { Pool } = require('pg');\n\nconst pool = new Pool({\n  user: 'your_user',\n  host: 'localhost',\n  database: 'your_db',\n  password: 'your_password',\n  port: 5432,\n  max: 20,        // पूल में अधिकतम कनेक्शन\n  idleTimeoutMillis: 30000,\n  connectionTimeoutMillis: 2000,\n});\n\n// कनेक्शन टेस्ट\npool.query('SELECT NOW()')\n  .then(res => console.log('✅ कनेक्टेड:', res.rows[0].now))\n  .catch(err => console.error('❌ त्रुटि:', err));
\n\n

महत्वपूर्ण: पासवर्ड को कभी हार्डकोड न करें। एनवायरनमेंट वेरिएबल (process.env.DATABASE_URL) या सीक्रेट मैनेजर का उपयोग करें।

\n\n

चरण 2: CRUD — बुनियादी संचालन

\n\n

किसी भी ऐप की शुरुआत CRUD (Create, Read, Update, Delete) से होती है। आइए JavaScript के साथ PostgreSQL में हर ऑपरेशन को समझते हैं।

\n\n

टेबल बनाना (DDL)

\n\n
const createTable = async () => {\n  const query = `\n    CREATE TABLE IF NOT EXISTS users (\n      id SERIAL PRIMARY KEY,\n      name VARCHAR(100) NOT NULL,\n      email VARCHAR(255) UNIQUE NOT NULL,\n      age INTEGER CHECK (age > 0),\n      created_at TIMESTAMP DEFAULT NOW()\n    );\n  `;\n  await pool.query(query);\n  console.log('✅ users टेबल बन गई');\n};\n\ncreateTable();
\n\n

INSERT — डेटा जोड़ना

\n\n
const addUser = async (name, email, age) => {\n  // पैरामीटराइज़्ड क्वेरी — SQL इंजेक्शन से बचाव!\n  const query = `\n    INSERT INTO users (name, email, age)\n    VALUES ($1, $2, $3)\n    RETURNING *;\n  `;\n  const values = [name, email, age];\n  const res = await pool.query(query, values);\n  console.log('✅ यूज़र जोड़ा गया:', res.rows[0]);\n  return res.rows[0];\n};\n\n// उदाहरण कॉल\naddUser('राहुल शर्मा', 'rahul@example.com', 28);
\n\n

SELECT — फ़िल्टर के साथ डेटा पढ़ना

\n\n
const getUsers = async (minAge = 0) => {\n  const query = 'SELECT * FROM users WHERE age > $1 ORDER BY created_at DESC';\n  const res = await pool.query(query, [minAge]);\n  console.log(`📊 कुल यूज़र मिले: ${res.rowCount}`);\n  return res.rows;\n};\n\ngetUsers(25).then(users => console.log(users));
\n\n

UPDATE — रिकॉर्ड अपडेट करना

\n\n
const updateUserEmail = async (id, newEmail) => {\n  const query = `\n    UPDATE users\n    SET email = $2, updated_at = NOW()\n    WHERE id = $1\n    RETURNING *;\n  `;\n  const res = await pool.query(query, [id, newEmail]);\n  if (res.rowCount === 0) {\n    console.log('⚠️ यूज़र नहीं मिला');\n    return null;\n  }\n  console.log('✅ ईमेल अपडेट हुआ:', res.rows[0]);\n  return res.rows[0];\n};
\n\n

DELETE — डेटा हटाना

\n\n
const deleteUser = async (id) => {\n  const query = 'DELETE FROM users WHERE id = $1 RETURNING *';\n                

ब्लॉग

पुस्तक अनुशंसाएँ