উত্তর:
থেকে psql
কমান্ড লাইন ইন্টারফেস,
প্রথমে আপনার ডাটাবেসটি বেছে নিন
\c database_name
তারপরে, এটি বর্তমান স্কিমাতে সমস্ত সারণী দেখায়:
\dt
প্রোগ্রামগতভাবে (বা psql
অবশ্যই ইন্টারফেস থেকেও):
SELECT * FROM pg_catalog.pg_tables;
সিস্টেম টেবিলগুলি pg_catalog
ডাটাবেসে লাইভ ।
\l
সমতুল্য show databases
। dt
≃ show tables
এবং l
≃show databases
\dt
খুব দরকারী। এটি pg_catalog.pg_tables
একটি খুব কম, কারণ আপনি যে কোনও ডাটাবেসে সংযুক্ত থাকবেন না কেন তা ব্যবহারকারীর দ্বারা তৈরি করা সামগ্রীর সাথে একসাথে অভ্যন্তরীণ টেবিলগুলি একসাথে দেখায়।
psql my_db_name
\dt
কাজ করার জন্য চালানো উচিত । আমি যখন psql
কোনও ডাটাবেসের নাম ছাড়াই দৌড়ে গেলাম, তখন একটি "কোনও সম্পর্ক খুঁজে পাওয়া যায়নি" বার্তাটি পেয়েছি
SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema'
\c <DATABASE_NAME>
আপনার ডাটাবেসটি বেছে নেওয়া দরকার ।
অতি ব্যবহারকারী হিসাবে লগইন করুন:
sudo -u postgres psql
আপনি \l
কমান্ড দ্বারা সমস্ত ডাটাবেস এবং ব্যবহারকারীদের তালিকাভুক্ত করতে পারেন , (এর দ্বারা অন্যান্য কমান্ডের তালিকা করুন \?
)।
এখন যদি আপনি অন্যান্য ডাটাবেস দেখতে আপনি ব্যবহারকারী / ডাটাবেসের পরিবর্তন করতে \c
মত কমান্ড \c template1
, \c postgres postgres
এবং ব্যবহার \d
, \dt
বা \dS
টেবিল / মতামত দেখতে / ইত্যাদি।
(সম্পূর্ণতার জন্য)
আপনি (এসকিউএল-স্ট্যান্ডার্ড) তথ্য স্কিমাকেও জিজ্ঞাসা করতে পারেন :
SELECT
table_schema || '.' || table_name
FROM
information_schema.tables
WHERE
table_type = 'BASE TABLE'
AND
table_schema NOT IN ('pg_catalog', 'information_schema');
পোস্টগ্র্রেএসকিউএলে টেবিলগুলি দেখানোর জন্য আপনি পোস্টগ্রেএসকিউএল এর ইন্টারেক্টিভ টার্মিনাল পিএসকিএল ব্যবহার করতে পারেন।
1. পিএসকিএল শুরু করুন
সাধারণত আপনি পিএসকিএল প্রবেশ করতে নিম্নলিখিত কমান্ডটি চালাতে পারেন:
psql DBNAME USERNAME
উদাহরণ স্বরূপ, psql template1 postgres
আপনার একটির মতো পরিস্থিতি হতে পারে: ধরুন আপনি রুট হিসাবে লগইন করেছেন এবং আপনি ডাটাবেসের নাম মনে রাখবেন না। দৌড়ে আপনি প্রথমে পিএসকিএল-এ প্রবেশ করতে পারেন:
sudo -u postgres psql
কিছু সিস্টেমে sudo কমান্ড পাওয়া যায় না, আপনি পরিবর্তে নীচের যে কোনও কমান্ড চালাতে পারেন:
psql -U postgres
psql --username=postgres
টেবিল প্রদর্শন করুন
এখন পিএসকিএল-তে আপনি কমান্ডগুলি চালাতে পারেন যেমন:
\?
সমস্ত কমান্ড তালিকা\l
ডাটাবেস তালিকা\conninfo
বর্তমান সংযোগ সম্পর্কে তথ্য প্রদর্শন করুন\c [DBNAME]
নতুন ডাটাবেসের সাথে সংযুক্ত করুন, যেমন, \c template1
\dt
সর্বজনীন স্কিমা তালিকা টেবিল\dt <schema-name>.*
নির্দিষ্ট স্কিমাগুলির তালিকা সারণী, যেমন, \dt public.*
\dt *.*
সমস্ত স্কিমা তালিকা টেবিলSELECT * FROM my_table;
(দ্রষ্টব্য: একটি বিবৃতি অবশ্যই সেমিকোলন দিয়ে শেষ করতে হবে ;
)\q
ছেড়ে দিন-ই পতাকা সহ পিএসকিএল চালানো intern dt এবং অনুরূপ প্রয়োগের জন্য অভ্যন্তরীণভাবে ব্যবহৃত ক্যোয়ারী প্রতিধ্বনিত করবে:
sudo -u postgres psql -E
postgres=# \dt
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
সুপারভাইজার হিসাবে লগইন করুন যাতে আপনি সমস্ত ডেটাবেস এবং তাদের স্কিমা পরীক্ষা করতে পারেন: -
sudo su - postgres
তারপরে আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করে পোস্টগ্রেকশেল শেলটি পেতে পারি: -
psql
আপনি এখন নিম্নলিখিত কমান্ডটি ব্যবহার করে সমস্ত ডাটাবেস তালিকাটি পরীক্ষা করতে পারেন: -
\l
আপনি যদি ডাটাবেসগুলির আকারগুলি পরীক্ষা করতে চান তবে এটি ব্যবহার করুন: -
\l+
q
ফিরে যেতে টিপুন ।
আপনি এখন আপনার ডাটাবেসটি সন্ধান করার পরে নিম্নলিখিত কমান্ডটি ব্যবহার করে সেই ডাটাবেসের সাথে সংযোগ করতে পারেন: -
\c database_name
একবার সংযুক্ত হয়ে আপনি এর মাধ্যমে ডাটাবেস টেবিল বা স্কিমা পরীক্ষা করতে পারেন: -
\d
এখন শেলটিতে ফিরে আসতে ব্যবহার করুন: -
q
এখন নির্দিষ্ট টেবিল ব্যবহারের বিশদটি দেখতে: -
\d table_name
Postgresql_shell টিপতে ফিরে যেতে \q
।
এবং টার্মিনাল টিপুন ফিরে exit
।
আপনি যদি তৈরি টেবিলগুলির তালিকাটি দেখতে চান তবে আপনি কেবল এটি বলতে পারেন:
\dt
তবে আমাদের কাছে রয়েছে PATTERN
যা আপনাকে কোন টেবিলগুলি প্রদর্শন করতে হবে তা কাস্টমাইজ করতে সহায়তা করবে। pg_catalog
স্কিমা সহ সমস্ত দেখানোর জন্য , আপনি যুক্ত করতে পারেন *
।
\dt *
যদি তুমি করো: \?
t ডিটি [এস +] [প্যাটার্ন] তালিকা সারণী
শুধুমাত্র একটি টেবিল দেখুন ব্যবহার করুন
=> \dt
যদি স্কিমা সারণী দেখতে চান
=>\dt+
আপনি যদি সুনির্দিষ্ট স্কিমা সারণী দেখতে চান
=>\dt schema_name.*
+
করছেন S
। পরবর্তী (চিঠি) স্কিমা সারণী প্রদর্শন করে shows +
কেবল অতিরিক্ত তথ্য দেখায়।
নিম্নলিখিত কমান্ডটি ব্যবহার করে প্রথমে ডাটাবেসের সাথে সংযুক্ত হন
\c database_name
এবং আপনি এই বার্তাটি দেখতে পাবেন - You are now connected to database database_name
। এবং তারা নিম্নলিখিত কমান্ড চালায়
SELECT * FROM table_name;
ডাটাবেস_নাম এবং টেবিল_নামে আপনার ডাটাবেস এবং টেবিলের নামটি দিয়ে আপডেট করুন
আপনি যদি পোস্টগ্রেএসকিউএল এ pgAdmin4 ব্যবহার করছেন, আপনি আপনার ডাটাবেসে টেবিলগুলি প্রদর্শন করতে এটি ব্যবহার করতে পারেন:
select * from information_schema.tables where table_schema='public';
মনে রাখবেন যে আপনি যে ডাটাবেসটি ব্যবহার করছেন \dt
তার পাবলিক স্কিমাতে একমাত্র সারণী তালিকাবদ্ধ করবে। আমি আমার টেবিলগুলি পৃথক স্কিমায় রাখতে চাই, তাই গ্রহণযোগ্য উত্তর আমার পক্ষে কার্যকর হয়নি।
একটি নির্দিষ্ট স্কীমার মধ্যে সমস্ত সারণী তালিকাবদ্ধ করতে , আমার প্রয়োজন:
1) কাঙ্ক্ষিত ডাটাবেসের সাথে সংযুক্ত করুন:
psql mydb
2) \dt
কমান্ডের পরে আমি টেবিল দেখতে চাইলে স্কিমা নামটি নির্দিষ্ট করুন :
\dt myschema.*
এটি আমাকে যে ফলাফলগুলিতে আগ্রহী তা দেখায়:
List of relations
Schema | Name | Type | Owner
----------+-----------------+-------+----------
myschema | users | table | postgres
myschema | activity | table | postgres
myschema | roles | table | postgres
select
*
from
pg_catalog.pg_tables
where
schemaname != 'information_schema'
and schemaname != 'pg_catalog';
t dt (কোনও প্রয়োজন নেই) - আপনি ইতিমধ্যে সংযুক্ত থাকা একটি বিদ্যমান ডাটাবেসের জন্য সমস্ত সারণী তালিকাবদ্ধ করবে। নোট করাও দরকারী:
\ d [টেবিলের নাম] - প্রকার তথ্য, তথ্যসূত্র এবং কী সীমাবদ্ধতা সহ প্রদত্ত টেবিলের জন্য সমস্ত কলাম প্রদর্শন করবে।
পিএসকিএল ব্যবহার : t ডিসেম্বর
বা:
SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
AND c.relkind = 'r'
AND relname NOT LIKE 'pg_%'
ORDER BY 1
সবার আগে আপনাকে নিজের ডাটাবেসের সাথে সংযুক্ত থাকতে হবে
আমার ডাটাবেস উবুন্টু
সংযোগ করতে এই কমান্ডটি ব্যবহার করুন
\c ubuntu
এই বার্তাটি প্রদর্শিত হবে
"আপনি এখন ডাটাবেসের সাথে" উবুন্টু "ব্যবহারকারীর" পোস্টগ্রিজ "হিসাবে সংযুক্ত রয়েছেন।"
এখন
এতে সমস্ত সারণী দেখানোর জন্য এই আদেশটি চালান
\d+
কমান্ড লাইনে সমস্ত সারণী তালিকাবদ্ধ করার সর্বাধিক সোজা উপায় হ'ল আমার রুচির জন্য:
psql -a -U <user> -p <port> -h <server> -c "\dt"
প্রদত্ত ডাটাবেসের জন্য কেবল ডাটাবেসের নাম যুক্ত করুন:
psql -a -U <user> -p <port> -h <server> -c "\dt" <database_name>
এটি লিনাক্স এবং উইন্ডোজ উভয় ক্ষেত্রেই কাজ করে।
একটি দ্রুত অনেলাইনার হিসাবে
# just list all the postgres tables sorted in the terminal
db='my_db_name'
clear;psql -d $db -t -c '\dt'|cut -c 11-|perl -ne 's/^([a-z_0-9]*)( )(.*)/$1/; print'
অথবা আপনি যদি বেশি ক্লিয়ারার জসন আউটপুট মাল্টি-লাইনার পছন্দ করেন:
IFS='' read -r -d '' sql_code <<"EOF_CODE"
select array_to_json(array_agg(row_to_json(t))) from (
SELECT table_catalog,table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name ) t
EOF_CODE
psql -d postgres -t -q -c "$sql_code"|jq
পিএসকিএল-তে বিদেশী সারণী দেখতে, চালান \dE
প্রথমে আপনি ম্যাকের উপর পোস্টগ্রি.অ্যাপ ব্যবহার করে বা পোস্টিকো ব্যবহার করে আপনার পোস্টগ্রিজ ডাটাবেসের সাথে সংযোগ করতে পারেন। নিম্নলিখিত কমান্ড চালান:
psql -h localhost -p port_number -d database_name -U user_name -W
তারপরে আপনি নিজের পাসওয়ার্ডটি প্রবেশ করুন, এটি আপনার ডাটাবেসে অ্যাক্সেস দেয়