1. PostgreSQL-in əsas komponentləri
Installer sənə üç əsas şeyi quraşdırmalıdır: server və iki client. İndi onlar haqqında bir az danışacam.
Server postgres
Bu, PostgreSQL-in ürəyidir. Server aşağıdakılara cavabdehdir:
- Client sorğularının işlənməsi.
- Verilənlərin idarə olunması: oxumaq, yazmaq, yeniləmək.
- Verilənlərin təhlükəsizliyi və bütövlüyünü təmin etmək.
PostgreSQL serverini işə salanda, o artıq client-lərdən sorğu qəbul etməyə hazır olur.
Client-lər
Client-lər — serverə qoşulub ona SQL-sorğular göndərən proqramlardır. PostgreSQL-də bir neçə məşhur client var:
psqlproqramı: PostgreSQL ilə işləmək üçün command line. "Oldschool" developer-lər və terminal sevənlər üçün idealdır.pgAdminproqramı: serveri idarə etmək üçün qrafik interfeys. Bu, database-lə işləmək üçün İsveçrə bıçağı kimidir — həm gözəl, həm rahat.- Başqa client-lər: əslində PostgreSQL-lə işləmək üçün onlarla kitabxana və alət var, məsələn, Python üçün
psycopg3və ya Ruby üçünpg.
Bu komponentlər necə işləyir? İstifadəçi client vasitəsilə (psql/pgAdmin) sorğu göndərir → client sorğunu postgres serverinə ötürür → server sorğunu fayl sistemindən və öz yaddaşından istifadə edərək işləyir → nəticə client-ə qaytarılır.
2. Konsol vasitəsilə baza ilə qoşuluruq
Ümid edirəm yadındadır, psql — PostgreSQL ilə command line-da işləmək üçün proqramdır. Tez bir şey yoxlamaq, sorğu icra etmək və ya bazanı öyrənmək istəyirsənsə, əladır.
Nümunə: psql istifadə etmək
# Serverə qoşuluruq
psql -U postgres
Hər şey uğurla alınsa, təxminən belə bir ekran görəcəksən:
psql (17.5)
Type "help" for help.
postgres=#
Təbrik edirəm, artıq psql içində command line-dasan!
Qoşulma qurulan kimi, komandalar icra edə bilərsən:
-- Baza yaratmaq
CREATE DATABASE test_db;
-- Bazaların siyahısına baxmaq
\l
-- Müəyyən bir bazaya keçmək
\c test_db
-- Sessiyanı bitirmək
\q
Bu, "birbaşa işləməyi" sevənlər üçün super alətdir.
3. Quraşdırma zamanı əsas problemlər
Bəs nəsə alınmadısa? Bazaların siyahısını görmədin, ya da login ola bilmədin? Installer işi bitirdi və salam 😡 Səhvlər, konsolda əsəbi mesajlar, postgres işə düşmür, psql səni tanımırmış kimi davranır. Tanışdır? Təbriklər — klassik "hər şeyi düz etdim, amma heç nə işləmir" mərhələsindəsən. 😅
Gəlin ən məşhur tələlərə baxaq, hər ikinci yeni başlayan ora düşür. Soyuqqanlılıq, isti çay və hər bir log səhvini məğlub etmək üçün qətiyyətlə silahlan — bu gün PostgreSQL-ə "yalnız mentorun kompunda işləyir" sindromunu unutdururuq. 🛠️🐘
Problem 1. Port konflikti
Yəqin ən çox rast gəlinən hal budur. PostgreSQL default olaraq 5432 portundan istifadə edir. Əgər bu port artıq başqa proqram tərəfindən tutulubsa, quraşdırma problemsiz keçəcək, amma serveri işə sala bilməyəcəksən.
Problemi necə tanımaq olar?
PostgreSQL işə salanda server işləməkdən imtina edir və ya belə bir mesaj verir:
could not bind IPv4 socket: Address already in use
Həll:
Hansı proqramın 5432 portunu tutduğunu yoxla. Linux-da bu komanda ilə:
sudo netstat -tuln | grep 5432
Windows-da konsolda belə yoxla:
netstat -ano | find "5432"
Əgər port həqiqətən tutulubsa, PostgreSQL üçün portu dəyişə bilərsən. postgresql.conf faylını aç (PostgreSQL-in data qovluğunda yerləşir) və bu sətri tap:
#port = 5432
Portu başqa bir sərbəst porta dəyiş, məsələn:
port = 5433
Dəyişiklikdən sonra serveri yenidən başlatmağı unutma.
Problem 2. Kifayət qədər hüquq yoxdur
Windows-da PostgreSQL installer-i düzgün başa çatdıra bilməyə bilər, çünki cari istifadəçinin kifayət qədər hüququ yoxdur.
Problemi necə tanımaq olar?
Installer donur və ya hüquq çatışmazlığı barədə mesaj verir.
Həll:
Quraşdırmanı administrator kimi işə sal. Bunun üçün installer-ə sağ klik et və "Administrator kimi işə sal" seç.
Problem 3. Ətraf mühit dəyişənləri ilə problemlər
Bəzən PostgreSQL quraşdırıldıqdan sonra psql komandası command line-da tanınmır.
Problemi necə tanımaq olar?
psql işə salanda belə bir mesaj görürsən:
'psql' is not recognized as an internal or external command
Həll:
Bu səhv PostgreSQL-in bin fayllarının olduğu qovluğun (məsələn, C:\Program Files\PostgreSQL\17\bin) ətraf mühit dəyişənlərinə əlavə olunmaması ilə bağlıdır.
Windows-da bunu düzəltmək üçün:
- "Sistem xüsusiyyətləri" → "Əlavə" → "Ətraf mühit dəyişənləri" aç.
- "Sistem dəyişənləri" bölməsində
Pathdəyişənini tap və redaktə et. - PostgreSQL-in
binqovluğunun yolunu əlavə et. Məsələn:C:\Program Files\PostgreSQL\17\bin - Bundan sonra command line-ı yenidən başlat.
4. Serverə qoşulmada səhvlər
Bəzən hər şey problemsiz gedir: PostgreSQL-i işə salırsan, psql açırsan və baza ilə qoşulma problemsiz alınır. Amma bəzən də alınmır. Birdən səhv çıxır. Nəsə səni buraxmır. Parol düz kimi, server işləyir... Amma psql sənə əsəbi mesaj verir.
Panik etmə — belə səhvlər hamıda olur. Aşağıda ən çox rast gəlinən qoşulma problemlərinə və onların tez həllinə baxacağıq.
Problem 1. postgres istifadəçisi üçün səhv parol
PostgreSQL quraşdıranda, postgres superuser üçün parol təyin edirsən. Əgər parolu unutmusansa və ya səhv yazmısansa, serverə qoşula bilməyəcəksən.
Problemi necə tanımaq olar?
Qoşulma komandası yazanda:
psql -U postgres
Belə bir səhv alırsan:
password authentication failed for user "postgres"
Həll:
postgres üçün parolu unutmusansa, onu sıfırlamaq olar:
pg_hba.conffaylını aç, bu fayl PostgreSQL-in data qovluğunda yerləşirC:\Program Files\PostgreSQL\17\data- Bu sətri tap və dəyiş:
Bu ilə əvəz et:host all all 127.0.0.1/32 md5host all all 127.0.0.1/32 trustBu, müvəqqəti olaraq parol yoxlamasını söndürəcək.
- PostgreSQL serverini yenidən başlat.
- Parolsuz baza ilə qoşul:
psql -U postgres - Parolu dəyiş:
ALTER ROLE postgres PASSWORD 'new_password'; pg_hba.confparametrlərini əvvəlki vəziyyətə qaytar və serveri yenidən başlat.
Problem 2. Səhv host və ya port
Əgər psql-client serverə qoşula bilmirsə, host və port parametrlərinin düzgün olduğuna əmin ol.
Problemi necə tanımaq olar?
Qoşulma səhvi belə görünə bilər:
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
Həll:
PostgreSQL serverinin işlədiyinə əmin ol:
systemctl status postgresql
(Linux) və ya Windows-da "Xidmətlər" (Services) aç (Ctrl+Shift+Esc).
Server işləyirsə, pg_hba.conf parametrlərini yoxla. Lokal host (127.0.0.1) və öz IP ünvanın üçün qoşulma sətrlərinin düzgün olduğuna əmin ol. Məsələn:
host all all 127.0.0.1/32 md5
host all all 192.168.1.100/32 md5
5. Problemlərin aradan qaldırılması üçün ümumi məsləhətlər
- PostgreSQL log-larından istifadə et
Log-lar — ən yaxşı dostundur. Onlar PostgreSQL-in data qovluğunda yerləşir (məsələn,/var/log/postgresql/Linux-da). Nəsə alınmadısa, log-ları analiz etməklə başla. - Sənədləşməni yoxla
PostgreSQL-in sənədləşməsi ən yaxşılarındandır. Səhvlə qarşılaşsan, böyük ehtimalla rəsmi sənədlərdə həllini tapacaqsan: https://www.postgresql.org/docs/. - Community-dən istifadə et
Əgər ilişib qaldınsa, Stack Overflow, ChatGPT və ya PostgreSQL forumlarına bax. Hazır həll tapmaq şansın yüksəkdir.
P.S.
Vacibdir! Əgər heç nə işləmədisə — bizə dəstəyə yaz: problemini həll edəcəyik və sonra bu məqaləni yeniləyəcəyik.
GO TO FULL VERSION