পোস্টগ্রাইএসকিউএল-এ দেখার জন্য ক্রিয়েট ভিউ কোডটি কীভাবে দেখবেন?


173

পোস্টগ্র্রেএসকিউএল কমান্ড-লাইন ক্লায়েন্ট ব্যবহার করে একটি ভিউ তৈরি করতে ব্যবহৃত কোডটি দেখার কি সহজ উপায় আছে?

SHOW CREATE VIEWমাইএসকিউএল এর মত কিছু ।

উত্তর:


229

খোঁজ নিতে এখানে ফিরে আসতে হয়েছিল pg_get_viewdef(কীভাবে এটি মনে করতে হবে !!), তাই আরও একটি স্মরণীয় কমান্ড অনুসন্ধান করুন ... এবং এটি পেয়েছেন:

\d+ viewname

\?Pgsql কমান্ড লাইনে টাইপ করে আপনি একই ধরণের কমান্ড দেখতে পাবেন ।

বোনাস টিপ: emacs কমান্ড sql-postgrespgsql কে অনেক বেশি আনন্দদায়ক করে তোলে (সম্পাদনা, অনুলিপি, পেস্ট, কমান্ডের ইতিহাস)।


1
আমি সাধারণত এই কৌশলটি \ o কমান্ডের সাথে একত্রিত করি। আমি কিছু ফাইলের সাথে some d + ডাম্প করি তারপরে ভিএম ম্যাক্রো ব্যবহার করে আমি আমার প্রয়োজনীয় সরবরাহের জন্য সেই ফাইলগুলি সংশোধন করেছি।
Brain90

দুঃখজনক বিষয়টি: এটি পিএসকিএল ব্যতীত ব্যবহার করা যাবে না। "খাঁটি" এসকিউএল-কমান্ড-সংস্করণ (pg_get_viewdef মোটেও অবলম্বন না করে), যা আরও বহনযোগ্য, যেমন DBI এর সাথে পার্লের কাছে।
জিনসেড

1
এর চেয়ে বেশি কার্যকর কী হ'ল ফাংশনগুলির জন্য command e কমান্ডের কিছু প্রকারের সাথে ভিউ সংজ্ঞা কোডটি সরাসরি সম্পাদনা করতে সক্ষম। একটি feature ev বৈশিষ্ট্যটি দুর্দান্ত হবে। এখন পর্যন্ত @ ব্রেন 90 দ্বারা প্রস্তাবিত সমাধানটি দ্রুত সম্পাদনা দর্শন সংজ্ঞাগুলির নিকটতম আমি খুঁজে পেয়েছি।
থালিস কে।

1
সম্পর্কিত টিপ: \dvসমস্ত দর্শন তালিকাবদ্ধ করে
নাথান লং

120
select pg_get_viewdef('viewname', true)

ম্যানুয়ালটিতে এই সমস্ত ফাংশনগুলির একটি তালিকা পাওয়া যায়:

http://www.postgresql.org/docs/current/static/functions-info.html


শীতল, এটি এমনকি এটি প্রিন্ট! :) ম্যানুয়ালটি বলে যে এটি
হ্রাস

8
@ এলিয়াস: কেবলমাত্র একটি সংস্করণে নাম byালাই করে একটি ওআইডি ব্যবহার করে এমন সংস্করণটি ব্যবহার করুন:select pg_get_viewdef('viewname'::regclass, true)
a_horse_with_no_name

2
কাস্টিংয়ের বিকল্প হিসাবে এলিয়াস, এটিও কাজ করে: SELECT pg_get_viewdef(to_regclass('viewname'))(কমপক্ষে v9.4 প্রয়োজন)।
জলরাশী

49
select definition from pg_views where viewname = 'my_view'

1
এটির জন্য ধন্যবাদ .. এটি কেবলমাত্র পিএসএইচএল-ক্লায়েন্টের চেয়ে আমার প্রোগ্রাম থেকে দেখার সংজ্ঞা অ্যাক্সেস করতে দেয়।
ডোমিনিক ডর্ন

2
এটি এর অতিরিক্ত যুক্ত সুবিধা রয়েছে যা এটি অ্যামাজন রেডশিফ্টের জন্যও কাজ করে।
ব্রেন্ট লিখেছেন কোড

অনুসন্ধানের পথে নয় এমন স্কিমাগুলিতে দেখার জন্য এটি কাজ করে না। এবং এটি বিভিন্ন স্কিমায় একই নামের সাথে দুটি দর্শনের মধ্যে পার্থক্য করে না। যখন আমি স্কিমা লিখি, আমি আপনাকে যে নেমস্পেসটি তৈরি করব তা উল্লেখ করছি যা আপনি ক্রেটিট স্কেমার সাথে তৈরি করেছেন
মাইকেল ডিলন

1
@ মিশেলডিলন সিলেক্ট সংজ্ঞার পরিবর্তে একটি নির্বাচন করুন * এবং আপনি অন্য কিছু তথ্য সহ স্কিমা দর্শন কী তা দেখতে পারবেন।
Anders Kreinøe

আপনার ভিউ অনুসন্ধান পাথ, ব্যবহারের উপর না হয়, তাহলেselect definition from pg_views where schemaname = 'my_schema' and viewname = 'my_view'
bonh

18

আপনি যদি একটি এএনএসআই এসকিউএল -২২ সংস্করণ চান:

select view_definition from information_schema.views where table_name = 'view_name';

8

V.9.6 এবং উপরের গুড নিউজ, দেখুন সম্পাদনাটি এখন পিএসকিএল থেকে নেটিভ। শুধু \evকমান্ড প্রার্থনা করুন । সংজ্ঞাগুলি দেখুন আপনার কনফিগার করা সম্পাদকটিতে প্রদর্শিত হবে।

julian@assange=# \ev {your_view_names}

বোনাস. ক্যোয়ারী বাফারের সাথে ইন্টারঅ্যাক্ট করার জন্য কিছু দরকারী কমান্ড।

Query Buffer
  \e [FILE] [LINE]       edit the query buffer (or file) with external editor
  \ef [FUNCNAME [LINE]]  edit function definition with external editor
  \ev [VIEWNAME [LINE]]  edit view definition with external editor
  \p                     show the contents of the query buffer
  \r                     reset (clear) the query buffer
  \s [FILE]              display history or save it to file
  \w FILE                write query buffer to file

4
হাহাহা, শুধু তাকে সালাম করার জন্য। তিনি প্রথম দিনগুলিতে পিএসএলএল করার জন্য অনেক প্রতিশ্রুতিবদ্ধ। git.postgresql.org/gitweb/…
মস্তিষ্ক 90

3

এগুলি দেখানোর জন্য একটি সামান্য জিনিস।
Pg_get_viewdef বা pg_views বা তথ্য_সেমি.ভিউগুলি ফাংশনটি ব্যবহার করে আপনি সর্বদা আপনার মূল ডিডিএলটির একটি পুনর্লিখিত সংস্করণ পাবেন
পুনর্বিবেচিত সংস্করণটি আপনার মূল ডিডিএল স্ক্রিপ্টের মতো নাও হতে পারে।

যদি নিয়ম পরিচালক আপনার দর্শন সংজ্ঞাটি পুনরায় লেখেন তবে আপনার আসল ডিএলএল হারিয়ে যাবে এবং আপনি নিজের দর্শন সংজ্ঞাটির পুনর্লিখনের একমাত্র সংস্করণটি পড়তে সক্ষম হবেন।
সমস্ত মতামত পুনরায় লেখা হয় না তবে আপনি যদি সাব-সিলেক্ট ব্যবহার করেন বা যোগদান করেন সম্ভবত আপনার দর্শনগুলি আবার লেখা হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.