Операторы умножения запускаются одновременно в postgresql
В postgresql, если несколько операторов SQL выполняются одновременно (в pgadmin выберите все эти операторы и нажмите кнопку "выполнить", как показано на рисунке),
сервер будет ждать, пока последний оператор не будет выполнен, прежде чем предыдущие операторы вступят в силу. Когда эти заявления выполняются, если я бегу SELECT * FROM tablename1
тогда произойдет ошибка "отношение не существует".
Существуют ли способы вступления в силу операторов после их выполнения? Примечание. Каждому оператору CREATE требуется очень короткое время, если оно выполняется само по себе. Оператор SELECT требует много времени.
1 ответ
Я предполагаю, что когда вы выбираете несколько операторов в pgadmin и нажимаете "Выполнить", все они выполняются в одной транзакции. Это означает, что результаты транзакции не будут видны другим параллельным сеансам, пока она не завершится (или не будет видна вообще, если транзакция завершится неудачей).
Попробуйте добавить явное COMMIT;
после каждого CREATE TABLE
или после последнего.
Вы также можете прочитать об изоляции транзакций.