Как загрузить sql файл в postgresql

Обновлено: 05.07.2024

я осмотрелся и не могу найти ничего, что отвечает на этот конкретный вопрос.

каков самый простой способ перемещения данных из БД MS SQL Server 2005 в установку Postgres (8.x)?

Я просмотрел несколько утилит, таких как" Full Convert Enterprise " и т. д., И все они терпят неудачу по той или иной причине, начиная от странных ошибок, которые заставляют его взрываться, чтобы вставлять нули, а не фактические данные (wth?).

Я смотрю на DB со всеми таблица за исключением одного представления, без сохраненных процессов, функций и т. д.

в этот момент я собираюсь написать небольшую утилиту, чтобы сделать это за меня, я просто не могу поверить, что это необходимо. Конечно, есть!--9-->что-то где-то, что может это сделать? Я даже не слишком беспокоюсь о стоимости, хотя бесплатно предпочтительнее:)

вы можете использовать функциональность MS DTS (переименованную в SSIS в последней версии, я думаю). Одна из проблем с DTS заключается в том, что я не смог сделать фиксацию после каждой строки При загрузке данных в pg. Это нормально, если у вас есть только пара строк 100k или около того, но это действительно очень медленно.

обычно я пишу небольшой скрипт, который сбрасывает данные из SQLServer в формате CSV, а затем использует COPY WITH CSV на стороне PostgreSQL.

оба они только берут однако позаботьтесь о данных. Позаботиться о схеме немного сложнее, так как типы данных не обязательно сопоставляются прямо. Но он может быть легко написан вместе со статической нагрузкой схемы. Если схема проста (например, только типы данных varchar/int), эта часть также может быть легко списана с данных в INFORMATION_SCHEMA.

Я не знаю, почему никто не упомянул самый простой и простой способ использования надежной MS SQL Server Management Studio.

просто вам просто нужно использовать встроенную функцию импорта/экспорта служб SSIS. Вы можете выполнить следующие действия:

во-первых, вам нужно установить драйвер ODBC PostgreSQL для Windows. Очень важно установить правильную версию с точки зрения CPU arch (x86/x64).

Внутри Студии Управления, Щелкните правой кнопкой мыши по вашей базе данных:задачи ->Экспорт Данных

выбрать собственный клиент SQL Server в качестве источника данных.

задайте строку подключения к базе данных в следующем виде:

на следующей странице, вам просто нужно выбрать, какие таблицы вы хотите экспортировать. SQL Server создаст сопоставление по умолчанию, и вы сможете его редактировать. Вероятно, вы столкнетесь с некоторыми проблемами несоответствия типов, которые требуют некоторого времени для решения. Например, если у вас есть логический столбец в SQL Server вы должны экспортировать его как int4.

Microsoft Docs хосты a подробное описание подключения к PostgreSQL через ODBC.

PS: Если вы хотите увидеть установленный драйвер ODBC, вам нужно проверить его через администратор источника данных ODBC.


Данная статья относится к циклу статей, посвященных PostgreSQL. В предыдущей статье мы познакомили вас с примером базы данных PostgreSQL. Теперь мы покажем вам, как загрузить пример базы данных PostgreSQL.

Прежде чем приступить к уроку, у вас должны быть установлены:

  • Сервер базы данных PostgreSQL. Если же такового нет, то воспользуйтесь пошаговым руководством по установке. .

Прежде чем загружать схему базы данных и заполнять её данными, вам необходимо создать новую базу данных на сервере PostgreSQL. Для этого выполните несколько простых пунктов.

Во-первых, запустите инструмент psql.


Во-вторых, введите данные учётной записи, чтобы войти на сервер баз данных PostgreSQL. Вы можете воспользоваться значениями, предлагаемыми psql по-умолчанию, просто нажав Enter на клавиатуре. Однако, вам понадобится пароль, который вы указали во время установки PostgreSQL.

В-третьих, введите следующий оператор CREATE DATABASE для создания новой базы данных dvdrental.

PostgreSQL создаст новую базу данных под названием dvdrental.

Первым делом разархивируйте и скопируйте файл базы данных “DVD проката” в папку, например, c:\dvdrental\dvdrental.tar

Затем запустите Command Prompt (Командную Строку). Зажмите сочетание клавиш Windows + R, введите cmd и нажмите Enter на клавиатуре:


Командная строка будет выглядеть следующим образом:


Затем перейдите в папку bin корневого каталога PostgreSQL:

После чего используйте инструмент pg_restore, чтобы загрузить данные в базу данных dvdrental:


  • -U postgres указывает пользователя postgres для входа на сервер базы данных PostgreSQL;
  • -d dvdrental указывает целевую базу данных для загрузки.

Наконец, введите пароль для пользователя postgres и нажмите Enter

Загрузка данных, хранящихся в файле dvdrental.tar, в базу данных dvdrental займет всего несколько секунд.

Вы можете использовать инструмент pgAdmin для восстановления образца базы данных из загруженного файла базы данных, выполнив следующие шаги:

Первым делом запустите инструмент pgAdmin и подсоединитесь к серверу PostgreSQL.

Затем щёлкните правой кнопкой мыши по базе данных dvdrental и выберите пункт меню Restore…, как показано на картинке ниже:


Затем укажите путь к файлу базы данных, например, c:\dvdrental\dvdrental.tar и нажмите кнопку Restore.


После чего подождите несколько секунд, пока процесс восстановления не завершится.

Наконец, откройте базу данных dvdrental из панели браузера объектов, в ветке public вы увидите таблицы и другие объекты базы данных, как показано на картинке ниже:


Мы показали вам как загрузить образец базы данных dvdrental на сервер PostgreSQL. Вы можете использовать это в своём дальнейшем ознакомлении с PostgreSQL. В следующий раз мы расскажем вам о серверных объектах и объектах базы данных.



Публикация основана на докладе тренера и инженера технической поддержки Zabbix Александра Петрова-Гаврилова.

Многих волнует вопрос о том как мигрировать с MySQL на PostgreSQL и воспользоваться преимуществами TimescaleDB.

Зачем мигрировать

Первый вопрос, который обычно возникает, — зачем мигрировать с MySQL на PostgreSQL при использовании Zabbix.

Вариантов не так много, особенно если система уже работает и работает неплохо. Возможные причины для миграции:

  • Команда лучше разбирается в PostgeSQL.
  • Желание попробовать TimescaleDB, учитывая обещанное повышение производительности и экономию места.
  • Документация на русском языке
  • Преимущества PostgreSQL Pro.

Необходимость миграции и эффективность использования зависят от опыта пользователя. Кроме того, платформы постоянно развиваются, добавляются новые функции. Предсказать, какая именно платформа будет предпочтительнее, невозможно. На данный момент для среднего пользователя Zabbix разница между платформами незначительна.

  • Производительность PostgreSQL и MySQL практически одинакова для Zabbix DB.
  • Тюнинг необходим в любом случае, например buffer и transaction log.
  • Партицирование для MySQL немного проще, чем для PostgreSQL.
  • Партицирование PostgreSQL поддерживает foreign key, т. е. взаимосвязи между партициями.
  • PostgreSQL работает стабильнее в случае высокого IO.

Подготовка к миграции

Ниже продемонстрирован пример того, как мигрировать базу данных с MySQL на PostgreSQL с использованием:

  • Zabbix 5.0,
  • CentOS 7,
  • MariaDB 5.5.65 (доступна «из коробки» после установки CentOS и часто используется по умолчанию).

Примечание. Представленный метод может сработать с другими операционными системами и базами данных.

Для миграции вам понадобится:

  • PostgreSQL,
  • PGloader,
  • Исходный код Zabbix.

Примечание. PGloader выбран с учетом успешного опыта пользователей и меньшего количества ошибок в сравнение с другими инструментами миграции.

1). Добавить репозиторий и установить PostgreSQL.

Для установки PostgreSQL можно просто скопировать репозиторий с сайта PostgreSQL, инициализировать, добавить в автозапуск и запустить. Возможно, придется поменять конфигурацию в pg_hba.conf, чтобы разрешить нужный тип доступа.

2). Установить pgloader.

3). Создать директорию для работы.

Директория для работы необходима, потому что для проведения миграции нам потребуются файлы создания схемы и скрипт. В эту же директорию скачивается и исходный код Zabbix.

5). После того как версия скачана, нужно, конечно, распаковать архив.

6). Разделить schema.sql на create.sql и alter.sql.

В архиве исходников Zabbix есть sql-скрипты для создания базы данных не только PostgreSQL, но и MySQL. Скрипты находятся в одноименных директориях, в которых нам понадобится только файл schema.sql, чтобы создать схему для данных, все таблицы и т. д. Придется также создать alter.sql, чтобы создать все индексы, все взаимосвязи между таблицами и т. д.

7). Создать пользователя и базу данных в PostgreSQL

Создание пользователя и базы данных PosgreSQL подробно описано в разделе Документация на сайте Zabbix.

Примечание. Не забудьте дать пользователю Zabbix необходимые разрешения.

8). Создать скрипт для миграции в директории, где находятся созданные create.sql и alter.sql

LOAD DATABASE FROM mysql://zabbix:zabbix-password@localhost/zabbix INTO postgresql://zabbix:zabbix-password@localhost/zabbix WITH include no drop, truncate, create no tables, create no indexes, no foreign keys, reset sequences, data only SET maintenance_work_mem TO '1024MB', work_mem to '256MB' ALTER SCHEMA 'zabbix' RENAME TO 'public' BEFORE LOAD EXECUTE create.sql AFTER LOAD EXECUTE alter.sql;

В скрипте для миграции указываются все необходимые данные, например, откуда мигрируются данные, где находится база данных, а также куда выполняется миграция. При использовании pgloader скрипт будет практически выполнять копированиеCOPY) PostgreSQL.

Кроме того, указываются дополнительные параметры. В нашем примере указано, что переноситься будут только данные без создания индексов, ключей или таблиц, какой объем памяти мы можем пожертвовать для миграции (чем больший объем памяти указан, тем быстрее проходит миграция).

Примечание. Для использования pgloader необходимо переименовать схему в public.

Примечание. До фактической загрузки данных необходимо создать schema.sql для Zabbix, все взаимосвязи между таблицами, а также все необходимые файлы alter.sql.

Миграция

1). Остановить Zabbix Server.

systemctl stop zabbix -server

Остановить Zabbix Server необходимо, чтобы в какой-то момент перестали записываться данные в существующую базу данных.

Примечание. Рекомендуется сделать резервную копию базы данных. При этом не обязательно мигрировать саму базу данных. Можно сделать для миграции копию базы или даже экспортировать ее в csv-файл.

Примечание. Прежде чем проводить миграцию, рекомендуется выполнить тестирование, чтобы обезопасить себя от потери данных.

2). Запустить pgloader.

pgloader запускается с инструкциями, которые указаны в скрипте для миграции.

3). Видеть Warnings — это нормально.


Предупреждения после завершения миграции

После завершения копирования, появится отчет о том, какие данные были перенесены, сколько действий было сделано, сколько времени заняла миграция, а также количество ошибок (если они всё таки произошли).


Отчет о миграции

5). Проверить результаты.

После завершения миграции рекомендуется авторизоваться в PostgreSQL и проверить результаты — индексы, ключи, сноски на другие таблицы и т. д.

Проверка результатов миграции в PostgreSQL

Также необходимо убедиться в том, что данные были перенесены.


Подтверждение переноса данных в PostgreSQL

Завершение

1). Удалить Zabbix сервер для работы с MySQL.

2). Удалить веб интерфейс для работы с MySQL.

3). Установить Zabbix сервер для работы с PostgreSQL.

4). Установить веб интерфейс для работы с PostgreSQL.

5). Отредактировать новый zabbix_server.conf

6). Добавить свой пароль.

7). Удалить предыдущую конфигурацию веб интерфейса (обязательно).

8). Раскомментировать строку и указать свой часовой пояс.

10). Настроить веб-интерфейс для PostgreSQL.



12). Остановить MySQL.

Заключение

Вы можете ознакомиться с подробными инструкциями о том, как обновить Zabbix 4.0 до текущей версии, а также как установить расширение TimescaleDB. Материалы также доступны в разделе Документация на сайте Zabbix.

Импорт и экспорт базы данных Postgresql с помощью pgAdmin

Вот шаги операции pgAdmin4:

1. Откройте интерфейс управления pgAdmin4.


2. Щелкните правой кнопкой мыши, чтобы выбрать базу данных, которую вы хотите экспортировать, выберите mydatabase, а затем выберите резервную копию (backup).


3. После выбора кнопки резервного копирования появляется следующее окно с запросом, в котором в окне запроса требуется ввести имя и формат файла и т. Д. После завершения ввода выберите кнопку резервного копирования для экспорта.




После завершения экспорта вы должны сказать импорт. Вот шаги импорта:

1. Аналогичным образом, войдите в интерфейс pgAdmin4, где щелкните правой кнопкой мыши, чтобы выбрать кнопку базы данных, предложите создать базу данных, введите имя базы данных, которая будет создана, в поле приглашения и выберите пользователя (владельца).



2. После завершения создания щелкните правой кнопкой мыши вновь созданную базу данных и выберите кнопку восстановления.


3. После выбора пути и имени импортируемого файла нажмите кнопку восстановления.


4. После завершения предыдущего шага будет предложено выполнить процесс импорта.


5. Запрос на успешный импорт выглядит следующим образом: После запроса на успешный импорт вы можете проверить, существуют ли данные в только что импортированной базе данных.


Интеллектуальная рекомендация


Michael.W Поговорите о Hyperledger Fabric. Проблема 20 - Подробная индивидуальная сортировка узла с пятью порядками с исходным кодом для чтения.

Michael.W Поговорите о Hyperledger Fabric. Проблема 20 - Подробная индивидуальная сортировка узла с пятью порядками с исходным кодом чтения Fabric Файл исходного кода одиночного режима находится в ord.


Мяу Пасс Матрица SDUT

Мяу Пасс Матрица SDUT Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description Лянцзян получил матрицу, но эта матрица была особенно уродливой, и Лянцзян испытал отвращение. Чт.


Гессенская легкая двоичная структура удаленного вызова

Hessian - это легкая двоичная структура удаленного вызова, официальный адрес документа, в основном он включает протокол удаленного вызова Hessian, протокол сериализации Hessian, прокси-сервер клиента .


TCP Pasket и распаковка и Нетти Solutions

Основные введение TCP является ориентированным на соединение, обеспечивая высокую надежность услуг. На обоих концах (клиенты и терминалы сервера) должны иметь один или более гнезда, так что передающий.

Читайте также: