Жергілікті PostgreSQL-ден миграция
VK Cloud сыртқы ДББЖ-ден Cloud Databases сервисіне pg_dump және pg_restore дамп құралдарының көмегімен миграцияны қолдайды.
Деректерді келесі дереккөзден көшіру қарастырылады:
-
дерекқор: PostgreSQL 13 нұсқасы;
-
ДБ атауы:
PostgreSQL-7313; -
IP-мекенжайы:
224.224.209.224,5432порты; -
деректері бар
test-dbДБ кестесі:id | name | number----+------+--------1 | a | 12 | b | 23 | c | 3
Қабылдаушы ретінде VK Cloud жобасында жайылған, конфигурация түрі Single болатын ДБ инстансы пайдаланылады.
Нұсқаулықтағы барлық әрекеттерді жергілікті машинадан орындау қажет.
-
VK Cloud-та PostgreSQL ДБ инстансын жайыңыз:
- ДББЖ нұсқасы: 13;
- ДБ инстансының атауы:
PostgreSQL-7313; - конфигурация түрі: Single;
- сыртқы IP: қосу, мысалда
212.212.12.212қолданылады; - пайдаланушы аты:
user; - пайдаланушы құпиясөзі:
AN0r25e0ae4d626p!.
-
Жергілікті ДБ-да кеңейтімдердің орнатылғанын тексеріңіз. Жайылған инстанста дәл сондай кеңейтімдер жиынын орнатыңыз.
-
Дереккөз ДБ-дағы
pg_restoreнұсқасы қабылдаушы ДБ-дағыpg_dumpнұсқасына сәйкес келетініне көз жеткізіңіз.
-
Дереккөз ДБ-ға
postgresпайдаланушысы атынан қосылыңыз:psql -h 224.224.209.224 -p 5432 -U postgres -d PostgreSQL-7313 -
PostgreSQL-7313ДБ-сын «тек оқу» режиміне ауыстырыңыз:alter database "PostgreSQL-7313" set default_transaction_read_only=on; -
exitкомандасының көмегімен ДБ-дан ажыраңыз. -
Команда арқылы дамп жасаңыз:
pg_dump --host=224.224.209.224 --port=5432 --username=user --format=c --dbname=PostgreSQL-7313 --file=db_dumpОперацияның аяқталуын күтіңіз —
db_dumpфайлы жасалады. -
ДБ-ға қайта қосылып, оны «тек оқу» режимінен шығарыңыз:
psql -h 224.224.209.224 -p 5432 -U postgres -d PostgreSQL-7313set default_transaction_read_only=off;alter database "PostgreSQL-7313" set default_transaction_read_only=off;
-
(Қосымша) Қабылдаушы ДББЖ-де
PostgreSQL-7313ДБ-сы жасалғанына көз жеткізіңіз:-
postgresпайдаланушысы атынанPostgreSQL-7313ДБ-сына қосылыңыз:psql -h 212.212.12.212 -p 5432 -U postgres -d PostgreSQL-7313 -
Команданы орындаңыз:
CREATE DATABASE "PostgreSQL-7313";- Егер ДБ бұрын жасалмаған болса,
CREATE DATABASEхабарламасы пайда болады. - Егер ДБ жасалған болса,
ERROR: database "PostgreSQL-7313" already existsхабарламасы пайда болады.
- Егер ДБ бұрын жасалмаған болса,
-
-
Дереккөз ДБ-ның дампын келесі команда арқылы қалпына келтіріңіз:
pg_restore --host=212.212.12.212 --username=user --dbname=PostgreSQL-7313 --port=5432 --verbose db_dump --single-transaction --no-privileges -
Пайда болған жолда
userпайдаланушысы үшінAN0r25e0ae4d626p!құпиясөзін енгізіңіз.
-
Қабылдаушы инстанстағы
PostgreSQL-7313ДБ-сынаuserпайдаланушысы атынан қосылыңыз:psql -h 212.212.12.212 -p 5432 -U user -d PostgreSQL-7313 -
ДБ кестелерінің тізімін шығарыңыз:
\dtДеректер сәтті көшірілген болса,
test-dbкестесі көрсетіледі:List of relationsSchema | Name | Type | Owner--------+---------+-------+-------public | test-db | table | user(1 row) -
test-dbкестесінің деректерін келесі команда арқылы шығарыңыз:SELECT * FROM public."test-db";Егер деректер сәтті көшірілсе, келесі жолдар көрсетіледі:
id | name | number----+------+--------1 | a | 12 | b | 23 | c | 3(3 rows)
Жайылған ДБ инстансы тарифтеледі және есептеу ресурстарын тұтынады. Егер ол енді қажет болмаса: