اکسپورت و ایمپورت دیتابیس Postgres روی سرور Ubuntu




ابتدا از طریق ssh به سرور خود متصل شوید.

با استفاده از دستورات زیر postgresql را نصب می‌کنیم:

sudo apt -y update
sudo apt  install -y postgresql postgresql-contrib

وضعیت postgresql را از طریق دستور زیر مشاهده کنید:

dpkg --status postgresql

از طریق دستور زیر وارد سرور PostgreSql می‌شویم:

sudo su postgres

به آدرس root در سرور PostgreSql می‌رویم:

cd

برای ایجاد و مدیریت دیتا‌بیس به فضای Command Line آن متصل می‌شویم:

psql

و چنین متنی را مشاهده می‌کنیم:

با دستور زیر لیست دیتابیس‌های موجود را مشاهده کنید:

\l



ایجاد دیتابیس

قصد داریم یک دیتابیس به نام test_db ایجاد کنیم و چند رکورد وارد آن کنیم:

احتمالا شما از قبل این دیتابیس را دارید و نیاز به این مرحله ندارید.
postgres=# CREATE USER reza WITH PASSWORD 'reza1234';
postgres=# CREATE DATABASE test_db;
postgres=# GRANT ALL PRIVILEGES ON DATABASE test_db to reza;

دوباره با دستور \l لیست دیتابیس‌های خود را ببینید:

ابتدا با دستور زیر به دیتابیس test_db متصل می‌شویم:

\c test_db;

یک تیبل به نام users ایجاد می‌کنیم و چند رکورد وارد آن می‌کنیم:

test_db=# CREATE TABLE users(name varchar(20));
test_db=# INSERT INTO users(name) VALUES('Reza');
test_db=# INSERT INTO users(name) VALUES('Ali');
test_db=# INSERT INTO users(name) VALUES('Kamran');
test_db=# SELECT * FROM users;




گرفتن Back up از دیتابیس

ابتدا دستور زیر را وارد کنید تا از فضای comman line دیتابیس خارج شوید:

\q

با دستور زیر عملیات بک‌آپ گیری انجام خواهد شد:

pg_dump test_db > test_db_backup.sql

یا

pg_dump -U postgres -f test_db_bakcup.sql test_db

اگر می‌خواهید فایل ایجاد شده را ببینید(برای نگهداری در جای دیگر و یا به سرور دیگر) به آدرس زیر بروید:

/var/lib/postgresql/
ll

عملیات بک‌آپ گیری انجام شد.

نکته: حتما متن فایل بک‌آپ گرفته شده را نگاه کنید تا از درستی آن مطمئن شوید زیرا ممکن است بک‌آپ اشتباهی را گرفته باشید و اطلاعات شما از بین برود. 

وارد کردن دیتابیس بک‌اپ‌گیری شده

برای این‌ کار باید دیتابیس مورد نظر در سرور PostgreSql از قبل ایجاد شده باشد. این دیتابیس ممکن است خالی و یا دارای رکورد‌هایی باشد. بهتر است دیتابیس خالی باشد تا با error و یا conflict مواجه نشوید.

حال برای تست این موضوع با دستور زیر تیبل users را کاملا پاک(drop) می‌کنیم:

psql
\c test_db;
test_db=# DROP TABLE users;

دوباره خارج می‌شویم:

\q

با دستور زیر می‌توانید دیتابیس بک‌آپ‌گیری شده را وارد Postgres کنید:

psql -U postgres -d test_db -f test_db_backup.sql

بارگذاری بک‌آپ تمام شده و حالا می‌توانید با کوئری زدن یا به هر نحو دیگر صحت اطلاعات خود را بررسی کنید.

پایان.