پایگاه داده PostgresSQL
سطر ۱۳: | سطر ۱۳: | ||
− | نصب دیتابیس Postgresql: | + | '''نصب دیتابیس Postgresql:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۲۰: | سطر ۲۰: | ||
</div> | </div> | ||
− | اضافه کردن کاربر به دیتابیس: | + | '''اضافه کردن کاربر به دیتابیس:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۲۸: | سطر ۲۸: | ||
</div> | </div> | ||
− | اضافه کردن دیتابیس: | + | '''اضافه کردن دیتابیس:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۳۵: | سطر ۳۵: | ||
</div> | </div> | ||
− | Drop کردن کاربر و یا دیتابیس: | + | '''Drop کردن کاربر و یا دیتابیس:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۴۳: | سطر ۴۳: | ||
</div> | </div> | ||
− | وارد شدن به دیتابیس از طریق خط فرمان: | + | '''وارد شدن به دیتابیس از طریق خط فرمان:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۴۹: | سطر ۴۹: | ||
</div> | </div> | ||
− | بکاپ گرفتن از دیتابیس بصورت کامل: | + | '''بکاپ گرفتن از دیتابیس بصورت کامل:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۵۵: | سطر ۵۵: | ||
</div> | </div> | ||
− | بازگرداندن بکاپ: | + | '''بازگرداندن بکاپ:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۶۱: | سطر ۶۱: | ||
</div> | </div> | ||
− | مشاهده لیست Object های یک فایل بکاپ: | + | '''مشاهده لیست Object های یک فایل بکاپ:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۶۷: | سطر ۶۷: | ||
</div> | </div> | ||
− | بازگرداندن فقط جداولی که نیاز است: | + | '''بازگرداندن فقط جداولی که نیاز است:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۷۳: | سطر ۷۳: | ||
</div> | </div> | ||
− | دیدن لیست دیتابیس های سیستم: | + | '''دیدن لیست دیتابیس های سیستم:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۷۹: | سطر ۷۹: | ||
</div> | </div> | ||
− | دیدن لیست جداول دیتابیس IBSng: | + | '''دیدن لیست جداول دیتابیس IBSng:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۸۶: | سطر ۸۶: | ||
مثال | مثال | ||
− | مشاهده راس های ثبت شده: | + | '''مشاهده راس های ثبت شده:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۹۲: | سطر ۹۲: | ||
</div> | </div> | ||
− | مشاهده کاربران: | + | '''مشاهده کاربران:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۹۸: | سطر ۹۸: | ||
</div> | </div> | ||
− | مشاهده لیست ادمین ها: | + | '''مشاهده لیست ادمین ها:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۰۴: | سطر ۱۰۴: | ||
</div> | </div> | ||
− | بکاپ گرفتن از یک جدول در خود دیتابیس: | + | '''بکاپ گرفتن از یک جدول در خود دیتابیس:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۱۰: | سطر ۱۱۰: | ||
</div> | </div> | ||
− | بکاپ گرفتن از یک جدول در فایل CSV: | + | '''بکاپ گرفتن از یک جدول در فایل CSV:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۱۶: | سطر ۱۱۶: | ||
</div> | </div> | ||
+ | '''remote access:''' | ||
برای دسترسی دادن به یک دیتابیس از یک IP خاص یک خط به صورت زیر در این فایل اضافه میکنیم: | برای دسترسی دادن به یک دیتابیس از یک IP خاص یک خط به صورت زیر در این فایل اضافه میکنیم: | ||
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۳۱: | سطر ۱۳۲: | ||
</div> | </div> | ||
− | مشاهده Session های فعال و کاربران متصل به دیتابیس: | + | '''مشاهده Session های فعال و کاربران متصل به دیتابیس:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۳۷: | سطر ۱۳۸: | ||
</div> | </div> | ||
− | Kill کردن یک پروسه از دیتابیس (توصیه نمیشود): | + | '''Kill کردن یک پروسه از دیتابیس (توصیه نمیشود):''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
سطر ۱۵۰: | سطر ۱۵۱: | ||
− | table users: | + | '''table users:''' |
این table شامل ستون های زیر می باشد | این table شامل ستون های زیر می باشد | ||
سطر ۱۷۵: | سطر ۱۷۶: | ||
− | table normal_users: | + | '''table normal_users:''' |
این table شامل ستون های زیر می باشد | این table شامل ستون های زیر می باشد | ||
سطر ۱۸۸: | سطر ۱۸۹: | ||
ستون normal_password گذرواژه کاربر را نمایش میدهد. | ستون normal_password گذرواژه کاربر را نمایش میدهد. | ||
− | table user_attrs: | + | '''table user_attrs:''' |
این table شامل ستون های زیر می باشد | این table شامل ستون های زیر می باشد | ||
سطر ۲۰۱: | سطر ۲۰۲: | ||
ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد. | ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد. | ||
− | table charges: | + | '''table charges:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
charge_id | charge_name | comment | isp_id | charge_id | charge_name | comment | isp_id | ||
سطر ۲۱۴: | سطر ۲۱۵: | ||
ستون isp_id مربوط به id ای-اس-پی میباشد که unique است . | ستون isp_id مربوط به id ای-اس-پی میباشد که unique است . | ||
− | table charge_rules: | + | '''table charge_rules:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
charge_rule_id | charge_rule_description | charge_rule_priority | charge_id | charge_rule_id | charge_rule_description | charge_rule_priority | charge_id | ||
سطر ۲۲۷: | سطر ۲۲۸: | ||
ستون charge_id مربوط به id هر شارژ میباشد که unique است.هر شارژ یا همان charge_id میتواند چندین charge_rule داشته باشد. | ستون charge_id مربوط به id هر شارژ میباشد که unique است.هر شارژ یا همان charge_id میتواند چندین charge_rule داشته باشد. | ||
− | table charge_rule_attrs: | + | '''table charge_rule_attrs:''' |
<div dir=ltr lang=en> | <div dir=ltr lang=en> | ||
charge_rule_id | attr_name | attr_value | charge_rule_id | attr_name | attr_value | ||
سطر ۲۵۷: | سطر ۲۵۸: | ||
</div> | </div> | ||
+ | ستون group_id مربوط به id گروه میباشد که unique است | ||
+ | |||
+ | ستون attr_name همان attribute مربوط به گروه را نمایش میدهد. | ||
+ | |||
+ | ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد. | ||
نسخهٔ ۲ اوت ۲۰۱۷، ساعت ۱۲:۲۲
--Siavash (بحث) ۲ اوت ۲۰۱۷، ساعت ۱۲:۴۸ (IRDT)پیکربندی دیتابیس
محتویات |
دستورات دیتابیس مربوط به 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 ;
remote access: برای دسترسی دادن به یک دیتابیس از یک 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:
این table شامل ستون های زیر می باشد
user_id | normal_username | normal_password | second_normal_username
ستون user_id مربوط به id کاربر میباشد که unique است و برای ارتباط با table های دیگر استفاده میشود و در اصطلاح sql این فیلد primary key است.
ستون normal_username نام کاربری کاربر را نمایش میدهد.
ستون normal_password گذرواژه کاربر را نمایش میدهد.
table user_attrs:
این table شامل ستون های زیر می باشد
user_id | attr_name | attr_value
ستون user_id مربوط به id کاربر میباشد که unique است و برای ارتباط با table های دیگر استفاده میشود و در اصطلاح sql این فیلد primary key است.
ستون attr_name همان attribute مربوط به کاربر را نمایش میدهد.
ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد.
table charges:
charge_id | charge_name | comment | isp_id
ستون charge_id مربوط به id هر شارژ میباشد که unique است و برای ارتباط با table های دیگر استفاده میشود و در اصطلاح sql این فیلد primary key است.
ستون charge_name نام مربوط به هر charge_id را نمایش میدهد
ستون comment توضیحات مربوط به هر charge_id را نمایش میدهد
ستون isp_id مربوط به id ای-اس-پی میباشد که unique است .
table charge_rules:
charge_rule_id | charge_rule_description | charge_rule_priority | charge_id
ستون charge_rule_id مربوط به id هر charge_rule میباشد که unique است و و در اصطلاح sql این فیلد primary key است.
ستون charge_rule_description نام مربوط به هر charge_rule_id را نمایش میدهد
ستون charge_rule_priority الویت هر charge_rule_id را نمایش میدهد
ستون charge_id مربوط به id هر شارژ میباشد که unique است.هر شارژ یا همان charge_id میتواند چندین charge_rule داشته باشد.
table charge_rule_attrs:
charge_rule_id | attr_name | attr_value
ستون charge_rule_id مربوط به id هر charge_rule میباشد که unique است و و در اصطلاح sql این فیلد primary key است.
ستون attr_name همان attribute مربوط به charge_rule_id را نمایش میدهد.
ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد.
table groups:
group_id | group_name | isp_id | comment | status
ستون group_id مربوط به id گروه میباشد که unique است و برای ارتباط با table های دیگر استفاده میشود و در اصطلاح sql این فیلد primary key است.هر گروه تنها میتواند عضو یک شارژ (charge_id ) باشد. ستون group_name نام هر گروه را نمایش میدهد.
ستون isp_id مربوط به id ای-اس-پی میباشد که unique است .
ستون comment توضیحات مربوط به هر group_id را نمایش میدهد.
ستون status وضعیت هر group را نمایش میدهد.
table group_attres:
group_id | attr_name | attr_value
ستون group_id مربوط به id گروه میباشد که unique است
ستون attr_name همان attribute مربوط به گروه را نمایش میدهد.
ستون attr_value مقدار مربوط به هر attr_name را نمایش میدهد.