−25%

د Windows پر کلنۍ تادیه، تر ۳۱ اکتوبر. پلانونه وګورئ

EQVPS

په VPS کې PostgreSQL نصب او په خوندي ډول نښلول

په Ubuntu کې PostgreSQL 16 نصب کړئ، ډیټابیس او کاروونکی جوړ کړئ، او پرته له دې چې ۵۴۳۲ پورټ انټرنیټ ته خلاص کړئ له لرې ونښلئ: د SSH تونل یا اجازې لیست سره.

PostgreSQL په یوه کمانډ نصبیږي. خلک په لرې لاسرسي کې تیروتنه کوي: ۵۴۳۲ پورټ ټولې نړۍ ته خلاصوي، پټنوم ږدي، بیا حیران کیږي چې ولې لاګونه د ننوتلو له هڅو ډک دي. دا لارښود په Ubuntu 24.04 کې Postgres نصبوي، یو ډیټابیس جوړوي، او له بهر څخه د نښلولو دوه خوندي لارې ښیي.

۱. نصب

apt update && apt install -y postgresql
systemctl status postgresql --no-pager

په Ubuntu 24.04 کې دا PostgreSQL 16 دی. د ډیفالټ په توګه یوازې localhost ته غوږ نیسي؛ تر هغه یې همداسې وساتئ چې دلیل ونه لرئ.

۲. کاروونکی او ډیټابیس جوړ کړئ

sudo -u postgres psql <<'SQL'
CREATE USER app WITH PASSWORD 'use-a-long-random-password';
CREATE DATABASE appdb OWNER app;
SQL

په همدې سرور اپونه د postgresql://app:PASSWORD@localhost:5432/appdb سره نښلي.

۳. له لپټاپ څخه ونښلئ: د SSH تونل (سپارښتل شوی)

هیڅ شی خلاصول نشته، په سرور کې هیڅ شی تنظیمول نشته. تونل د SSH له لارې یو محلي پورټ فارورډ کوي:

ssh -N -L 5433:localhost:5432 root@203.0.113.10

په NAT پلان له پینل څخه خپل شخصي SSH پورټ زیات کړئ:

ssh -N -p 20123 -L 5433:localhost:5432 root@your-nat-host

تر څو چې تونل خلاص وي، خپل ډیټابیس کلاینټ localhost:5433 ته واړوئ. SSH هر څه رمزوي او ۵۴۳۲ پورټ انټرنیټ ته تړلی پاتې کیږي. ګرافیکي وسیلې لکه DBeaver او pgAdmin یو «SSH tunnel» ټب لري چې همدا کار کوي.

۴. د بل سرور لپاره مستقیم لاسرسی (د اجازې لیست)

که په بل ځای کې یو اپ سرور مستقیم نښلیدو ته اړتیا لري، یوازې د هغه IP ته اجازه ورکړئ. دا اړینه ده چې د ډیټابیس سرور د dedicated IP په پلان وي، ځکه NAT پلانونه له SSH پرته راتلونکي اتصالونه نه مني.

په /etc/postgresql/16/main/postgresql.conf کې:

listen_addresses = '*'

د /etc/postgresql/16/main/pg_hba.conf په پای کې:

hostssl  appdb  app  198.51.100.20/32  scram-sha-256

فایروال یوازې د همدې یوې پتې لپاره خلاص کړئ او بیا یې پیل کړئ:

ufw allow from 198.51.100.20 to any port 5432 proto tcp
systemctl restart postgresql

hostssl رمز شوي اتصالونه اړین کوي؛ د Ubuntu بسته یو self-signed سند لري، نو کلاینټونه باید د sslmode=require سره ونښلي.

۵. معقول لومړني تنظیمات

د ۲ GB RAM سرور لپاره، په postgresql.conf کې:

shared_buffers = 512MB
effective_cache_size = 1536MB
work_mem = 8MB

له بدلون وروسته بیا پیل کړئ. د ډیری کوچنیو اپونو لپاره دا کافي دی؛ د ریښتینو پوښتنو له لیدو وروسته دقیق تنظیم کړئ.

۶. بیک‌اپونه

هره شپه یو ډمپ، یوه اونۍ ساتل کیږي:

mkdir -p /var/backups/pg && chown postgres /var/backups/pg
cat > /etc/cron.d/pg-backup <<'EOF'
30 3 * * * postgres pg_dump -Fc appdb > /var/backups/pg/appdb-$(date +\%u).dump
EOF

-Fc یو فشرده ډمپ جوړوي چې د pg_restore سره بیا رغول کیږي. ډمپونه له سرور بهر هم کاپي کړئ؛ Managed Backups د ټول ماشین ورځني د بیا رغونې ټکي زیاتوي.

اړوند

پوښتنې

ایا ۵۴۳۲ پورټ باید انټرنیټ ته خلاص کړم؟

غوره ده چې نه. خلاص ډیټابیس پورټونه دوامداره سکین او د پټنوم اټکل بریدونو ته ښکاره کیږي. د SSH تونل له لارې ونښلئ، یا که یو اپ سرور مستقیم نښلیدو ته اړتیا لري، یوازې د هغه IP ته اجازه ورکړئ، هم په pg_hba.conf کې او هم په فایروال کې.

ایا په NAT پلان کې PostgreSQL کارولی شم؟

هو. په همدې سرور اپونه محلي نښلي، او تاسو له لپټاپ څخه په خپل شخصي SSH پورټ د SSH تونل له لارې ډیټابیس ته رسیږئ. هغه څه چې NAT پلان یې نشي کولی له نورو سرورونو څخه ۵۴۳۲ ته مستقیم راتلونکي اتصالونه منل دي.

PostgreSQL څومره RAM ته اړتیا لري؟

په څو سوه میګابایټه چلیږي او هر څه چې ورکړئ د کیش په توګه یې کاروي. یو عام پیل ټکی دا دی چې shared_buffers د RAM شاوخوا ۲۵٪ وي. د کوچني اپ ډیټابیس لپاره د ۲ GB RAM سرور له کافي زیات دی.

د ډیټابیس بیک‌اپ څنګه واخلم؟

په ځانګړي بڼه ('pg_dump -Fc') pg_dump وکاروئ او له cron یې وچلوئ. له سرور بهر هم کاپۍ وساتئ. Managed Backups د ټول سرور ورځني د بیا رغونې ټکي زیاتوي.

د PostgreSQL کومه نسخه به ترلاسه کړم؟

Ubuntu 24.04 د PostgreSQL 16 سره راځي، او Debian 12 د 15 سره. د نوې لویې نسخې لپاره د PostgreSQL رسمي apt ذخیره (apt.postgresql.org) زیاته کړئ.

تبصرې

لا تبصرې نشته. لومړی اوسئ.

یوه تبصره پریږدئ

تبصرې د ښکاره کیدو مخکې اعتدال کیږي.