जवाबों:
सभी स्कीमाओं में:
=> \dt *.*
एक विशेष स्कीमा में:
=> \dt public.*
कुछ प्रतिबंधों के साथ नियमित अभिव्यक्ति का उपयोग करना संभव है
\dt (public|s).(s|t)
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | s | table | cpn
public | t | table | cpn
s | t | table | cpn
उन्नत उपयोगकर्ता नियमित अभिव्यक्ति अभिव्यक्ति का उपयोग कर सकते हैं जैसे चरित्र वर्ग, उदाहरण के लिए [0-9] किसी भी अंक से मेल खाने के लिए। सभी नियमित अभिव्यक्ति विशेष वर्ण धारा 9.7.3 में निर्दिष्ट किए गए अनुसार काम करते हैं, सिवाय
.
इसके कि ऊपर बताए अनुसार विभाजक के रूप में लिया जाता है,*
जिसका अनुवाद नियमित-अभिव्यक्ति संकेतन.*
में?
किया जाता है , जिसका अनुवाद किया जाता है.
, और$
जिसका शाब्दिक रूप से मिलान किया जाता है। आप लिख कर की जरूरत पर इन पैटर्न पात्रों का अनुकरण कर सकते हैं?
के लिए.
,(R+|)
के लिएR*
, या(R|)
के लिएR?
।$
नियमित अभिव्यक्ति के रूप में एक नियमित अभिव्यक्ति के चरित्र की जरूरत नहीं है क्योंकि नियमित अभिव्यक्ति की सामान्य व्याख्या के विपरीत पूरे नाम से मेल खाना चाहिए (दूसरे शब्दों में,)$
स्वचालित रूप से आपके पैटर्न से जुड़ा हुआ है)।*
शुरुआत और / या अंत में लिखें यदि आप पैटर्न को लंगर डाले जाने की इच्छा नहीं रखते हैं। ध्यान दें कि दोहरे उद्धरण चिह्नों के भीतर, सभी नियमित अभिव्यक्ति विशेष वर्ण अपने विशेष अर्थ खो देते हैं और शाब्दिक रूप से मेल खाते हैं। इसके अलावा, नियमित अभिव्यक्ति विशेष वर्ण ऑपरेटर नाम पैटर्न (यानी, के तर्क\do
) में शाब्दिक रूप से मेल खाते हैं ।
\dt public.user_info, public.user_scope
?
\dt public.a; \dt public.b;
एक लाइन पर करना आसान है ।
search_path
, और वह चूक करता है "$user", public.*
। नतीजतन, set search_path=s; \dt
स्कीमा में सभी तालिकाओं को सूचीबद्ध करने जा रहा है s
।
आप से तालिकाओं का चयन कर सकते हैं information_schema
SELECT * FROM information_schema.tables
WHERE table_schema = 'public'
वैकल्पिक रूप से information_schema
इसका उपयोग करना संभव है pg_tables
:
select * from pg_tables where schemaname='public';
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
information_schema
से आइटम सूचीबद्ध नहीं करने के साथ एक अनुमतियाँ समस्या मिली public
, लेकिन pg_tables
विधि अच्छी तरह से काम किया। बहुत धन्यवाद!
भविष्य में इसके पार आने वालों के लिए:
यदि आप कई स्कीमाओं के लिए संबंधों की सूची देखना चाहते हैं:
$psql mydatabase
mydatabase=# SET search_path TO public, usa; #schema examples
SET
mydatabase=# \dt
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | counties | table | postgres
public | spatial_ref_sys | table | postgres
public | states | table | postgres
public | us_cities | table | postgres
usa | census2010 | table | postgres
\dt
करने के लिए equivolent है\dt public.*
मैं सही, कर रहा हूँ?