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 د ټول ماشین ورځني د بیا رغونې ټکي زیاتوي.
تبصرې
لا تبصرې نشته. لومړی اوسئ.