Maximum characters in labels (table names, columns etc)

后端 未结 1 723
轻奢々
轻奢々 2020-12-03 04:38

Hope this question wasn\'t asked before. Does anyone know the character limit for domain names? For example if I write this:

CREATE DOMAIN d_complement_activ         


        
相关标签:
1条回答
  • 2020-12-03 04:45

    You ask:

    Is there a command that can change this maximum length? Is this length the same for other names (columns, tables etc)?

    The manual answers here:

    The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.

    Bold emphasis mine.

    The only way to change it is to hack the source code and recompile PostgreSQL.
    Domain names are identifiers like any other. When I execute:

    CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text
    

    I get what I ordered (tested on PostgreSQL 8.4 - 11):

    d_complement_activite_etablissement_or_even_loger_than_that
    

    Ergo: there must be some other piece of software between you and your database cropping the name.

    0 讨论(0)
提交回复
热议问题