Операторы умножения запускаются одновременно в postgresql

В postgresql, если несколько операторов SQL выполняются одновременно (в pgadmin выберите все эти операторы и нажмите кнопку "выполнить", как показано на рисунке),
сервер будет ждать, пока последний оператор не будет выполнен, прежде чем предыдущие операторы вступят в силу. Когда эти заявления выполняются, если я бегу SELECT * FROM tablename1 тогда произойдет ошибка "отношение не существует".

Существуют ли способы вступления в силу операторов после их выполнения? Примечание. Каждому оператору CREATE требуется очень короткое время, если оно выполняется само по себе. Оператор SELECT требует много времени.

1 ответ

Я предполагаю, что когда вы выбираете несколько операторов в pgadmin и нажимаете "Выполнить", все они выполняются в одной транзакции. Это означает, что результаты транзакции не будут видны другим параллельным сеансам, пока она не завершится (или не будет видна вообще, если транзакция завершится неудачей).

Попробуйте добавить явное COMMIT; после каждого CREATE TABLE или после последнего.

Вы также можете прочитать об изоляции транзакций.

Другие вопросы по тегам