में पोस्टग्रेएसक्यूएल बहुआयामी सरणी मैं डेबियन निचोड़ पर PostgreSQL 8.4 के साथ SQLAlchemy 0.6.3 का उपयोग कर रहा हूं। मुझे एक टेबल चाहिए जहां एक कॉलम PostgreSQL में कुछ संग्रहीत करता है जो पूर्णांक सूचियों या पूर्णांक tuples के tuples की सूची के रूप में पाइथन में दिखाई देता है। जैसेएसक्यूएलकेमी
((1,2), (3,4), (5,6,7))
नीचे दिए गए उदाहरण में कॉलम model
है। मैंने सोचा कि एक उचित दृष्टिकोण सामान को पीजी 2 आयामी तालिका के रूप में स्टोर करना हो सकता है, जो पीजी में integer[][]
जैसा दिखता है। मुझे नहीं पता कि एसक्यूएलए किस प्रकार इसे पाइथन पर वापस कर देगा, लेकिन मुझे उम्मीद है कि यह टुपल्स की तरह कुछ है।
हालांकि, मैं समझ नहीं सकता कि मुझे दो आयामी पूर्णांक सरणी देने के लिए एसक्यूएलए को कैसे बताना है। sqlalchemy.dialects.postgresql.ARRAY
के लिए documentation कहते
item_type - इस सरणी की वस्तुओं के डेटा प्रकार। ध्यान दें कि आयामता यहां अप्रासंगिक है, इसलिए INTEGER [] [], जैसे बहु-आयामी सरणी ARRAY (इंटीजर) के रूप में निर्मित हैं, ARRAY (ARRAY (Integer)) या ऐसे में नहीं। फ्लाई पर टाइप मैपिंग आंकड़े।
दुर्भाग्यवश, मुझे नहीं पता कि इसका क्या अर्थ है। प्रकार मैपिंग फ्लाई पर यह कैसे पता लगा सकता है? इसे सही डीडीएल बनाने की जरूरत है। यह करने के लिए मेरा पहला और एकमात्र अनुमान ARRAY(ARRAY(Integer))
होगा। वर्तमान में मैं
crossval_table = Table(
name, meta,
Column('id', Integer, primary_key=True),
Column('created', TIMESTAMP(), default=now()),
Column('sample', postgresql.ARRAY(Integer)),
Column('model', postgresql.ARRAY(Integer)),
Column('time', Float),
schema = schema,
यह निम्न DDL
CREATE TABLE crossval (
id integer NOT NULL,
created timestamp without time zone,
sample integer[],
model integer[],
"time" double precision
);
जो सही नहीं है, निश्चित रूप से बनाता है। मैं क्या खो रहा हूँ?
यदि आप इस तरह की बहुत सारी चीजें करने जा रहे हैं तो आप मौसम पर विचार नहीं कर सकते हैं एक रिलेशनल डीबी आपके लिए सबसे अच्छा विकल्प है। – Mark
@ मार्क: मैं इसका पालन नहीं करता हूं। कितनी चीज है? –
यदि आप मानचित्रों के मानचित्रों या मानचित्रों के बहुत सारे सरणी बनाए रखने की कोशिश कर रहे हैं तो आप उस डेटाबेस को देखना चाहेंगे जो उस अवधारणा को प्रथम श्रेणी के रूप में समर्थन देता है जैसे रेडिस – Mark