172 похожих чатов

Добрый день! Подскажите, насколько здравым выглядит решение вытаскивать через Foreign-Data

Wrapper большие объемы данных из удаленной БД в postgresql?
По объемам это порятка 100 000 000 строк, атрибутов по строке немного порядка 10

17 ответов

9 просмотров

Да ничего такого в принцыпе. Но я всегда предпочитаю dblink, как более предсказуемый.

Roman-Gordeev Автор вопроса
Roman Gordeev
Спасибо! А dblink чем получше?

Тем, что понять, что будет делать fdw когда пишэшь какой-нибудь нормальный запрос с JOIN и парой условий -- не так просто. Проблемы почти как с индэксами, но отлажывать ещё сложнее кмк. И вот если это буквально один запрос, который переносит данные (изредка) -- то проще по-моему написать точный запрос на сервер через dblink, чем гадать что и в каком порядке будет просить fdw.

Roman-Gordeev Автор вопроса
Ilya Anfimov
Тем, что понять, что будет делать fdw когда пишэшь...

в принципе у меня проблема переноса одной таблицы в другую один в один, то есть в источнике есть таблица A(a1,a2,a3,a4,a5) и она должка переехать в целевую БД тоже в таблицу A(a1,a2,a3,a4,a5)

Roman-Gordeev Автор вопроса
Roman Gordeev
в принципе у меня проблема переноса одной таблицы ...

это как-то повлияет на выбор межде fdw и dbink?

Roman Gordeev
в принципе у меня проблема переноса одной таблицы ...

Можэт, slony напустить? Если это неодноразовое? Чего самому изобретать-то?

Roman-Gordeev Автор вопроса
Ilya Anfimov
Можэт, slony напустить? Если это неодноразовое? Че...

если он это сможет сделать я не против. Уточню проблематику, нужно периодически сливать таблицу из green plum в postgreslq, запускать процесс нужно по расписанию

Roman Gordeev
если он это сможет сделать я не против. Уточню про...

Вы правда хотите двадцать гигабайт таблицу именно по расписанию? А то можэт как раз slony с постоянной заливкой журнала будет дешэвле?

Roman Gordeev
в принципе у меня проблема переноса одной таблицы ...

И да, перелив "полностью по расписанию" выглядит как задача для pg_dump скорее, честно говоря. Ну, то есть можно по-всякому по-другому... Но зачем, когда есть pg_dump, его легко жать, можно мониторить прогресс и он ужэ написан.

Roman-Gordeev Автор вопроса
Ilya Anfimov
Вы правда хотите двадцать гигабайт таблицу именно ...

Боюсь такое не очень ложится на бизнес процесс, то есть: 1/ аналитические данные подготавливаются в green plum к определенной дате 2/ по наступлению даты Х считается, что аналитика в сторонней системе подготовлена и ее нужно целиком забрать 3/ инкремента нет, забирается каждый раз все под чистую

Roman Gordeev
Боюсь такое не очень ложится на бизнес процесс, то...

Ну, если реально нет, тогда понятно что нет смысла.

Roman-Gordeev Автор вопроса
Ilya Anfimov
И да, перелив "полностью по расписанию" выглядит к...

а можно в такой схеме как-то без вермешели из bash скриптов сделать следующее 1/ слить таблицу из green plum 2/ восстановить во временную таблицу в postgresl 3/ сделать переключение в postgresql предудущей версии таблицы на новую, которая была восстановлена из последнего слепка ?

Roman Gordeev
а можно в такой схеме как-то без вермешели из bash...

Ну, можно вермишэль хоть на Си писать так-то.

Roman-Gordeev Автор вопроса
Ilya Anfimov
Ну, можно вермишэль хоть на Си писать так-то.

это да, никто не спорит, однако хотелось бы просто иметь в схеме постгреса простое декларотивное описание на установку необходимых расширений, создание процедуры на выборку и переключение таблиц и крон задачи. Чтобы все это присутствовало в миграции раскатывалось вместе с новым инстнсом БД

Roman Gordeev
это да, никто не спорит, однако хотелось бы просто...

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

Roman-Gordeev Автор вопроса
Ilya Anfimov
Не советую тащить крон в постгрес. Всё, что есть -...

Спасибо огромное! Буду эксперементировать

Похожие вопросы

Обсуждают сегодня

Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
83
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
8
free(NULL) это UB?
#
8
Карта сайта