پایگاه داده 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:
user_id | isp_id | credit | deposit | status | group_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