PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

BUAT DATABASE di dalam transaksi

Saat Anda mencobanya, Anda mendapatkan kesalahan:

ERROR:  CREATE DATABASE cannot run inside a transaction block

Ini berasal dari src/backend/access/transam/xact.c (baris 3023 pada sumber saya, tetapi bervariasi menurut versi), di PreventTransactionChain(...) .

Komentar di sana menjelaskan bahwa:

Untuk CREATE DATABASE itu dipanggil dari src/backend/tcop/utility.c di standard_ProcessUtility di bawah kasus T_CreatedbStmt , tapi sayangnya tidak ada komentar informatif yang mengatakan mengapa secara khusus CREATE DATABASE tidak aman untuk dijalankan dalam suatu transaksi.

Melihat sumbernya, saya dapat melihat bahwa untuk satu hal itu memaksa pos pemeriksaan.

Namun, secara keseluruhan, saya tidak melihat apa pun yang benar-benar meneriakkan "kita tidak dapat melakukan ini secara transaksional". Ini lebih "kami belum menerapkan fungsionalitas untuk melakukan ini secara transaksional".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TemplateSyntaxError:Tertangkap ImportError saat merender:tidak dapat mengimpor utilitas nama

  2. JPA - Mengatur properti kelas entitas dari kolom terhitung?

  3. Partisi SparkSQL PostgresQL Dataframe

  4. Alternatif dinamis untuk pivot dengan CASE dan GROUP BY

  5. Meningkatkan ke PostgreSQL13