---
title: 'Миграция баз данных PostgreSQL в облачные базы данных PostgreSQL для 1С'
sidebar_label: 'Миграция в облачные базы данных'
sidebar_position: 18
description: 'Как перенести базу данных PostgreSQL в облачные базы данных PostgreSQL для 1С'
---

import Formbricks from '@theme/MDXComponents/Formbricks'

# Миграция баз данных PostgreSQL в облачные базы данных PostgreSQL для 1С

Вы можете перенести данные из своей базы данных PostgreSQL в [облачные базы данных](https://selectel.ru/services/cloud/managed-databases/) Selectel с помощью [логического дампа](#logical-dump).

:::info

Перед миграцией [создайте принимающий кластер баз данных](/managed-databases/postgresql-for-1c/create-cluster.mdx). Версии принимающего и исходного кластеров должны совпадать.

:::

## Логический дамп \{#logical-dump}

Создайте дамп (файл с командами для восстановления) базы данных в исходном кластере и восстановите дамп в принимающем кластере.

Вы можете создать [SQL-дамп](#sql-dump) всех баз данных (сохранятся имя, таблицы, индексы и внешние ключи) или [дамп в кастомном формате](#custom-dump) (например, можно восстановить только схему или данные специфичной таблицы).

### SQL-дамп \{#sql-dump}

1. Создайте дамп базы данных в исходном кластере с помощью утилиты [pg\_dump](https://www.postgresql.org/docs/current/app-pgdump.html):

   ```bash
   pg_dump \
      -h <host> \
      -U <user_name> \
      -d <database_name> \
      -f dump.sql
   ```

   Укажите:

   * `<host>` — IP-адрес или DNS-имя мастер-хоста исходного кластера;
   * `<user_name>` — имя пользователя;
   * `<database_name>` — имя базы данных.
2. Восстановите дамп в принимающем кластере с помощью утилиты [psql](https://www.postgresql.org/docs/9.3/app-psql.html):

   ```bash
   psql \
      -f dump.sql \
      -h <host> \
      -p 5432 \
      -U <user_name> \
      -d <database_name>
   ```

   Укажите:

   * `<host>` — IP-адрес или DNS-имя мастер-хоста принимающего кластера;
   * `<user_name>` — имя пользователя базы данных;
   * `<database_name>` — имя базы данных.

### Кастомный дамп \{#custom-dump}

Копия базы данных в кастомном формате по умолчанию сжимается.

1. Создайте дамп базы данных в исходном кластере с помощью утилиты pg\_dump:

   ```bash
   pg_dump \
      -Fc -v \
      -h <host> \
      -U <user_name> \
      <database_name> > archive.dump
   ```

   Укажите:

   * `<host>` — IP-адрес или DNS-имя мастер-хоста исходного кластера;
   * `<user_name>` — имя пользователя базы данных;
   * `<database_name>` — имя базы данных.
2. Восстановите дамп в принимающем кластере с помощью утилиты [pg\_restore](https://www.postgresql.org/docs/13/app-pgrestore.html):

   ```bash
   pg_restore \
      -v \
      -h <host> \
      -U <user_name> \
      -d <database_name> archive.dump
   ```

   Укажите:

   * `<host>` — IP-адрес или DNS-имя мастер-хоста принимающего кластера;
   * `<user_name>` — имя пользователя базы данных;
   * `<database_name>` — имя базы данных.

<Formbricks />
