web-dev-qa-db-ja.com

ラベルの最大文字数(テーブル名、列など)

この質問が以前に聞かれていなかったことを願っています。ドメイン名の文字制限を知っている人はいますか?たとえば、これを書いた場合:

CREATE DOMAIN d_complement_activite_etablissement AS character varying

次の名前のドメインが作成されます。

d_complement_activite_etabliss

(ええ、私は数える方法を知っていますが、私は主題についてのより多くの情報が欲しいです)。

この最大長を変更できるコマンドはありますか?この長さは他の名前(列、テーブルなど)でも同じですか?

34
Florin Vistig

あなたが尋ねる:

この最大長を変更できるコマンドはありますか?この長さは他の名前(列、テーブルなど)でも同じですか?

ここでの手動回答

システムはNAMEDATALEN-1バイト以下の識別子を使用します。長い名前はコマンドで記述できますが、切り捨てられます。デフォルトでは、NAMEDATALENは64であるため、識別子の最大長は63バイトです。この制限に問題がある場合は、src/include/pg_config_manual.hNAMEDATALEN定数を変更することで引き上げることができます。

大胆な強調鉱山。

変更する唯一の方法は、ソースコードをハックしてPostgreSQLを再コンパイルすることです。
ドメイン名は他のような識別子です。私が実行するとき:

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text

私は注文したものを取得します(PostgreSQL 8.4-11でテスト済み):

d_complement_activite_etablissement_or_even_loger_than_that

エルゴ:あなたとあなたのデータベースの間には、他のソフトウェアが名前を切り取っている必要があります。

57