আমি সফলভাবে 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
কম্পাইল করা ফাইলগুলোকে সিস্টেমে ইনস্টল করে, যা./configure
কমান্ডে নির্দিষ্ট করা/usr/local/pgsql
ডিরেক্টরিতে ইনস্টল করা হবে।
9. এনভায়রনমেন্ট ভেরিয়েবল সেট করুন
টেক্সট এডিটর ব্যবহার করে 1. /etc/profile
ফাইল এডিট করুন:
sudo nano /etc/profile
sudo
: সুপার ইউজার (অ্যাডমিনিস্ট্রেটর) অনুমতিতে কমান্ড চালানোর জন্য নির্দেশ করে। কারণ/etc/profile
ফাইল পরিবর্তন করার জন্য অ্যাডমিনিস্ট্রেটর অধিকার প্রয়োজন।nano
: এটি একটি টেক্সট এডিটর, যা সাধারণত টার্মিনাল এনভায়রনমেন্টে ফাইল এডিট করার জন্য ব্যবহৃত হয়।/etc/profile
: এটি একটি গ্লোবাল কনফিগারেশন ফাইল, যা সিস্টেম-ব্যাপী এনভায়রনমেন্ট ভেরিয়েবল এবং স্টার্টআপ কনফিগারেশন সেট করার জন্য ব্যবহৃত হয়। যখন কোনো ব্যবহারকারী সিস্টেমে লগইন করে, তখন এই ফাইলের সেটিংস কার্যকর করা হয়।
- এনভায়রনমেন্ট ভেরিয়েবল যোগ করুন:
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 ডেটাবেজ ইনিশিয়ালাইজ করা
এই কমান্ডগুলো মূলত লিনাক্স সার্ভারে ম্যানুয়ালি 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
: ইউজার নাম।
এই কমান্ডটি postgres
নামে একটি PostgreSQL ডেডিকেটেড সিস্টেম ইউজার তৈরি করে।
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
:systemd
কনফিগারেশন রিলোড করুন, যাতে নতুনpostgresql.service
কার্যকর হয়।start postgresql
: PostgreSQL সার্ভিস শুরু করুন।status postgresql
: PostgreSQL এর চলমান অবস্থা পরীক্ষা করুন।enable postgresql
: কম্পিউটার চালু হওয়ার সময় স্বয়ংক্রিয়ভাবে PostgreSQL শুরু করুন।
এই কমান্ডগুলোর উদ্দেশ্য:
- PostgreSQL চালানোর জন্য বিশেষভাবে
postgres
ইউজার তৈরি করা। - ডেটাবেজ স্টোরেজ ডিরেক্টরি ইনিশিয়ালাইজ করা।
- PostgreSQL ডেটাবেজ শুরু করা এবং
psql
ইন্টারেক্টিভ কমান্ড লাইনে প্রবেশ করা। systemd
কনফিগার করা যাতে PostgreSQL একটি সিস্টেম সার্ভিস হিসেবে চলে এবং কম্পিউটার চালু হওয়ার সাথে সাথে স্বয়ংক্রিয়ভাবে শুরু হতে পারে।
এভাবে PostgreSQL সার্ভারটি সঠিকভাবে চলতে পারবে এবং সিস্টেম শুরু হওয়ার সময় স্বয়ংক্রিয়ভাবে শুরু হতে পারবে।
রেফারেন্স
PostgreSQL: ডকুমেন্টেশন: 17: চ্যাপ্টার 17. সোর্স কোড থেকে ইনস্টলেশন
এই ওয়েবসাইটের অন্যান্য সংস্করণ
এই আর্টিকেলের বিভিন্ন ভাষার সংস্করণ রয়েছে।
যদি আপনি কোনো মন্তব্য করতে চান, তাহলে অনুগ্রহ করে নিচের ওয়েবসাইটে যান:
এই ওয়েবসাইটগুলো শুধুমাত্র ব্রাউজিং সমর্থন করে, কোনো মন্তব্য বা বার্তা দেওয়া যায় না, তবে আরও বেশি ভাষার বিকল্প প্রদান করে এবং লোড হতে কম সময় নেয়:
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 দ্বারা Chinese (Simplified) থেকে Bengali-তে অনুবাদ করা হয়েছে।