تنصيب postgresql حسب الإصدار الخاص به
1- تنصيب الإصدار 9.3 يتم عبر التعليمات التالية
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib libpq-dev
2- تنصيب الإصدار 9.5
- إضافة المستودع الخاص ب postgresql إلى linux
يتم ذلك عبر إنشاء ملف خاص ضمن sources.list.d
وليكن pgdg.list
sudo touch /etc/apt/sources.list.d/pgdg.list
sudo gedit /etc/apt/sources.list.d/pgdg.list
ومن ثم إضافة الحزمة التالية إليه وحفظ الملف
deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
- إضافة المفتاح الخاص بمستودع حزمة postgresql
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- تحديث الحزم ضمن النظام
sudo apt-get update
- تنصيب postgresql-9.5
sudo apt-get install postgresql-9.5 pgadmin3 postgresql-contrib libpq-dev
إعداد postgresql
ينبغي لنا أن نفهم بعض الأشياء عن كيفية عمل postgresql
1- مستخدم postgresql الافتراضي:
بعد تنصيب PostgreSQL يتم إنشاء مستخدم نظام باسم postgres بدون كلمة مرور(طبعا لا يمكن الدخول إلى server بدون إنشاء كلمة مرور ) له صلاحية super admin
يمكنه القيام بجميع المهام والولوج إلى جميع السيرفرات الخاصة بقاعدة البيانات
2- قاعدة البيانات الافتراضية :
PostgreSQL يتم تثبيتها مع قاعدة افتراضية باسم postgres
قاعدة البيانات الابقة تستخدم لأغراض إدارية dmin purposes
، ويتم إنشاء قاهدة بيانات آخرى للاستخدامات التي نريدها
3- سطر الأوامر المساعدة sql: PostgreSQL يتضمن sqlسطر الأوامرالمساعد لإدارة القواعد البيانات والسيرفرات. هناك واجهة بيانية تدعى pgadmin3 التعامل معها اسهل وتقوم بنفس مهام سطر الأوامر السابق. سوف نستخدم سطر الأوامر السابق لإنشاء مستخدم جديد وقاعدة البيانات ابتدائية
إنشاء مستخدم آدمن Super User
سنقوم بالولوج إلى حساب postgres من خلال المستخدم الجذر الخاص بالنظام بك ، ومن ثم نستخدم حساب postgres لإنشاء حساب مستخدم جديد بصلاحية آدمن.
- الولوج إلى المستخدم postgres :
## switch user to root:
su -
## switch user to postgres:
su - postgres
## or
sudo -i -u postgres
- الدخول إلى سطر الأوامر المساعدة sql:
psql
- إنشاء مستخدم من خلال طرفية sql:
postgres=# CREATE USER youruseraccount
postgres-# WITH SUPERUSER CREATEDB CREATEROLE
postgres-# PASSWORD 'userAccountPassword';
يتم الخروج من الطرفية عبر التعليمة التالية q/
- تسجيل دخول باستخدام psql وإنشاء قاعدة بيانات
psql postgres
CREATE DATABASE db_name WITH OWNER username;
- آخيرا الاتصال بقاعدة البيانات
\connect test_db;
استخدام pg ضمن تطبيق Rails
- تنصيب الحزمة الخاصة بقاعدة البيانات
gem 'pg'
- تعديل ملف database.yml
default: &default
adapter: postgresql
user: username
password:
pool: 5
timeout: 5000
development:
<<: *default
database: db_development
test:
<<: *default
database: db_test
كيفية عمل Backup & Restore
- Backup & Restore لقاعدة بيانات واحدة فقط
#Backup
pg_dump -U {user-name} {source_db} -f {dumpfilename.sql}
#Restore
psql -U {user-name} -d {desintation_db}-f {dumpfilename.sql}
- Backup & Restore لجميع قواعد المعطيات
#Backup
pg_dumpall > backup_file
#Restore
psql -f backup_file postgres
النسخة تكون ضمن المسار /var/lib/postgresql