پایگاه داده PostgresSQL
دستورات دیتابیس مربوط به IBSng :
نصب دیتابیس Postgresql:
apt-get install postgresql-9.4
اضافه کردن کاربر به دیتابیس:
su - postgres createuser -s ibs
اضافه کردن دیتابیس:
su - postgres createdb IBSng
Drop کردن کاربر و یا دیتابیس:
su - postgres dropdb IBSng dropuser ibs
وارد شدن به دیتابیس از طریق خط فرمان:
psql -U ibs IBSng
بکاپ گرفتن از دیتابیس بصورت کامل:
pg_dump -Fc -U ibs IBSng > IBSng_dump
بازگرداندن بکاپ:
pg_restore -Fc -j CPU_CORES -U ibs -d IBSng IBSng_dump
مشاهده لیست Object های یک فایل بکاپ:
pg_restore -Fc -l IBSng_dump | less
بازگرداندن فقط جداولی که نیاز است:
pg_restore -Fc -j CPU_CORES -U ibs -d IBSng -L RESTORE.txt IBSng_dump
دیدن لیست دیتابیس های سیستم:
\l+
دیدن لیست جداول دیتابیس IBSng:
\d+
مثال مشاهده راس های ثبت شده:
select * from ras ;
مشاهده کاربران:
select * from normal_users ;
مشاهده لیست ادمین ها:
select * from admin ;
بکاپ گرفتن از یک جدول در خود دیتابیس:
select * into backup_TABLE from TABLE ;
بکاپ گرفتن از یک جدول در فایل CSV:
copy TABLE into ‘/tmp/FILE.csv’ csv header ;
برای دسترسی دادن به یک دیتابیس از یک IP خاص یک خط به صورت زیر در این فایل اضافه میکنیم:
nano /etc/postgresql/9.4/main/pg_hba.conf
host DatabaseName Username IPMask AuthenticaionMethod e.g: host template1 postgres 192.168.1.2/32 md5
و پس از آن دیتابیس رو Reload میکنیم:
/etc/init.d/postgresql reload
مشاهده Session های فعال و کاربران متصل به دیتابیس:
select * from pg_stat_activity;
Kill کردن یک پروسه از دیتابیس (توصیه نمیشود):
select pg_cancel_backend(PID);
توجه فرمایید که در هر مرحله میتوانید با زدن کلید TAB دستور را تکمیل نمایید. این دستورات اصلی برای شروع کار با دیتابیس است که قطعا بسته به کاری که نیاز دارید انجام دهید دستورات فرق میکنند.
table های اصلی دیتابیس IBSng :
table users:
این table شامل ستون های زیر می باشد
user_id | isp_id | credit | deposit | status | group_id | creation_date | deposit_recharge | nearest_exp_date
ستون user_id مربوط به id کاربر میباشد که unique است و برای ارتباط با table های دیگر استفاده میشود و در اصطلاح sql این فیلد primary key است. ستون isp_id مربوط به id میباشد که unique است . ستون credit میزان credit مصرفی کاربر را نمایش میدهد . ستون deposit میزان حساب ذخیره کاربر را نمایش میدهد . ستون status وضعیت charging را نشان میدهد . ستون group_id مربوط به id گروهی است که کاربر عضو آن است . ستون creation_date زمان ساخت کاربر را نمایش میدهد . ستون deposit_recharge میزان حساب ذخیره کاربر برای ترافیک مازاد را نمایش میدهد . ستون nearest_exp_date تاریخ انقضای کاربر را نمایش میدهد . table normal_users:
user_id | normal_username | normal_password | second_normal_username
table user_attrs:
user_id | attr_name | attr_value
table charges:
charge_id | charge_name | comment | isp_id
table charge_rules:
charge_rule_id | charge_rule_description | charge_rule_priority | charge_id
table charge_rule_attrs:
charge_rule_id | attr_name | attr_value
table groups:
group_id | group_name | isp_id | comment | status
table group_attres:
group_id | attr_name | attr_value