[postgresql]トランザクションを作成してコミットしないと?


import {getConnection} from "typeorm";

const userFunction=()=>{

const connection = getConnection();
const queryRunner = connection.createQueryRunner();

await queryRunner.connect();

await queryRunner.query("SELECT * FROM users");

const users = await queryRunner.manager.find(User);
if (users){
return true // 커밋없이 리턴
}
await queryRunner.startTransaction();

try {

    await queryRunner.manager.save(user1);
    await queryRunner.manager.save(user2);
    await queryRunner.manager.save(photos);

    await queryRunner.commitTransaction();
    return true 커밋 후 리턴

} catch (err) {

    await queryRunner.rollbackTransaction();

} finally {

    await queryRunner.release();
}

}
START TRANSACTIONを起動した後、コミットトランザクションが実行されていない場合、
常に実行中であり、他のクエリーは実行されません.すなわち、nodejsサーバはアクティブであるが、クエリーは実行されないため、サーバは停止状態にある.取引を完了する唯一の方法は提出することです.rockの条件はトランザクションの孤立度に依存します.
リファレンス
https://stackoverflow.com/questions/4896479/what-happens-if-you-dont-commit-a-transaction-to-a-database-say-sql-server