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

Bagaimana cara mengganti tabel di Postgres?

Lebih sederhana:

BEGIN;
DROP TABLE a;
ALTER TABLE a1 RENAME TO a;
COMMIT;

DROP TABLE memperoleh ACCESS EXCLUSIVE kunci di atas meja pula. LOCK yang eksplisit perintah tidak lebih baik. Dan mengganti nama orang mati hanyalah buang-buang waktu.

Anda mungkin ingin mengunci-tulis tabel lama sambil mempersiapkan yang baru, untuk mencegah penulisan di antaranya. Kemudian Anda akan mengeluarkan kunci seperti ini sebelumnya dalam proses:

LOCK TABLE a IN SHARE MODE;

Apa yang terjadi pada transaksi bersamaan yang mencoba mengakses tabel? Tidak sesederhana itu, baca ini:

Menjelaskan mengapa Anda mungkin melihat pesan kesalahan seperti ini:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgresSQL Nested Loops - Kapan perencana memutuskan untuk menggunakan Nested Loop saat melakukan INNER JOIN?

  2. UPDATE table_name SET col_name =varchar WHERE col_name adalah NULL;

  3. Bagaimana cara saya mendapatkan dukungan LISTEN/NOTIFY asynchronous/even-driven di Java menggunakan database Postgres?

  4. Mengapa satu pengidentifikasi dalam CREATE TABLE dikutip ganda, tetapi tidak yang lain?

  5. Permintaan Rails Postgres, memilih hanya item yang muncul di semua parameter pencarian dengan asosiasi