Потоки в qt вместе Postgres

Подскажите, как сделать так, чтобы при нажатии на кнопку1, можно было записывать данные, и пока это делается, нажать на другую кнопку2, и начать чтение записей из базы? (2 действия сразу делались и при этом не подвисал ui). У меня пока все стоит на локалке, при этом есть только одно соединение с базой и один юзер.


Ответы (1 шт):

Автор решения: Мелкий

записывать данные, и пока это делается ... начать чтение

только одно соединение с базой

Протокол общения с PostgreSQL позволяет выполнять запрос асинхронно, не дожидаясь его выполнения, но в рамках одного соединения вы не можете иметь более одного выполняющегося одновременно запроса.

Потому в указанных требованиях - никак.

Вам нужно как минимум второе соединение с базой. А уже имея два соединения - вы можете это реализовать, заменив синхронный PQexec на PQsendQuery и PQgetResult либо что-то другое что для того же самого асинхронного взаимодействия предусмотрено в той библиотеке подключения, которую вы используете.

→ Ссылка