كيفية تثبيت PostgreSQL على أوبونتو
المقدمة
PostgreSQL، والذي يُشار إليه غالبًا باسم Postgres، هو نظام قاعدة بيانات قوي ومفتوح المصدر يعتمد على الكائنات والعلاقات. مع أكثر من 30 عامًا من التطوير النشط، اكتسب PostgreSQL سمعة قوية من حيث موثوقيته وثراء ميزاته وأدائه.
تثبيت PostgreSQL على أوبونتو هو خيار شائع للعديد من المطورين ومديري قواعد البيانات لعدة أسباب مقنعة:
-
التوافق: أوبونتو، كونه واحدًا من أكثر توزيعات لينكس استخدامًا، يوفر توافقًا ممتازًا مع PostgreSQL.
-
الأداء: مزيج من كفاءة أوبونتو وبنية PostgreSQL القوية يؤدي إلى عمليات قاعدة بيانات عالية الأداء.
-
الأمان: كل من أوبونتو وPostgreSQL معروفان بميزاتهما الأمنية القوية، مما يجعل هذا المزيج مثاليًا للتعامل مع البيانات الحساسة.
-
دعم المجتمع: كل من أوبونتو وPostgreSQL لديهما مجتمعات كبيرة ونشطة، مما يضمن توفر المساعدة عند الحاجة.
-
مجاني ومفتوح المصدر: كلا النظامين مجانيان للاستخدام ومفتوحا المصدر، مما يسمح بنشر فعال من حيث التكلفة وإمكانية التخصيص إذا لزم الأمر.
سيرشدك هذا الدليل خلال عملية تثبيت PostgreSQL على نظام أوبونتو الخاص بك، من التحضير إلى الاستخدام الأساسي. سواء كنت تقوم بإعداد بيئة تطوير أو تحضير خادم إنتاج، سيوفر لك هذا الدليل الخطوات اللازمة لتشغيل PostgreSQL على أوبونتو.
المتطلبات المسبقة
قبل أن نبدأ عملية التثبيت، من المهم التأكد من أن نظامك يلبي المتطلبات اللازمة وأن لديك الأذونات المناسبة. دعنا نستعرض المتطلبات المسبقة:
متطلبات نظام أوبونتو
-
إصدار أوبونتو: هذا الدليل ينطبق على أوبونتو 20.04 LTS (Focal Fossa) والإصدارات الأحدث. ومع ذلك، يُوصى دائمًا باستخدام أحدث إصدار من الدعم طويل الأجل (LTS) من أجل الاستقرار.
-
موارد النظام: يمكن أن يعمل PostgreSQL على أنظمة ذات موارد محدودة، ولكن للحصول على أداء مثالي، ضع في اعتبارك التوصيات التالية:
- المعالج: معالج بسرعة 1 جيجاهرتز أو أسرع
- الذاكرة العشوائية: على الأقل 1 جيجابايت (يوصى بـ 4 جيجابايت أو أكثر للاستخدام الإنتاجي)
- التخزين: 512 ميجابايت لتثبيت PostgreSQL، بالإضافة إلى مساحة إضافية لقواعد البيانات الخاصة بك
-
اتصال بالإنترنت: ستحتاج إلى اتصال نشط بالإنترنت لتنزيل PostgreSQL والاعتماديات الخاصة به.
أذونات المستخدم
لتثبيت PostgreSQL، ستحتاج إلى صلاحيات sudo على نظام أوبونتو الخاص بك. هذا يعني أنه يجب عليك إما تسجيل الدخول كمستخدم الجذر أو أن يكون لديك حساب يمكنه استخدام sudo لتنفيذ الأوامر بصلاحيات الجذر.
للتحقق مما إذا كان لديك صلاحيات sudo، يمكنك تشغيل الأمر التالي في الطرفية:
sudo -v
إذا طُلب منك إدخال كلمة مرور وتم تنفيذ الأمر دون أي أخطاء، فإن لديك صلاحيات sudo.
الوصول إلى الطرفية
يجب أن تكون مرتاحًا لاستخدام واجهة سطر الأوامر (CLI) حيث سنستخدم الطرفية لمعظم عملية التثبيت والتكوين.
نسخ بياناتك احتياطيًا
إذا كنت تقوم بتثبيت PostgreSQL على نظام يحتوي بالفعل على بيانات مهمة، فمن الجيد دائمًا نسخ بياناتك احتياطيًا قبل المتابعة مع أي تثبيت كبير للبرامج.
تحديث النظام
قبل تثبيت PostgreSQL، من الضروري التأكد من أن نظام أوبونتو الخاص بك محدث. هذه الخطوة مهمة لعدة أسباب:
- الأمان: غالبًا ما تتضمن التحديثات تصحيحات أمان مهمة.
- الاستقرار: يمكن أن تصلح التحديثات الأخيرة الأخطاء وتحسن استقرار النظام.
- التوافق: وجود أحدث الحزم يمكن أن يمنع مشاكل التوافق المحتملة أثناء تثبيت PostgreSQL.
خطوات تحديث أوبونتو
لتحديث نظام أوبونتو الخاص بك، اتبع هذه الخطوات:
-
افتح الطرفية الخاصة بك. يمكنك القيام بذلك عن طريق الضغط على
Ctrl + Alt + T
أو من خلال البحث عن "Terminal" في لوحة تحكم أوبونتو. -
أولاً، قم بتحديث قوائم الحزم للتحديثات وتثبيت الحزم الجديدة. قم بتشغيل الأمر التالي:
sudo apt update
يقوم هذا الأمر بتحديث قائمة الحزم المتاحة وإصداراتها، ولكنه لا يقوم بتثبيت أو ترقية أي حزم.
-
بعد اكتمال التحديث، قم بترقية الحزم المثبتة إلى أحدث إصداراتها:
sudo apt upgrade
سيظهر لك هذا الأمر قائمة بالحزم التي سيتم ترقيتها. اضغط على 'Y' ثم 'Enter' لتأكيد المتابعة مع الترقية.
-
بشكل اختياري، يمكنك تشغيل ترقية كاملة للنظام، والتي ستتعامل أيضًا بذكاء مع تغيير الاعتماديات مع إصدارات جديدة من الحزم:
sudo apt full-upgrade
كن حذرًا مع هذا الأمر لأنه قد يزيل بعض الحزم إذا لزم الأمر لترقية أخرى.
-
بعد اكتمال عملية الترقية، من الجيد إعادة تشغيل النظام لضمان تطبيق جميع التحديثات بشكل صحيح:
sudo reboot
التحقق من التحديث
بعد إعادة تشغيل النظام، يمكنك التحقق من نجاح التحديث من خلال التحقق من إصدار أوبونتو:
lsb_release -a
سيعرض هذا الأمر معلومات حول توزيع أوبونتو الخاص بك، بما في ذلك رقم الإصدار.
إضافة مستودع PostgreSQL
بينما يتوفر PostgreSQL في المستودعات الافتراضية لأوبونتو، غالبًا ما لا يكون أحدث إصدار. لضمان تثبيت أحدث إصدار مستقر من PostgreSQL، سنضيف المستودع الرسمي لـ PostgreSQL إلى نظامنا.
لماذا نضيف المستودع الرسمي لـ PostgreSQL؟
- أحدث الإصدارات: يوفر المستودع الرسمي أحدث إصدارات PostgreSQL.
- تحديثات في الوقت المناسب: تتوفر تصحيحات الأمان وإصلاحات الأخطاء بشكل أسرع من خلال المستودع الرسمي.
- التناسق: يضمن استخدام المستودع الرسمي التوافق بين PostgreSQL وامتداداته.
خطوات إضافة مستودع PostgreSQL
اتبع هذه الخطوات لإضافة مستودع PostgreSQL إلى نظام أوبونتو الخاص بك:
-
أولاً، نحتاج إلى إضافة مفتاح توقيع PostgreSQL. يُستخدم هذا المفتاح للتحقق من أن الحزم التي نحن على وشك تثبيتها أصلية. قم بتشغيل الأمر التالي:
sudo apt-get install wget ca-certificates wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
-
بعد ذلك، نحتاج إلى إضافة مستودع PostgreSQL إلى قائمة مصادر نظامنا. أنشئ ملفًا جديدًا باسم
pgdg.list
في دليل/etc/apt/sources.list.d/
:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
يقوم هذا الأمر بإنشاء ملف جديد بمعلومات المستودع. الجزء
$(lsb_release -cs)
يكتشف تلقائيًا إصدار أوبونتو الخاص بك ويُدخل الاسم الرمزي الصحيح. -
بعد إضافة المستودع، قم بتحديث قوائم الحزم مرة أخرى لتضمين مستودع PostgreSQL الذي تمت إضافته حديثًا:
sudo apt update
التحقق من إضافة المستودع
للتحقق من أن مستودع PostgreSQL قد تمت إضافته بنجاح، يمكنك التحقق من محتويات ملف pgdg.list
:
cat /etc/apt/sources.list.d/pgdg.list
يجب أن ترى سطرًا مشابهًا لـ:
deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main
(ملاحظة: قد يتم استبدال "focal" باسم الإصدار الخاص بك من أوبونتو)
تثبيت PostgreSQL
الآن بعد أن أضفنا مستودع PostgreSQL وقمنا بتحديث نظامنا، نحن مستعدون لتثبيت PostgreSQL. هذه العملية بسيطة ويمكن إكمالها ببعض الأوامر البسيطة.
الأمر لتثبيت PostgreSQL
لتثبيت PostgreSQL، سنستخدم مدير الحزم apt
. إليك الأمر لتثبيت أحدث إصدار من PostgreSQL مع امتداد شائع الاستخدام:
sudo apt install postgresql postgresql-contrib
دعنا نفصل هذا الأمر:
postgresql
: هذه هي حزمة PostgreSQL الأساسية.postgresql-contrib
: تحتوي هذه الحزمة على أدوات ووظائف إضافية ليست جزءًا من نظام PostgreSQL الأساسي ولكنها غالبًا ما تكون مفيدة.
خلال عملية التثبيت، قد يُطلب منك تأكيد التثبيت. إذا كان الأمر كذلك، اكتب 'Y' واضغط على Enter للمتابعة.
التحقق من التثبيت
بعد اكتمال التثبيت، من المهم التحقق من أن PostgreSQL تم تثبيته بشكل صحيح ويعمل. إليك بعض الطرق للقيام بذلك:
-
تحقق من إصدار PostgreSQL:
psql --version
يجب أن يعرض هذا إصدار PostgreSQL الذي تم تثبيته.
-
تحقق من حالة خدمة PostgreSQL:
sudo systemctl status postgresql
يجب أن ترى مخرجات تشير إلى أن الخدمة نشطة (تعمل).
-
تحقق من أن PostgreSQL يستمع للاتصالات:
sudo ss -tunelp | grep 5432
يتحقق هذا الأمر مما إذا كان PostgreSQL يستمع على المنفذ الافتراضي الخاص به (5432). يجب أن ترى مخرجات إذا كان PostgreSQL يعمل بشكل صحيح.
إعداد PostgreSQL الأولي
عند تثبيت PostgreSQL على أوبونتو، يتم تلقائيًا إنشاء حساب مستخدم جديد يسمى postgres
. يرتبط هذا الحساب بدور Postgres الافتراضي. للتفاعل مع PostgreSQL باستخدام هذا الحساب، يمكنك التبديل إليه على النحو التالي:
sudo -i -u postgres
ثم، يمكنك الوصول إلى موجه PostgreSQL عن طريق كتابة:
psql
سيدخلك هذا إلى موجه PostgreSQL، وسترى شيئًا مثل:
psql (13.x)
Type "help" for help.
postgres=#
لخروج من موجه PostgreSQL، اكتب:
\q
وللعودة إلى حساب المستخدم العادي الخاص بك، اكتب ببساطة:
exit
تهانينا! لقد قمت بتثبيت PostgreSQL بنجاح على نظام أوبونتو الخاص بك. في القسم التالي، سنغطي كيفية تكوين PostgreSQL وفقًا لاحتياجاتك.
تكوين PostgreSQL
بعد تثبيت PostgreSQL، من المهم تكوينه بشكل صحيح وفقًا لاحتياجاتك. ستتناول هذه القسم إنشاء قاعدة بيانات جديدة، إعداد مستخدم جديد، وتكوين طرق المصادقة.
إنشاء قاعدة بيانات جديدة
بشكل افتراضي، يقوم PostgreSQL بإنشاء قاعدة بيانات تسمى postgres
. ومع ذلك، من الجيد إنشاء قواعد بيانات منفصلة لمشاريعك. إليك كيفية إنشاء قاعدة بيانات جديدة:
-
التبديل إلى مستخدم postgres:
sudo -i -u postgres
-
الوصول إلى موجه PostgreSQL:
psql
-
إنشاء قاعدة بيانات جديدة باستخدام أمر CREATE DATABASE:
CREATE DATABASE myproject;
استبدل
myproject
باسم قاعدة البيانات المرغوب. -
يمكنك التحقق من إنشاء قاعدة البيانات باستخدام:
\l
ستقوم هذه القائمة بعرض جميع قواعد البيانات.
إعداد مستخدم جديد
يوصى بإنشاء مستخدم جديد لكل تطبيق بدلاً من استخدام المستخدم الافتراضي postgres. إليك كيفية القيام بذلك:
-
بينما لا تزال في موجه psql، قم بإنشاء مستخدم جديد:
CREATE USER myuser WITH PASSWORD 'mypassword';
استبدل
myuser
وmypassword
باسم المستخدم وكلمة المرور المرغوبين. -
منح الامتيازات للمستخدم الجديد على قاعدة البيانات الجديدة:
GRANT ALL PRIVILEGES ON DATABASE myproject TO myuser;
-
يمكنك التحقق من إنشاء المستخدم باستخدام:
\du
ستقوم هذه القائمة بعرض جميع المستخدمين وأدوارهم.
تكوين طرق المصادقة
يستخدم PostgreSQL طرق مصادقة مختلفة يتم تكوينها في ملف pg_hba.conf
. إليك كيفية تعديله:
-
الخروج من موجه PostgreSQL:
\q
-
افتح ملف
pg_hba.conf
باستخدام محرر نصوص (قد تحتاج إلى صلاحيات sudo):sudo nano /etc/postgresql/13/main/pg_hba.conf
ملاحظة: استبدل
13
برقم إصدار PostgreSQL الخاص بك إذا كان مختلفًا. -
يحتوي الملف على أسطر تحدد كيفية مصادقة المستخدمين. قد يبدو التكوين النموذجي كما يلي:
# TYPE DATABASE USER ADDRESS METHOD local all postgres peer local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5
local
تعني الاتصال عبر مآخذ التوصيل المحليةhost
تعني الاتصال عبر TCP/IPmd5
تعني مصادقة كلمة المرورpeer
تعني أن اسم المستخدم في النظام يتطابق مباشرة مع اسم مستخدم PostgreSQL
-
بعد إجراء التغييرات، احفظ الملف واخرج من المحرر.
-
أعد تشغيل PostgreSQL لتطبيق التغييرات:
sudo systemctl restart postgresql
تذكر، هذه هي التكوينات الأساسية. اعتمادًا على احتياجاتك المحددة، قد تحتاج إلى ضبط الإعدادات بشكل أكبر، خاصةً في بيئات الإنتاج حيث يكون الأمان أمرًا بالغ الأهمية.
أوامر PostgreSQL الأساسية
الآن بعد أن قمنا بتثبيت PostgreSQL وتكوينه، دعنا نستكشف بعض الأوامر الأساسية التي ستساعدك في التفاعل مع قواعد بياناتك. هذه الأوامر ضرورية لإدارة قواعد البيانات والجداول وإجراء العمليات الأساسية.
الاتصال بـ PostgreSQL
-
الاتصال كمستخدم postgres:
sudo -i -u postgres
-
بدء الطرفية التفاعلية لـ PostgreSQL:
psql
-
للاتصال بقاعدة بيانات معينة:
psql -d myproject
استبدل
myproject
باسم قاعدة البيانات الخاصة بك.
عمليات قاعدة البيانات
-
قائمة بجميع قواعد البيانات:
\l
-
الاتصال بقاعدة بيانات معينة:
\c myproject
-
إنشاء قاعدة بيانات جديدة:
CREATE DATABASE newdb;
-
حذف قاعدة بيانات:
DROP DATABASE newdb;
عمليات الجدول
-
قائمة الجداول في قاعدة البيانات الحالية:
\dt
-
إنشاء جدول جديد:
CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE NOT NULL );
-
وصف هيكل الجدول:
\d users
-
حذف جدول:
DROP TABLE users;
أمثلة استعلامات أساسية
-
إدخال بيانات في جدول:
INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');
-
تحديد جميع البيانات من جدول:
SELECT * FROM users;
-
تحديث البيانات في جدول:
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
-
حذف البيانات من جدول:
DELETE FROM users WHERE id = 1;
أوامر مفيدة أخرى
-
عرض إصدار PostgreSQL:
SELECT version();
-
قائمة بجميع المستخدمين وأدوارهم:
\du
-
عرض المستخدم الحالي وقاعدة البيانات:
\conninfo
-
تنفيذ الأوامر من ملف:
\i filename.sql
-
الخروج من psql:
\q
تذكر، هذه هي الأوامر الأساسية فقط لتبدأ. يقدم PostgreSQL مجموعة واسعة من الميزات المتقدمة والأوامر للعمليات الأكثر تعقيدًا والتحسينات.
صيانة PostgreSQL
تعتبر الصيانة المناسبة لتثبيت PostgreSQL الخاص بك أمرًا بالغ الأهمية لضمان الأداء الأمثل وسلامة البيانات والأمان. تغطي هذه القسم بعض مهام الصيانة الأساسية التي يجب أن تكون على دراية بها.
بدء وإيقاف خدمة PostgreSQL
-
لبدء خدمة PostgreSQL:
sudo systemctl start postgresql
-
لإيقاف خدمة PostgreSQL:
sudo systemctl stop postgresql
-
لإعادة تشغيل خدمة PostgreSQL:
sudo systemctl restart postgresql
-
للتحقق من حالة خدمة PostgreSQL:
sudo systemctl status postgresql
نسخ احتياطي واستعادة قواعد البيانات
يعد النسخ الاحتياطي المنتظم لقواعد بياناتك أمرًا بالغ الأهمية لحماية البيانات. يوفر PostgreSQL عدة طرق للنسخ الاحتياطي والاستعادة.
إنشاء نسخة احتياطية
-
لنسخ قاعدة بيانات واحدة احتياطيًا:
pg_dump dbname > dbname.sql
-
لنسخ جميع قواعد البيانات احتياطيًا:
pg_dumpall > all_databases.sql
الاستعادة من نسخة احتياطية
-
لاستعادة قاعدة بيانات واحدة:
psql dbname < dbname.sql
-
لاستعادة جميع قواعد البيانات:
psql -f all_databases.sql postgres
تحديث PostgreSQL
من المهم الحفاظ على تحديث PostgreSQL لأغراض الأمان والأداء. إليك كيفية التحديث:
-
تحديث قائمة الحزم:
sudo apt update
-
ترقية PostgreSQL:
sudo apt upgrade postgresql postgresql-contrib
مراقبة PostgreSQL
-
تحقق من الاتصالات النشطة:
SELECT * FROM pg_stat_activity;
-
مراقبة حجم قاعدة البيانات:
SELECT pg_size_pretty(pg_database_size('dbname'));
-
تحقق من أحجام الجداول:
SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;
VACUUM و ANALYZE
يستخدم PostgreSQL MVCC (التحكم في التزامن متعدد الإصدارات)، مما قد يؤدي إلى زيادة حجم الجداول والفهارس. تساعد أوامر VACUUM في إدارة ذلك:
-
لتفريغ جدول معين:
VACUUM tablename;
-
لتفريغ وتحليل (تحديث الإحصائيات) قاعدة بيانات:
VACUUM ANALYZE;
-
للتفريغ التلقائي، تأكد من تمكين autovacuum في ملف postgresql.conf الخاص بك:
autovacuum = on
إدارة السجلات
يمكن أن توفر سجلات PostgreSQL معلومات قيمة لاستكشاف الأخطاء وإصلاحها وتحسين الأداء:
-
العثور على موقع ملف السجل:
SHOW log_directory; SHOW log_filename;
-
يمكنك تعديل إعدادات السجل في ملف postgresql.conf لضبط ما يتم تسجيله وكيف.
تذكر، هذه هي مهام الصيانة الأساسية. في بيئات الإنتاج، قد تحتاج إلى استراتيجيات أكثر تقدمًا، بما في ذلك إعداد النسخ المتماثل، وتحميل التوازن، وتنفيذ حلول النسخ الاحتياطي والمراقبة الأكثر تعقيدًا.
استكشاف المشكلات الشائعة
حتى مع الإعداد والصيانة بعناية، قد تواجه مشكلات مع تثبيت PostgreSQL الخاص بك. إليك بعض المشكلات الشائعة وحلولها:
مشاكل الأذونات
-
المشكلة: أخطاء "إذن مرفوض" عند محاولة الوصول إلى PostgreSQL.
الحل:
- تأكد من أن المستخدم لديه الأذونات اللازمة:
sudo -i -u postgres createuser --interactive
- منح الأذونات اللازمة للمستخدم:
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
- تأكد من أن المستخدم لديه الأذونات اللازمة:
-
المشكلة: لا يمكن الوصول إلى PostgreSQL باستخدام مستخدم أوبونتو الخاص بك.
الحل:
- إنشاء دور PostgreSQL بنفس اسم مستخدم أوبونتو الخاص بك:
sudo -u postgres createuser --interactive
- إنشاء دور PostgreSQL بنفس اسم مستخدم أوبونتو الخاص بك:
مشاكل الاتصال
-
المشكلة: خطأ "الاتصال مرفوض".
الحل:
- تحقق مما إذا كان PostgreSQL يعمل:
sudo systemctl status postgresql
- إذا لم يكن يعمل، ابدأه:
sudo systemctl start postgresql
- تأكد من أن PostgreSQL يستمع على العنوان الصحيح في
postgresql.conf
:listen_addresses = 'localhost' # أو '*' لجميع الواجهات
- تحقق مما إذا كان PostgreSQL يعمل:
-
المشكلة: لا يمكن الاتصال عن بُعد.
الحل:
- تعديل
pg_hba.conf
للسماح بالاتصالات عن بُعد:host all all 0.0.0.0/0 md5
- تحديث
postgresql.conf
:listen_addresses = '*'
- إعادة تشغيل PostgreSQL:
sudo systemctl restart postgresql
- تعديل
تعارضات الإصدارات
-
المشكلة: عدم التوافق بين إصدار PostgreSQL والامتدادات المثبتة.
الحل:
- تحقق من إصدار PostgreSQL:
psql --version
- تأكد من أن الامتدادات متوافقة. قد تحتاج إلى ترقية الامتدادات:
ALTER EXTENSION extension_name UPDATE TO 'new_version';
- تحقق من إصدار PostgreSQL:
مشاكل الأداء
-
المشكلة: استعلامات بطيئة أو أداء عام ضعيف.
الحل:
- استخدم EXPLAIN ANALYZE لفهم تنفيذ الاستعلام:
EXPLAIN ANALYZE SELECT * FROM large_table WHERE condition;
- تأكد من وجود فهارس صحيحة:
CREATE INDEX idx_name ON table_name (column_name);
- ضبط معلمات تكوين PostgreSQL في ملف
postgresql.conf
:shared_buffers = 256MB effective_cache_size = 768MB
- استخدم EXPLAIN ANALYZE لفهم تنفيذ الاستعلام:
-
المشكلة: زيادة حجم قاعدة البيانات مما يؤدي إلى تدهور الأداء.
الحل:
- قم بتشغيل VACUUM و ANALYZE بانتظام:
VACUUM ANALYZE;
- ضع في اعتبارك إعداد autovacuum للصيانة التلقائية.
- قم بتشغيل VACUUM و ANALYZE بانتظام:
مشاكل مساحة القرص
-
المشكلة: نفاد مساحة القرص.
الحل:
- تحديد الجداول والفهارس الكبيرة:
SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;
- إزالة البيانات غير الضرورية أو أرشفة البيانات القديمة.
- ضع في اعتبارك تقسيم الجداول للجداول الكبيرة جدًا.
- تحديد الجداول والفهارس الكبيرة:
تذكر، هذه هي الحلول العامة فقط. قد تختلف الخطوات الدقيقة اعتمادًا على إصدار PostgreSQL المحدد وتكوين النظام الخاص بك. دائمًا قم بعمل نسخة احتياطية من بياناتك قبل إجراء تغييرات كبيرة على قاعدة البيانات أو تكوينها.
الأسئلة الشائعة (FAQ)
س: كيف يمكنني معرفة إصدار PostgreSQL الذي أستخدمه؟
ج: يمكنك استخدام الأمر التالي في الطرفية:
psql --version
أو، إذا كنت بالفعل في موجه psql:
SELECT version();
س: هل يمكنني تثبيت إصدارات متعددة من PostgreSQL على نفس نظام أوبونتو؟
ج: نعم، من الممكن تثبيت إصدارات متعددة. ومع ذلك، تحتاج إلى إدارة المنافذ وأدلة البيانات بعناية لتجنب التعارضات.
س: كيف يمكنني تغيير كلمة مرور مستخدم PostgreSQL؟
ج: يمكنك تغيير كلمة المرور باستخدام الأمر SQL التالي:
ALTER USER username WITH PASSWORD 'new_password';
س: كيف يمكنني تمكين الوصول عن بُعد إلى خادم PostgreSQL الخاص بي؟
ج: تحتاج إلى تعديل ملفات postgresql.conf
و pg_hba.conf
. في postgresql.conf
، قم بتعيين listen_addresses = '*'
، وفي pg_hba.conf
، أضف سطرًا مثل host all all 0.0.0.0/0 md5
. تذكر إعادة تشغيل PostgreSQL بعد إجراء هذه التغييرات.
س: ما الفرق بين TRUNCATE و DELETE في PostgreSQL؟
ج: TRUNCATE أسرع لأنه يزيل جميع الصفوف في جدول دون مسحها فرديًا. DELETE يزيل الصفوف واحدة تلو الأخرى ويسجل عمليات الحذف في سجل المعاملات. TRUNCATE أيضًا يعيد تعيين التسلسلات ولا يُشغل مشغلات DELETE.
س: كيف يمكنني تحسين أداء PostgreSQL؟
ج: بعض الطرق لتحسين الأداء تشمل:
- الفهارس الصحيحة
- VACUUM و ANALYZE بانتظام
- تحسين الاستعلامات
- ضبط معلمات تكوين PostgreSQL
- ترقية الأجهزة (خاصة إضافة المزيد من الذاكرة العشوائية)