স্কিমার টেবিলগুলিতে রেডশিফ্ট টেবিলটি প্রদর্শিত হচ্ছে না?


12

রেডশিফ্টে, কেন আমার টেবিলটি নিম্নলিখিত কোয়েরিতে প্রদর্শিত হচ্ছে না? এটি চালানো পরবর্তী ক্যোয়ারী অনুসারে এটি অবশ্যই উপস্থিত রয়েছে। আমি স্কিমার জন্য সমস্ত সারণী তালিকাবদ্ধ করার উপায় চাই:

mydb=# select distinct(tablename) from pg_table_def where schemaname = 'db';
 tablename 
-----------
(0 rows)

mydb=# \d db.some_table
                    Table "db.some_table"
     Column      |            Type             | Modifiers 
-----------------+-----------------------------+-----------
...correct info shows up here...
...but nothing showed up above?

3
আপনার প্রশ্নের সাথে সম্পর্কিত নয়, তবে আলাদা কোনও ফাংশন নয়। আমি আপনাকে বিভ্রান্তি এড়ানোর জন্য প্রথম বন্ধনী সরিয়ে দেওয়ার পরামর্শ দিচ্ছি। দ্বিতীয় ভাবাতে আপনি পাশাপাশি এটি স্বতন্ত্র মুছে ফেলতে পারেন কারণ একটি স্কিমাতে একই নামের দুটি টেবিল থাকতে পারে না।
লেনার্ট

ফলাফল কি হল: select schemaname, tablename from pg_table_def?
লেনার্ট

আপনি কি নিশ্চিত যে আপনার স্কিমা-নামটি "ডিবি", কারণ এটি "ডাটাবেসের নাম" বলে মনে হচ্ছে ?.
সেন্থিল

উত্তর:


13

রেডশিফ্টে PG_TABLE_DEF কেবল ব্যবহারকারীর জন্য দৃশ্যমান টেবিলগুলি সম্পর্কে তথ্য ফেরত দেয়, অন্য কথায়, এটি কেবলমাত্র আপনাকে সারণি (গুলি) এর মধ্যে থাকা টেবিলগুলি প্রদর্শন করবে যা ভেরিয়েবল অনুসন্ধান_পথে সংজ্ঞায়িত। যদি PG_TABLE_DEF প্রত্যাশিত ফলাফলগুলি না ফিরিয়ে দেয়, তবে অনুসন্ধান_পাথ পরামিতিটি সম্পর্কিত স্কিমা (গুলি) অন্তর্ভুক্ত করার জন্য সঠিকভাবে সেট করা আছে কিনা তা যাচাই করুন ।

এটা চেষ্টা কর -

mydb=# set search_path="$user",db;

তারপরে আপনার ক্যোয়ারী চালান -

mydb=# select tablename from pg_table_def where schemaname = 'db';

'এটি করুন' এর চেয়ে আরও তথ্য সরবরাহ করতে দয়া করে আপনার উত্তরটি সম্পাদনা করুন।
আরএলএফ

1

PG_TABLE_DEF কেবল অনুসন্ধানের পথের অন্তর্ভুক্ত স্কিমাগুলিতে থাকা টেবিলগুলির জন্য তথ্য ফিরিয়ে দেবে। লিংক

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