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 है इसलिए अधिकतम पहचानकर्ता लंबाई बाइट्स है। यदि यह सीमा समस्याग्रस्त है, तो src/include/pg_config_manual.h में NAMEDATALEN निरंतर बदलकर इसे उठाया जा सकता है।

बोल्ड जोर मेरा है।

मतलब, इसे बदलने का एकमात्र तरीका स्रोत कोड हैक करना और 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 

Ergo: वहाँ सॉफ्टवेयर फसल के कुछ अन्य टुकड़ा होना चाहिए आपका नाम।

+0

हम्म ... यह अजीब बात है। यह अब भी मेरे लिए काम करता है। मैं पोस्टग्रे 9.1 का उपयोग करता हूं और pgAdmin से कमांड चलाता हूं। धन्यवाद –

+1

@FlorinVistig: pgAdmin का एसक्यूएल संपादक एक अच्छी सुविधा है: जब आप निष्पादन से पहले कोड का हिस्सा चुनते हैं, तो केवल ** चयनित भाग ** निष्पादित हो जाता है, बाकी सब कुछ अनदेखा कर देता है। आप इसके बारे में जानते हैं, है ना? लगता है जैसे आप उस पर फिसल गए। –

+0

मुझे उस सुविधा के बारे में पता नहीं था। लेकिन मैंने SQL सर्वर पर और अधिक काम किया है, जहां यह सुविधा मौजूद है, और मुझे इससे दूर रहना है। पता नहीं क्या कारण था ... –

संबंधित मुद्दे