powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / bulk collect/forall
16 сообщений из 16, страница 1 из 1
bulk collect/forall
    #35338657
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, аналогов в pl/pgsql нет?
...
Рейтинг: 0 / 0
bulk collect/forall
    #35338664
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это вообще такое?
Код: plaintext
1.
----------------------------
 Verba volent, scripta manent 
...
Рейтинг: 0 / 0
bulk collect/forall
    #35338677
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan BlackА что это вообще такое?
Код: plaintext
1.
----------------------------
 Verba volent, scripta manent 


http://www.oracle.com/technology/oramag/oracle/04-jan/o14tech_plsql.html
...
Рейтинг: 0 / 0
bulk collect/forall
    #35338738
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new onehttp://www.oracle.com/technology/oramag/oracle/04-jan/o14tech_plsql.htmlМнога буков и специальных оракловских терминов. Не осилил
А своими словами можете описать?
...
Рейтинг: 0 / 0
bulk collect/forall
    #35338871
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan Black Author the new onehttp://www.oracle.com/technology/oramag/oracle/04-jan/o14tech_plsql.htmlМнога буков и специальных оракловских терминов. Не осилил
А своими словами можете описать?

Пачкой выгрести данные/пачкой вставить. Что-то в духе COPY, только не из файла.
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339651
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
copy может не только из файла, вот например из
http://mail.python.org/pipermail/python-list/2005-February/308775.html

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
import pg
db = pg.DB('bind9', '192.168.192.2',  5432 , None, None, 'named', None)
db.query('create temp table fffz(i int,t text)')
db.query('copy fffz from stdin')
db.putline("3\t'the'")
db.putline("4\t'rain'")
db.endcopy()
db.query('commit')

Note that multiple columns must be separated by tabs ('\t') (unless you
specify "copy mytable with delimiter ...").


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339662
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшcopy может не только из файла, вот например из
http://mail.python.org/pipermail/python-list/2005-February/308775.html
stdin - тоже файл. А если мне откуда-то еще пачка приезжает? Напихать во временную таблицу без индексов и потом уже оттуда вставить - не шустрее будет, если по одной записи засовывать? Никто не пробовал?
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339769
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new onestdin - тоже файл. А если мне откуда-то еще пачка приезжает?не понимаю %)
Код: plaintext
1.
2.
while queue.wait_data_block():
    db.bulk_load(queue.data)
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339785
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Author the new onestdin - тоже файл. А если мне откуда-то еще пачка приезжает? Напихать во временную таблицу без индексов и потом уже оттуда вставить - не шустрее будет, если по одной записи засовывать? Никто не пробовал?

Серьезно Вы к делу подошли. Который день с PG мучаетесь
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339791
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что Вас заставило отказаться от Oracle в пользу PG, если не секрет?
...
Рейтинг: 0 / 0
bulk collect/forall
    #35339926
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChameLe0nСерьезно Вы к делу подошли. Который день с PG мучаетесь
Ну почему мучаюсь? Довольно приятный сервер. Да, многого нет (секционирования, compressed индексов, iot-таблиц, хинтов в запросах), но все же не ужас-ужас-ужас по имени mysql.

ChameLe0nЧто Вас заставило отказаться от Oracle в пользу PG, если не секрет?
Работу поменял.
...
Рейтинг: 0 / 0
bulk collect/forall
    #35340867
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new one Ёшcopy может не только из файла, вот например из
http://mail.python.org/pipermail/python-list/2005-February/308775.html
stdin - тоже файл. А если мне откуда-то еще пачка приезжает? Напихать во временную таблицу без индексов и потом уже оттуда вставить - не шустрее будет, если по одной записи засовывать? Никто не пробовал?

Таки будет шустрее, если кому интересно. Но достаточно непринципиально; рассовывание в массив и использование insert into(...) values(...),(...),...(...); тоже порой шустрее; но и в том, и в другом случае разница не сногсшибательно велика (от 5% до 30%), да еще к тому же зависит от размеров пачки, и при неудачном раскладе получается даже хуже. В общем, не стоит колупаться.

Если у кого-то есть иные данные - был бы рад ознакомиться.
...
Рейтинг: 0 / 0
bulk collect/forall
    #35343352
Фотография Zashibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у меня есть dll, которую писал специально для постгри, которая реализует часть функций этого булька. Работает через insert ()()()
Если интересно, могу сказать где ее взять. Если руководство разрешит, могу и исходники выложить :)
...
Рейтинг: 0 / 0
bulk collect/forall
    #35344189
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zashibisа у меня есть dll, которую писал специально для постгри, которая реализует часть функций этого булька. Работает через insert ()()()
Если интересно, могу сказать где ее взять. Если руководство разрешит, могу и исходники выложить :)

А что, сильно шустрее получается?
...
Рейтинг: 0 / 0
bulk collect/forall
    #35345654
Фотография Zashibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, работает медленнее, чем обычная COPY, но есть некоторые плюсы:
1) API - полностью совпадает с бульком для MS SQL Server
2) Можно перекачивать данные с локальной тачки на сервер через ODBC, т.е. не требуется предварительно закачивать файлы дампа на сервер, как в случае с COPY.

Вообще это делалось в рамках проекта SELTA@Etersoft - утилита которая позволяет 1С 7.7 работать с постгри (не реклама)
...
Рейтинг: 0 / 0
bulk collect/forall
    #35348716
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new oneА что, аналогов в pl/pgsql нет?
Че-то рылся в рассылках ПГ, вот нарыл:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
NTT OSS Center is very pleased to release pg_bulkload- 2 . 3 . 0  that
supports the PostgreSQL  8 . 3 . You can download the latest version from

    http://pgfoundry.org/frs/?group_id= 1000261 

The new features are the following:

  - Works on PostgreSQL  8 . 3  and  8 . 2  by the same package.
  - Support a native Windows platform.
  - Add a non-direct load mode which use shared buffer and WAL.
  - Enable TOAST.
  - Support sorting colomn order and skipping column.
  - Support binary input in fixed length file type.
  - Support to keep trailing spaces in character strings.
  - Support to skip the head of input records.
  - Support the number of records to be loaded.


Please visit online manual site:

    http://pgbulkload.projects.postgresql.org/

Это боян апрельский, т.е. может уже че-то и дальше пошло.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / bulk collect/forall
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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