powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание схемы на стороне клиента (pg_dump)
11 сообщений из 11, страница 1 из 1
Создание схемы на стороне клиента (pg_dump)
    #39166265
inforse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые знатоки!

Необходима подсказка, может кто сталкивался.

Есть два вопроса:

Разрабатывается клиент серверное приложение. На Qt с использование языка С++.

1. Возможно ли создание схемы БД на стороне клиента, если у клиента нет установленных драйверов. То есть, у себя на клиенте человек не может запустить pg_dump. Можно ли его запустить на сервере, и отловить со стандартного выхода сервера БД получаемую информацию. Или может есть более простой способ?

2. В связи с этим другой вопрос. В документации нарыл что стандартный оператор "copy" может принимать или отдавать данные через STDIN/STDOUT. Кто нибудь пользовался данной возможностью? Возможна ли загрузка информации через него напрямую в таблицу с приложения клиента? И возможно ли использовать его для пердачи схемы БД клиенту?

С Уважением!
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39166376
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inforse,
- pg_dump это клиент. И разрабатываемое твоё на Qt тоже будет клиентом номер 2.
Для твоего клиента номер 2 тоже понадобятся дрова. Тогда в чём вопрос? Дрова всё равно нужны.
У меня проект на Lazarus. В Ubuntu зайти в Программы и поставить галку Драйвера PostgreSQL.
Будут установлены Сишные драйвера под данную Ось.
Всё.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39166578
inforse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123inforse,
- pg_dump это клиент. И разрабатываемое твоё на Qt тоже будет клиентом номер 2.
Для твоего клиента номер 2 тоже понадобятся дрова. Тогда в чём вопрос? Дрова всё равно нужны.
У меня проект на Lazarus. В Ubuntu зайти в Программы и поставить галку Драйвера PostgreSQL.
Будут установлены Сишные драйвера под данную Ось.
Всё.

Да все правильно, у меня тоже есть дрова QT и я замечательно читаю с базы и пишу. Но pg_dump на прямую через базу не сделать же? Я правильно понимаю? Для этого должен стоять сам постгоес на клиентской машине.
Отправить запрос я могу, а вот со снятием схемы возникла проблема.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39166589
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inforse,

у вас в коде клиента используются класы QSqlDatabase, QSqlQuery? если да, то значит клиент постгреса тоже есть на клиенте, и остаётся только добавить pg_dump, или pg_restore, о чём вам и говорили.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39178591
inforse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsycho,

Может я не правильно понимаю, прошу прощения.

QSqlQuery выполняет запрос на стороне базы данных. pg_dump это системная команда, и если драйвера в системе не установлены, pg_dump не выполниться.

А в qt я использую PSQL в составе пакета.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39178958
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inforse,

QSqlDatabase, QSqlQuery, QSqlError используют драйвера постгреса. Разве что вы используете ODBC подключение. В противном случае, у вас рядом с бинариком должен будет быть драйвер постгреса, или быть доступен по путям прописанным в системе. А это значит что минимальный набор уже есть на клиенте. Туда добавить pg_dump или любую другую из утилит, находящихся в папке bin, несоставит труда. Без драйверов вы будете получять ERROR driver not loaded.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39179020
inforse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsychoinforse,

QSqlDatabase, QSqlQuery, QSqlError используют драйвера постгреса. Разве что вы используете ODBC подключение. В противном случае, у вас рядом с бинариком должен будет быть драйвер постгреса, или быть доступен по путям прописанным в системе. А это значит что минимальный набор уже есть на клиенте. Туда добавить pg_dump или любую другую из утилит, находящихся в папке bin, несоставит труда. Без драйверов вы будете получять ERROR driver not loaded.

Все спасибо, учту. Наверно так и сделаю. Притяну утилиту pg_dump, и буду к ней обращаться.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39179489
big-trot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
inforseПритяну утилиту pg_dump, и буду к ней обращаться.
pg_dump - это исполняемый файл (утилита). Соответственно она запускается как процесс (зачем вообще речь идет о QSqlDatabase, QSqlQuery, QSqlError). И исполняться она будет там откуда вы её запускаете.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39179533
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-trotpg_dump - это исполняемый файл (утилита). Соответственно она запускается как процесс (зачем вообще речь идет о QSqlDatabase, QSqlQuery, QSqlError). И исполняться она будет там откуда вы её запускаете.
то что Qt имеет средства запускать процесс и отслеживать его состояние вы в курсе? например при помощи QProcess?
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39179565
big-trot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsychoто что Qt имеет средства запускать процесс и отслеживать его состояние вы в курсе? например при помощи QProcess?

Так я это и имею виду.
...
Рейтинг: 0 / 0
Создание схемы на стороне клиента (pg_dump)
    #39179578
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-trot

речь о QSqlQuery и т.д. зашла имменно после этого:
inforseLonepsycho,

Может я не правильно понимаю, прошу прощения.

QSqlQuery выполняет запрос на стороне базы данных. pg_dump это системная команда, и если драйвера в системе не установлены, pg_dump не выполниться.

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


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