Bagaimana cara mengubah nilai default kolom di PostgreSQL?

126

Bagaimana cara mengubah nilai default kolom di PostgreSQL?

Saya sudah mencoba:

ALTER TABLE ONLY users ALTER COLUMN lang DEFAULT 'en_GB';

Tapi itu memberi saya kesalahan:

ERROR: syntax error at or near "DEFAULT"
Cahaya Perak
sumber

Jawaban:

243

'SET' dilupakan

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Cahaya Perak
sumber
13
Untuk apa ONLYdigunakan sebelum nama tabel?
Nik Sumeiko
20
"Jika HANYA ditentukan sebelum nama tabel, hanya tabel itu saja yang diubah. Jika HANYA tidak ditentukan, tabel dan semua tabel turunannya (jika ada) diubah" postgresql.org/docs/9.3/static/sql-altertable. html
Yodan Tauber
80

Jika Anda ingin menghapus batasan nilai default, Anda dapat melakukan:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Salvador Dali
sumber