powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY FROM STDIN
13 сообщений из 13, страница 1 из 1
COPY FROM STDIN
    #39096035
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу использовать эту команду. Чтоб не создавать файл на диске читать с одной базы данных и писать сразу в другую хочу использовать stdin. Создал приложение на Qt которое запускает psql но не получается писать в stdin psql - я. Конечно могу создать файл но по сути он не нужен. В php есть функция pg_put_line. Но я с ним не очень знаком. Как поступить?
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096109
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koltsСоздал приложение на Qt которое запускает psqlприложение, запускающее приложение. да ты затейник!
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096328
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolts,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
postgres@hp-pluzanov:~$ psql -d postgres -c "create table t (col int);"
CREATE TABLE
postgres@hp-pluzanov:~$ psql -d postgres -c "insert into t select generate_series(1,1000);"
INSERT 0 1000
postgres@hp-pluzanov:~$ psql -d template1 -c "create table t (col int);"
CREATE TABLE
postgres@hp-pluzanov:~$ psql -d template1 -c "select count(*) from t;"
 count 
-------
     0
(1 row)

postgres@hp-pluzanov:~$ psql -d postgres -c "copy t to stdout;"|psql -d template1 -c "copy t from stdin;"
COPY 1000
postgres@hp-pluzanov:~$ psql -d template1 -c "select count(*) from t;"
 count 
-------
  1000
(1 row)
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096384
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
p2., Помимо запуска psql мое приложение еще читает данные с другой базы которая совсем не постгресовая(вопрос бы не стоял вообще), еще и через ODBC драйвер.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096476
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koltsПомимо запуска psql мое приложение еще читает данные с другой базы которая совсем не постгресовая(вопрос бы не стоял вообще), еще и через ODBC драйвер.и зачем такое неравноправие? тем более, когда не умеешь запустить процесс с перенаправлением io.
либо обе базы оперируй стандартными средствами isql ... | psql .... либо обе через sql-интерфейс, если, конечно, тот же odbc тебе по силам.
либо, при наличии прямой связи, воспользуйся возможностями одной из субд для подключения к другой.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096512
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно поподробнее? Я могу сделать приложение которое будет выкидывать в stdout и соединить с psql. Это имелось ввиду? Я об этом не думал. Я сделал графическое приложение.
авторвозможностями одной из субд для подключения к другой. Одна база TECDOC(transbase) другая моя постгресовая. Как их можно подключить?
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096677
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koltsХочу использовать эту команду. Чтоб не создавать файл на диске читать с одной базы данных и писать сразу в другую хочу использовать stdin. Создал приложение на Qt которое запускает psql но не получается писать в stdin psql - я. Конечно могу создать файл но по сути он не нужен. В php есть функция pg_put_line. Но я с ним не очень знаком. Как поступить?

а что вам собственно мешает использовать QSqlQuery и QSqlDatabase?
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096754
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsycho, Я то использую, но STDIN там не прокатывает, вот и приходится ухищряться.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096756
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я уже некоторые таблицы перегнал обычными запросами. Но таким макаром это займет еще 2 дня.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39096977
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolts,

так, наверное понял что вы пытаетесь сделать. было время когда я такие задачи пытался реализовать с помощю C или C++, но теперь, наверное, смотрел бы в сторону FDW . но незнаю какая у вас версия постгреса, может и не подойдёт. другой вариант писать скрипты, как вам предлагали выше, т.е. сами скрипты могут быть созданы у вас в C++/QT и гонятся затем через QProcess.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39097055
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolts,

да, вспомнил, в вашем случяе, скорее всего dblink подойдёт лучше чем FDW.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39097062
kolts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsycho, Пока делаю с помощью запросов так как по другому не получается. Хотел сделать приложение которое будет посылать команды на стандартный вывод и соединить с psql, но не получилось. Не нравится ему, пишет что не те данные не utf-8.
Пока я искал варианты таблицы потихоньку копировались. С помощью QProcess тоже никак. Получается послать запрос на исполнение и то только с помощью ключа запуска -с. Писать в STDIN никак.
За участие спасибо.
...
Рейтинг: 0 / 0
COPY FROM STDIN
    #39098045
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключайтесь к постгресу через драйвер(библиотеку), а не через клиента psql.

Думаю, что через odbc драйвер не получится выполнить copy, так эта команда не стандартная.

Попробуйте постгресовый драйвер для Qt. (В библиотеках для других ЯП есть спец. функции для COPY.)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY FROM STDIN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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