VK Cloud logo

Жергілікті 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    |  1  2 | b    |  2  3 | c    |  3

Қабылдаушы ретінде VK Cloud жобасында жайылған, конфигурация түрі Single болатын ДБ инстансы пайдаланылады.

Нұсқаулықтағы барлық әрекеттерді жергілікті машинадан орындау қажет.

Дайындық қадамдары

  1. VK Cloud-та PostgreSQL ДБ инстансын жайыңыз:

    • ДББЖ нұсқасы: 13;
    • ДБ инстансының атауы: PostgreSQL-7313;
    • конфигурация түрі: Single;
    • сыртқы IP: қосу, мысалда 212.212.12.212 қолданылады;
    • пайдаланушы аты: user;
    • пайдаланушы құпиясөзі: AN0r25e0ae4d626p!.
  2. Жергілікті ДБ-да кеңейтімдердің орнатылғанын тексеріңіз. Жайылған инстанста дәл сондай кеңейтімдер жиынын орнатыңыз.

  3. Дереккөз ДБ-дағы pg_restore нұсқасы қабылдаушы ДБ-дағы pg_dump нұсқасына сәйкес келетініне көз жеткізіңіз.

1. Дереккөз ДБ дампын жасаңыз

  1. Дереккөз ДБ-ға postgres пайдаланушысы атынан қосылыңыз:

    psql -h 224.224.209.224 -p 5432 -U postgres -d PostgreSQL-7313
  2. PostgreSQL-7313 ДБ-сын «тек оқу» режиміне ауыстырыңыз:

    alter database "PostgreSQL-7313" set default_transaction_read_only=on;
  3. exit командасының көмегімен ДБ-дан ажыраңыз.

  4. Команда арқылы дамп жасаңыз:

    pg_dump --host=224.224.209.224 --port=5432 --username=user --format=c --dbname=PostgreSQL-7313 --file=db_dump

    Операцияның аяқталуын күтіңіз — db_dump файлы жасалады.

  5. ДБ-ға қайта қосылып, оны «тек оқу» режимінен шығарыңыз:

    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;

2. Дамптан деректерді қабылдаушы ДБ-ға қалпына келтіріңіз

  1. (Қосымша) Қабылдаушы ДББЖ-де PostgreSQL-7313 ДБ-сы жасалғанына көз жеткізіңіз:

    1. postgres пайдаланушысы атынан PostgreSQL-7313 ДБ-сына қосылыңыз:

      psql -h 212.212.12.212 -p 5432 -U postgres -d PostgreSQL-7313
    2. Команданы орындаңыз:

      CREATE DATABASE "PostgreSQL-7313";
      • Егер ДБ бұрын жасалмаған болса, CREATE DATABASE хабарламасы пайда болады.
      • Егер ДБ жасалған болса, ERROR: database "PostgreSQL-7313" already exists хабарламасы пайда болады.
  2. Дереккөз ДБ-ның дампын келесі команда арқылы қалпына келтіріңіз:

    pg_restore --host=212.212.12.212 --username=user --dbname=PostgreSQL-7313 --port=5432 --verbose db_dump --single-transaction --no-privileges
  3. Пайда болған жолда user пайдаланушысы үшін AN0r25e0ae4d626p! құпиясөзін енгізіңіз.

3. VK Cloud-та жүктелген деректерді тексеріңіз

  1. Қабылдаушы инстанстағы PostgreSQL-7313 ДБ-сына user пайдаланушысы атынан қосылыңыз:

    psql -h 212.212.12.212 -p 5432 -U user -d PostgreSQL-7313
  2. ДБ кестелерінің тізімін шығарыңыз:

    \dt

    Деректер сәтті көшірілген болса, test-db кестесі көрсетіледі:

    List of relations Schema |  Name   | Type  | Owner--------+---------+-------+------- public | test-db | table | user(1 row)
  3. test-db кестесінің деректерін келесі команда арқылы шығарыңыз:

    SELECT * FROM public."test-db";

    Егер деректер сәтті көшірілсе, келесі жолдар көрсетіледі:

    id | name | number----+------+--------  1 | a    |      1  2 | b    |      2  3 | c    |      3(3 rows)

Пайдаланылмайтын ресурстарды жойыңыз

Жайылған ДБ инстансы тарифтеледі және есептеу ресурстарын тұтынады. Егер ол енді қажет болмаса:

  • ДБ инстансын жойыңыз.
  • Қажет болса, ДБ инстансына тағайындалған Floating IP мекенжайын жойыңыз.