הצלחתי להדר ולהתקין את הגרסה האחרונה של PostgreSQL (17.4) על Ubuntu ARM32.
הפקודות במאמר זה מקורן בעיקר בתיעוד הרשמי של 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
: זהו קובץ תצורה גלובלי, המשמש להגדרת משתני סביבה ותצורות הפעלה ברחבי המערכת. כל המשתמשים יבצעו את ההגדרות בקובץ זה בעת הכניסה למערכת.
- הוספת משתני סביבה:
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 באופן ידני על שרת Linux, כולל יצירת משתמש מערכת PostgreSQL, אתחול מסד הנתונים, הפעלת שירות מסד הנתונים ורישומו כשירות systemd
, כדי שיופעל אוטומטית בעת האתחול.
1. יצירת משתמש PostgreSQL
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: מבצע פקודות עם הרשאות סופר משתמש.useradd
: יוצר משתמש חדש.-m
: יוצר ספריית בית למשתמש.-U
: יוצר גם קבוצת משתמשים עם אותו שם משתמש.-r
: יוצר משתמש מערכת (מזהה המשתמש של משתמש המערכת נמוך מ- 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
: מעבר למשתמשpostgres
, כדי להשתמש בפקודות הקשורות ל- PostgreSQL.
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 בעת האתחול.
מטרת פקודות אלה היא:
- יצירת משתמש
postgres
ייעודי להפעלת PostgreSQL. - אתחול ספריית אחסון מסד הנתונים.
- הפעלת מסד הנתונים 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
מאמר זה תורגם מ- Chinese (Simplified) ל- Hebrew באמצעות AI.