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

Karakter maksimum dalam label (nama tabel, kolom, dll)

Anda bertanya:

Apakah ada perintah yang dapat mengubah panjang maksimum ini? Apakah panjang ini sama untuk nama lain (kolom, tabel dll)?

Manual menjawab di sini:

Sistem menggunakan tidak lebih dari NAMEDATALEN-1 byte pengidentifikasi; nama yang lebih panjang dapat ditulis dalam perintah, tetapi akan dipotong. Secara default, NAMEDATALEN adalah 64 jadi panjang pengenal maksimum adalah 63 byte. Jika batas ini bermasalah, dapat dinaikkan dengan mengubah NAMEDATALEN konstanta di src/include/pg_config_manual.h .

Penekanan saya yang berani.

Satu-satunya cara untuk mengubahnya adalah dengan meretas kode sumber dan mengkompilasi ulang PostgreSQL.
Nama domain adalah pengidentifikasi seperti yang lainnya. Saat saya mengeksekusi:

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text

Saya mendapatkan apa yang saya pesan (diuji pada PostgreSQL 8.4 - 11):

d_complement_activite_etablissement_or_even_loger_than_that

Ergo:pasti ada perangkat lunak lain antara Anda dan database Anda yang memotong namanya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Docker - Bagaimana menjalankan perintah psql di wadah postgres?

  2. GROUP BY di Postgres - tidak ada kesetaraan untuk tipe data JSON?

  3. Di Rails, Tidak dapat membuat database untuk {adapter=>postgresql,

  4. Masalah dengan perintah COPY postgresql dengan Rails di server yang berbeda

  5. file postgres db - file mana yang mewakili tabel/indeks tertentu?