2011-11-21 4 views
28

この質問には以前質問しませんでした。誰もドメイン名の文字制限を知っていますか?それは名前のドメインを作成しますラベルの最大文字数(テーブル名、カラムなど)

CREATE DOMAIN d_complement_activite_etablissement AS character varying 

:たとえば 私はこれを書いている場合

d_complement_activite_etabliss 

(ええ、私はカウントする方法を知っているが、私は、件名にいくつかのより多くの情報が欲しいです) 。

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

答えて

43

あなたは尋ねる:

この最大の長さを変えることができるコマンドはありますか?この長さは で、他の名前(列、表など)と同じですか?

manual answers here

システムは、識別子のせいぜいNAMEDATALEN-1バイトを使用しません。 より長い名前をコマンドに書き込むことはできますが、切り捨てられます。 デフォルトでは、NAMEDATALENは64であるため、最大識別子の長さは バイトです。この制限に問題がある場合は、 NAMEDATALENsrc/include/pg_config_manual.hの定数に変更することによって上げることができます。

太字強調。

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

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text 

を私は(ただのPostgreSQL 8.4と9.0でテストされ、9.1はここに違いはありません)私が注文したものを手に入れる:

d_complement_activite_etablissement_or_even_loger_than_that 

エルゴ:ソフトウェアのトリミングの他のいくつかの作品がなければなりませんあなたの名前。

+0

うん...それは変です。それは今でも私のために働く。私はPostgre 9.1を使い、pgAdminからコマンドを実行しました。ありがとう –

+1

@FlorinVistig:pgAdminのSQLエディタには素晴らしい機能があります:実行する前にコードの一部を選択すると、**選択された部分**のみが実行され、他はすべて無視されます。あなたはそれを認識しているのですよね?あなたがそれを乗り越えたような音。 –

+0

私はその機能について知りませんでした。しかし、私はその機能が存在するところでSQL Serverについてもっと研究しましたが、私はそれを離れていることを知っています。理由は分かっていません... –