আমি কীভাবে পিএসকিএল দিয়ে একটি ট্রিগার সামগ্রী দেখতে পারি?


13

আমি জানি আমি ট্রিগারগুলির সাথে তালিকাবদ্ধ করতে পারি \dft। তবে আমি কীভাবে একটি কংক্রিট ট্রিগার দেখতে পারি? কোন ইভেন্টে ট্রিগারটি কার্যকর করা হয়, কোন ফাংশনটি কার্যকর করা হয় এবং এর মতো বিশদ আমি জানতে চাই।

উত্তর:


24

ঠিক আছে, আমি নিজেই এটি সম্পর্কে জানতে পেরেছি।

কমান্ডটি \dftট্রিগারগুলি নিজে দেখায় না (যেমনটি আমি ভেবেছিলাম), এটি সমস্ত ট্রিগার-ফাংশন (রিটার্ন-টাইপ ট্রিগার) দেখায়।

আপনি যে ট্রিগারটি করতে পারেন তা দেখতে এটি \dS <tablename>কেবল এই টেবিলের কলামগুলিই দেখায় না, এই টেবিলটিতে সংজ্ঞায়িত সমস্ত ট্রিগারও দেখায়।

ট্রিগার-ফাংশন (বা কোনও ফাংশন) ব্যবহারের উত্স দেখানোর জন্য \df+ <functionname>


1
আরও সুবিধাজনক পাঠের জন্য \ ef <function_name> ব্যবহার করুন।
ব্রেইন 90

7

আপনার যদি পিএসএইচএল আদেশগুলি অ্যাক্সেস না করে থাকে তবে আপনি এখনও ব্যবহার করতে পারেন:

select pg_get_functiondef('functionname'::regproc);

2

আপনি নিম্নলিখিত চেষ্টা করতে পারেন:

SELECT event_object_table,trigger_name,event_manipulation,action_statement,action_timing FROM information_schema.triggers ORDER BY event_object_table,event_manipulation

অথবা আপনি 'টেস্টেবল' নামের একটি সারণীর ট্রিগারগুলি এটির মতো দেখতে পারেন:

SELECT event_object_table,trigger_name,event_manipulation,action_statement,action_timing FROM information_schema.triggers WHERE event_object_table='testtable' ORDER BY event_object_table,event_manipulation
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.