मैंने Ubuntu ARM32 पर सफलतापूर्वक नवीनतम संस्करण PostgreSQL (17.4) को कंपाइल और इंस्टॉल कर लिया है।

इस लेख में दिए गए कमांड मुख्य रूप से PostgreSQL के आधिकारिक दस्तावेज़ से लिए गए हैं। मैंने इस लेख में दिए गए प्रत्येक कमांड का वास्तविक परीक्षण किया है।

सफलतापूर्वक इंस्टॉल किए जा सकने वाले सिस्टम को यहां देखा जा सकता है: PostgreSQL निर्माण फ़ार्म

PostgreSQL 17.4 को कंपाइल और इंस्टॉल करना

1. निर्देशिका बनाएं और निर्देशिका में प्रवेश करें

mkdir postgresql && cd postgresql
  • mkdir postgresql: postgresql नामक एक नई निर्देशिका बनाता है।
  • cd postgresql: अभी बनाई गई postgresql निर्देशिका में प्रवेश करता है।

2. PostgreSQL स्रोत कोड डाउनलोड करें

wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
  • wget: निर्दिष्ट URL से फ़ाइल डाउनलोड करता है।
  • https://..../postgresql-17.4.tar.bz2: PostgreSQL 17.4 संस्करण के संकुचित स्रोत कोड पैकेज का डाउनलोड लिंक। यदि लिंक अमान्य है, तो आप स्वयं एक नया लिंक ढूंढ सकते हैं।

3. स्रोत कोड पैकेज को अनज़िप करें

tar xjf postgresql-17.4.tar.bz2
  • tar: .tar संकुचित फ़ाइलों को संसाधित करने के लिए उपयोग किया जाता है।

  • xjf: tar फ़ाइलों को अनज़िप करने के विकल्प:

    • x: फ़ाइलें अनज़िप करें।
    • j: bzip2 संपीड़न प्रारूप (.bz2) का उपयोग करें।
    • f: अनज़िप की जाने वाली फ़ाइल निर्दिष्ट करें।
  • postgresql-17.4.tar.bz2: अनज़िप की जाने वाली फ़ाइल का नाम।

4. अनज़िप की गई स्रोत कोड निर्देशिका में प्रवेश करें

cd postgresql-17.4
  • अनज़िप की गई PostgreSQL 17.4 स्रोत कोड निर्देशिका में प्रवेश करें।

5. निर्भरता पैकेज इंस्टॉल करें

sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
  • sudo apt install: apt पैकेज मैनेजर का उपयोग करके पैकेज इंस्टॉल करें।
  • libssl-dev, libsystemd-dev, libxml2-dev, libreadline-dev: PostgreSQL संकलन के लिए आवश्यक विकास पुस्तकालयों को इंस्टॉल करें, जो क्रमशः SSL लाइब्रेरी, Systemd लाइब्रेरी, XML लाइब्रेरी और Readline लाइब्रेरी हैं।

6. संकलन विकल्प कॉन्फ़िगर करें

./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
  • ./configure: PostgreSQL के संकलन परिवेश को तैयार करें।
  • --prefix=/usr/local/pgsql: PostgreSQL इंस्टॉलेशन निर्देशिका को /usr/local/pgsql के रूप में निर्दिष्ट करें।
  • --with-openssl: OpenSSL समर्थन सक्षम करें।
  • --with-libxml: XML समर्थन सक्षम करें।
  • --with-systemd: Systemd समर्थन सक्षम करें।

7. स्रोत कोड संकलित करें

make -j$(nproc)
  • make: संकलन प्रक्रिया शुरू करें।
  • -j$(nproc): संकलन प्रक्रिया को गति देने के लिए समानांतर में संकलन कार्यों को निष्पादित करने के लिए nproc (सिस्टम के CPU कोर की संख्या) का उपयोग करें।

8. PostgreSQL इंस्टॉल करें

sudo make install
  • sudo make install: व्यवस्थापक अधिकारों के साथ इंस्टॉल करने के लिए sudo का उपयोग करें, make install संकलित फ़ाइलों को सिस्टम में इंस्टॉल करेगा, /usr/local/pgsql निर्देशिका में इंस्टॉल करेगा जो पहले ./configure कमांड में निर्दिष्ट की गई थी।

9. पर्यावरण चर सेट करें

टेक्स्ट एडिटर का उपयोग करें 1. /etc/profile फ़ाइल संपादित करें:

sudo nano /etc/profile
  • sudo: सुपरयूज़र (व्यवस्थापक) विशेषाधिकारों के साथ कमांड चलाने का संकेत देता है। क्योंकि /etc/profile फ़ाइल को संशोधित करने के लिए व्यवस्थापक विशेषाधिकारों की आवश्यकता होती है।
  • nano: यह एक टेक्स्ट एडिटर है, जिसका उपयोग अक्सर टर्मिनल वातावरण में फ़ाइलों को संपादित करने के लिए किया जाता है।
  • /etc/profile: यह एक वैश्विक कॉन्फ़िगरेशन फ़ाइल है, जिसका उपयोग सिस्टम-वाइड पर्यावरण चर और स्टार्टअप कॉन्फ़िगरेशन सेट करने के लिए किया जाता है। जब सभी उपयोगकर्ता सिस्टम में लॉग इन करते हैं, तो इस फ़ाइल में सेटिंग्स निष्पादित की जाएंगी।
  1. पर्यावरण चर जोड़ें:
export PATH=/usr/local/pgsql/bin:$PATH
  • export: एक पर्यावरण चर सेट करने के लिए उपयोग किया जाता है ताकि यह वर्तमान और बाल प्रक्रियाओं में उपलब्ध हो।
  • PATH: यह एक पर्यावरण चर है, जिसमें सिस्टम में निष्पादन योग्य फ़ाइलों की निर्देशिका सूची शामिल है। कमांड निष्पादित करते समय, सिस्टम PATH चर में सूचीबद्ध निर्देशिकाओं के अनुसार कमांड की खोज करेगा।
  • /usr/local/pgsql/bin: यह PostgreSQL डेटाबेस की निष्पादन योग्य फ़ाइल निर्देशिका है, इसे जोड़ने का मतलब है कि इस निर्देशिका में निष्पादन योग्य फ़ाइलें (जैसे psql) सिस्टम द्वारा पहचानी जाएंगी।
  • :$PATH: यहां $PATH मूल रूप से मौजूद पथ का प्रतिनिधित्व करता है, और नई पथ /usr/local/pgsql/bin को मूल PATH के सामने जोड़ा जाता है। इस तरह, सिस्टम पहले नई निर्देशिका की जांच करेगा, और फिर मूल पथ की जांच करेगा।

इस कमांड का कार्य PostgreSQL की निष्पादन योग्य फ़ाइल निर्देशिका को सिस्टम के पर्यावरण चर PATH में जोड़ना है, ताकि यह सुनिश्चित किया जा सके कि PostgreSQL कमांड (जैसे psql) को कमांड लाइन में सीधे चलाया जा सकता है, और पूर्ण पथ प्रदान करने की आवश्यकता नहीं है। संशोधित सेटिंग्स सभी उपयोगकर्ताओं पर लागू होंगी

PostgreSQL डेटाबेस को इनिशियलाइज़ करना

ये कमांड मुख्य रूप से Linux सर्वर पर PostgreSQL डेटाबेस सर्वर को मैन्युअल रूप से कॉन्फ़िगर करने के लिए उपयोग किए जाते हैं, जिसमें PostgreSQL सिस्टम उपयोगकर्ता बनाना, डेटाबेस को इनिशियलाइज़ करना, डेटाबेस सेवा शुरू करना और इसे systemd सेवा के रूप में पंजीकृत करना शामिल है ताकि स्टार्टअप पर स्वचालित रूप से शुरू हो सके।

1. PostgreSQL उपयोगकर्ता बनाएं

sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
  • sudo: सुपरयूज़र विशेषाधिकारों के साथ कमांड निष्पादित करें।
  • useradd: नया उपयोगकर्ता बनाएं।
  • -m: उपयोगकर्ता की होम निर्देशिका बनाएं।
  • -U: साथ ही उपयोगकर्ता नाम के समान एक उपयोगकर्ता समूह बनाएं।
  • -r: एक सिस्टम उपयोगकर्ता बनाएं (सिस्टम उपयोगकर्ता UID 1000 से कम है, लॉगिन के लिए उपयोग नहीं किया जाता है)।
  • -d /var/lib/postgresql: होम निर्देशिका को /var/lib/postgresql के रूप में निर्दिष्ट करें।
  • -s /bin/bash: शेल को /bin/bash के रूप में निर्दिष्ट करें।
  • postgres: उपयोगकर्ता नाम।

यह कमांड PostgreSQL के लिए एक समर्पित सिस्टम उपयोगकर्ता postgres बनाता है।


2. PostgreSQL निर्देशिका के स्वामी को बदलें

sudo chown postgres /usr/local/pgsql
  • chown postgres /usr/local/pgsql: /usr/local/pgsql निर्देशिका के स्वामी को postgres उपयोगकर्ता में बदलें, ताकि इसे इस निर्देशिका को पढ़ने और लिखने की अनुमति मिल सके।

3. PostgreSQL उपयोगकर्ता के लिए पासवर्ड सेट करें

sudo passwd postgres
  • passwd postgres: postgres उपयोगकर्ता का पासवर्ड बदलें।

4. PostgreSQL उपयोगकर्ता पर स्विच करें

su postgres
  • su postgres: PostgreSQL से संबंधित कमांड का उपयोग करने के लिए postgres उपयोगकर्ता पर स्विच करें।

5. डेटाबेस को इनिशियलाइज़ करें

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  • initdb -D /usr/local/pgsql/data: /usr/local/pgsql/data निर्देशिका में डेटाबेस स्टोरेज को इनिशियलाइज़ करें।

6. PostgreSQL डेटाबेस शुरू करें

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
  • postgres -D /usr/local/pgsql/data: postgres प्रक्रिया के रूप में डेटाबेस शुरू करें, डेटा /usr/local/pgsql/data निर्देशिका में संग्रहीत है।

7. किसी अन्य टर्मिनल सत्र में, डेटाबेस में प्रवेश करें

su postgres
/usr/local/pgsql/bin/psql
  • psql: PostgreSQL का कमांड लाइन इंटरेक्टिव टूल, डेटाबेस शेल में प्रवेश करें।

8. डेटाबेस उपयोगकर्ता का पासवर्ड सेट करें

ALTER USER postgres WITH PASSWORD 'your_new_password';
  • डेटाबेस उपयोगकर्ता postgres का पासवर्ड बदलें।

9. systemd सेवा बनाएं

sudo nano /etc/systemd/system/postgresql.service
  • nano /etc/systemd/system/postgresql.service: systemd कॉन्फ़िगरेशन फ़ाइल संपादित करें, ताकि PostgreSQL को सेवा के रूप में चलाया जा सके।

कॉन्फ़िगरेशन फ़ाइल सामग्री:

[Unit]
Description=PostgreSQL server
#Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target
  • Description=PostgreSQL server: वर्णन करता है कि यह सेवा PostgreSQL सर्वर है।
  • After=network-online.target: नेटवर्क कनेक्शन उपलब्ध होने के बाद PostgreSQL शुरू करने की प्रतीक्षा करें।
  • User=postgres: postgres उपयोगकर्ता के रूप में चलाएं।
  • ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data: PostgreSQL सर्वर शुरू करें।
  • ExecReload=/bin/kill -HUP $MAINPID: पुनः लोड करते समय HUP सिग्नल भेजें।
  • KillMode=mixed: मिश्रित समाप्ति मोड।
  • KillSignal=SIGINT: PostgreSQL प्रक्रिया को समाप्त करने का सिग्नल।
  • TimeoutSec=infinity: टाइमआउट को अनंत पर सेट करें।

10. systemd सेवा सक्षम करें

sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
  • daemon-reload: नए postgresql.service को प्रभावी बनाने के लिए systemd कॉन्फ़िगरेशन को पुनः लोड करें।
  • start postgresql: PostgreSQL सेवा शुरू करें।
  • status postgresql: PostgreSQL रनिंग स्थिति की जांच करें।
  • enable postgresql: स्टार्टअप पर स्वचालित रूप से PostgreSQL शुरू करें।

इन कमांड का उद्देश्य है:

  1. postgres उपयोगकर्ता बनाएं जो विशेष रूप से PostgreSQL चलाने के लिए उपयोग किया जाता है।
  2. डेटाबेस संग्रहण निर्देशिका को इनिशियलाइज़ करें।
  3. PostgreSQL डेटाबेस शुरू करें और psql इंटरैक्टिव कमांड लाइन में प्रवेश करें।
  4. systemd को कॉन्फ़िगर करें ताकि PostgreSQL सिस्टम सेवा के रूप में चले और स्टार्टअप पर स्वचालित स्टार्टअप का समर्थन करे।

इस तरह PostgreSQL सर्वर सामान्य रूप से चल सकता है और सिस्टम स्टार्टअप पर स्वचालित रूप से शुरू हो सकता है।

संदर्भ सामग्री

PostgreSQL: प्रलेखन: 17: अध्याय 17. स्रोत कोड से इंस्टॉलेशन

इस वेबपेज के अन्य संस्करण

इस लेख के कई भाषाओं में संस्करण हैं।

यदि आप कोई टिप्पणी पोस्ट करना चाहते हैं, तो कृपया निम्नलिखित वेबपेज पर जाएं:

ZH EN ZH-TW JA

ये वेबपेज केवल ब्राउज़िंग का समर्थन करते हैं, टिप्पणियों या संदेशों को पोस्ट नहीं किया जा सकता है, लेकिन अधिक भाषा विकल्प प्रदान करते हैं, और लोडिंग समय कम होता है:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO

इस लेख का अनुवाद AI द्वारा सरलीकृत चीनी से हिंदी में किया गया है।