Создание команды INSERT в PostgreSQL для таблиц

Данный способ позволяет создать скрипт INSERT для наполнения таблицы PostgreSQL.

pg_dump -a -U postgres -t table_name -f output_name.sql --inserts --column-inserts --on-conflict-do-nothing database_name

Описание параметров:

  • a — Выгружаются только данные, а не схема (определения данных). Выгружаются табличные данные, большие объекты и значения последовательности. Этот параметр аналогичен, но по историческим причинам не идентичен параметру, определяющему --section=data.
  • U — Имя пользователя для подключения как.
  • t — Дамп только таблиц с совпадающими именами
  • f — Отправляйте выходные данные в указанный файл. Этот параметр можно опустить для файловых форматов вывода, в этом случае используется стандартный вывод. Однако он должен быть указан для формата вывода каталога, где указывается целевой каталог, а не файл. В этом случае каталог создан pg_dump и не должен существовать ранее.
  • inserts — Дамп данных в виде INSERT команд (а не COPY). Это сильно замедлит восстановление; в основном это полезно для создания дампов, которые можно загружать в базы данных, отличные от PostgreSQL. Любая ошибка во время восстановления приведет к потере только строк, которые являются частью проблемной таблицы, INSERT а не всего содержимого таблицы. Обратите внимание, что восстановление может завершиться полным сбоем, если вы изменили порядок столбцов. Опция --column-inserts защищает от изменений порядка столбцов, хотя и работает еще медленнее.
  • column-inserts — Дамп данных в виде INSERT команд с явными именами столбцов (INSERT INTO table (column, ...) VALUES ...). Это сильно замедлит восстановление; в основном это полезно для создания дампов, которые можно загружать в базы данных, отличные от PostgreSQL. Любая ошибка во время восстановления приведет к потере только строк, которые являются частью проблемной таблицы INSERT, а не всего содержимого таблицы.
  • on-conflict-do-nothing — Добавить команды ON CONFLICT DO NOTHING в INSERT. Этот параметр недопустим, если также не указано --inserts--column-inserts или --rows-per-insert.

Пример:

pg_dump -a -U postgres -t dbo.cs_point_types -f cs_point_types.sql --inserts --column-inserts --on-conflict-do-nothing skr-dev-db

https://www.postgresql.org/docs/current/app-pgdump.html

Подтянуть изменения из основного проекта Git

Ситуация:

Был сделан fork из проекта https://github.com/datalens-tech/datalens. Через некоторое время были внесены изменения, как в исходном проекте, так и в fork-project

Решение:

На локальном компьютере в проекте выполняем команду:

git remote add datalens-tech https://github.com/datalens-tech/datalens

Где datalens-tech — это произвольное имя.

Далее выполняем

git fetch datalens-tech
git merge datalens-tech/main

Исправляем конфликты, если они есть.

git push

Сохраняем результат

RabbitMQ & NodeJS

Инструкция по установке RabbitMQ тут, но для удобства можно запустить docker:

# latest RabbitMQ 3.12
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management

# -it можно заменить на -d

Примечание: доступ к веб-интерфейсу логин guest пароль guest

Читать далее «RabbitMQ & NodeJS»

Запуск приложения на c++ (mingw)

Не удается продолжить выполнение кода, поскольку система не обнаружила libstdc++-6.dll. Для устранения этой проблемы попробуйте переустановить программу.

Для решения проблемы требуется добавить путь:

C:\Qt\Qt5.12.12\5.12.12\mingw73_64\bin

в переменные окружения (на Вашем компе этот путь может быть другим)

Запуск C++ на Visual Studio Code

  1. Устанавливаем расширение C/C++ extension for VS Code

2. Устанавливаем компонент Microsoft Visual C++ (MSVC). Переходим на страницу https://visualstudio.microsoft.com/ru/downloads/ и внизу в дополнительных загрузках находим требуемый компонет.

Читать далее «Запуск C++ на Visual Studio Code»

Набранный текст Android edittext не отображается

Я знаю, что видел этот вопрос уже тысячу раз, но не нашел ответа, который сработал. В моем приложении у меня есть поле Edittext. Когда я запускаю приложение на эмуляторе или на своем телефоне, при вводе текста редактирования текст не отображается. Курсор перемещается, и я могу получить введенное значение, просто при вводе ничего не отображается. Я пытался изменить цвет текста, цвет фона и любое другое решение, с которым я сталкивался, но ничего не сработало.

Решение: удалите строку из файла манифеста android:hardwareAccelerated="false"