Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Данные по линку заталкивать, а не вытаскивать / 14 сообщений из 14, страница 1 из 1
08.08.2018, 18:23
    #39684989
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Такая проблема.
insert в таблицу удаленную, а лучше create table на удаленную базу.
как это сделать питоном я знаю. а нет ли стандартных погресовых средств?
...
Рейтинг: 0 / 0
08.08.2018, 18:24
    #39684990
Синий Слон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777Такая проблема.
insert в таблицу удаленную, а лучше create table на удаленную базу.
как это сделать питоном я знаю. а нет ли стандартных погресовых средств?

dblink
...
Рейтинг: 0 / 0
08.08.2018, 18:32
    #39684995
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Синий Слон,

надо чтобы select из текущей базы insert в удаленную.


SELECT dblink_build_sql_insert('foo', 'а вот тут должен быть select из текущей базы');

вот в этой месте я не понимаю как
...
Рейтинг: 0 / 0
08.08.2018, 20:08
    #39685040
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
psql dbtest

SELECT dblink_exec
(
'dbname=postgres',
'INSERT INTO tbla
SELECT id, time
FROM dblink
(
''dbname=dbtest'',
''SELECT id, time FROM tblb''
)
AS t(id integer, time integer)
WHERE time > 1000;'
);
...
Рейтинг: 0 / 0
08.08.2018, 21:26
    #39685073
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777,

Посмотрите на FDW.
...
Рейтинг: 0 / 0
09.08.2018, 08:34
    #39685187
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
vyegorovRinka777,

Посмотрите на FDW.

спасибо, уже. не подходит
...
Рейтинг: 0 / 0
10.08.2018, 09:47
    #39685875
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777vyegorovRinka777,

Посмотрите на FDW.

спасибо, уже. не подходит
l/,/

а что не так ?
не ставится ?
или нужна ручная оптимизация ?


в дблинке вызовите тамошний дблинк, к своей базе.
если лень передаваемое мн-во со своей стороны форматировать в литералы.

типа

Код: sql
1.
дблинк_екзек('тама',$tama$insert into .... select * from dblink('tuta', $tutta$SElect ...... $tutta$) as t (fields_lists)$tama$)



и т.п.
...
Рейтинг: 0 / 0
11.08.2018, 14:39
    #39686399
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
qwwq, там сложности с безопасностью. можно только в одну сторону данные передавать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT dblink_exec (
'dbname=postgres',
'INSERT INTO tbla
SELECT id, time
FROM dblink
(
''dbname=dbtest'',
''SELECT id, time FROM tblb''
)
AS t(id integer, time integer)
WHERE time > 1000;'
);



вот этот вариант тоже не прошел. по безопасности. и FDW с двойным линком безопасники забраковали.

в итоге решила так:

в функции на источнике открываю курсор с данными и инсертю на приемник через линк.
долго только работает. а так вроде норм.
...
Рейтинг: 0 / 0
12.08.2018, 20:15
    #39686596
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777,

1. используйте множественный insert .... values(...),(...),(...),(...),(...),(...),(...)
нарезав пакет на пачки штук по 10000 в одном вельюз.

1.1 или препаре -- екзекьют внутри линка.
можете иногда там же бегинить и ендить пачки, чтобы транз было поменьше.

должно стать быстрее.

2. используйте COPY (QUERY) в дблинке. (тут думать, как в "копи ту програм" от себя передаться на ту сторону в тмп например (или наоборот оттуда увидеть местный тмп) , если не хотите psql). скорее всего по безопасности не пролезете.


а почему с фдв проблемы шире чем с линком не понял. делаете там отдельную простую вьюху с правами на вставку. и все одинаково хоть с линком хоть с фдв, за исключением возможности в линке руками что-- то отоптимайзить. нет ?
...
Рейтинг: 0 / 0
14.08.2018, 15:19
    #39687539
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
qwwqRinka777,


а почему с фдв проблемы шире чем с линком не понял. делаете там отдельную простую вьюху с правами на вставку. и все одинаково хоть с линком хоть с фдв, за исключением возможности в линке руками что-- то отоптимайзить. нет ?

вот это вот не поняла.
...
Рейтинг: 0 / 0
14.08.2018, 17:02
    #39687646
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
и опять же
COPY таблица TO dblink ???
там же низя...
...
Рейтинг: 0 / 0
15.08.2018, 13:39
    #39688091
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777qwwqRinka777,


а почему с фдв проблемы шире чем с линком не понял. делаете там отдельную простую вьюху с правами на вставку. и все одинаково хоть с линком хоть с фдв, за исключением возможности в линке руками что-- то отоптимайзить. нет ?

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

-- разницы никакой, за исключением гибкости.
...
Рейтинг: 0 / 0
15.08.2018, 13:47
    #39688096
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
Rinka777и опять же
COPY таблица TO dblink ???
там же низя...
чиииво ?

сначала копи от себя ту програм в котором труба (пайп) в тмп удаленного. потом
~~дблинк (соединение, "копи фром....")

а лучше даже не линк, а сразу в пайпе пскл с пскл--копи из стдина на дестинешн. без тмп. и видимо кат как прокладка.
...
Рейтинг: 0 / 0
15.08.2018, 17:18
    #39688294
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные по линку заталкивать, а не вытаскивать
qwwq,

да, да, да!!!
на приемнике таблица, на источнике FDW. удаляем и вставляем в FDW данные изоляцией транзакции REPEATABLE READ и все четко без задержек.

в мою оракловую голову никогда бы таких мыслей не пришло.
чудны дела твои, постгрес!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Данные по линку заталкивать, а не вытаскивать / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]