Answers:
සිට psqlවිධාන රේඛා අතුරු
පළමුව, ඔබේ දත්ත සමුදාය තෝරන්න
\c database_name
එවිට, මෙය වත්මන් යෝජනා ක්රමයේ ඇති සියලුම වගු පෙන්වයි:
\dt
ක්රමලේඛනගතව (හෝ psqlඅතුරු මුහුණතෙන් ද):
SELECT * FROM pg_catalog.pg_tables;
පද්ධති වගු pg_catalogදත්ත ගබඩාවේ ජීවත් වේ .
\lයනු show databasesMySQL හි සමාන වේ . 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වගු / දර්ශන / යනාදිය බලන්න.
(සම්පූර්ණත්වය සඳහා)
ඔබට (SQL- සම්මත) තොරතුරු යෝජනා ක්රමය විමසිය හැකිය :
SELECT
table_schema || '.' || table_name
FROM
information_schema.tables
WHERE
table_type = 'BASE TABLE'
AND
table_schema NOT IN ('pg_catalog', 'information_schema');
PostgreSQL හි වගු පෙන්වීමට ඔබට PostgreSQL හි අන්තර්ක්රියාකාරී පර්යන්තය Psql භාවිතා කළ හැකිය.
1. Psql ආරම්භ කරන්න
සාමාන්යයෙන් ඔබට psql වෙත ඇතුළු වීමට පහත විධානය ක්රියාත්මක කළ හැකිය:
psql DBNAME USERNAME
උදාහරණයක් වශයෙන්, psql template1 postgres
ඔබට තිබිය හැකි එක් තත්වයක් නම්: ඔබ root ලෙස පුරනය වී ඇති බව සිතමු, ඔබට දත්ත සමුදායේ නම මතක නැත. ධාවනය කිරීමෙන් ඔබට පළමුව Psql වෙත ඇතුළු විය හැකිය:
sudo -u postgres psql
සමහර පද්ධති වල, sudo විධානය ලබා ගත නොහැක, ඒ වෙනුවට ඔබට පහත විධානයන් ක්රියාත්මක කළ හැකිය:
psql -U postgres
psql --username=postgres
2. වගු පෙන්වන්න
දැන් Psql හි ඔබට පහත දැක්වෙන විධානයන් ක්රියාත්මක කළ හැකිය:
\? සියලුම විධාන ලැයිස්තුගත කරන්න\l දත්ත සමුදායන් ලැයිස්තුගත කරන්න\conninfo වත්මන් සම්බන්ධතාවය පිළිබඳ තොරතුරු පෙන්වන්න\c [DBNAME] නව දත්ත ගබඩාවට සම්බන්ධ වන්න, උදා. \c template1\dt පොදු යෝජනා ක්රමයේ ලැයිස්තු වගු\dt <schema-name>.* නිශ්චිත ක්රමෝපායන් ලැයිස්තු වගු, උදා. \dt public.*\dt *.* සියලුම යෝජනා ක්රමවල ලැයිස්තු වගුSELECT * FROM my_table;(සටහන: ප්රකාශයක් අර්ධ සළකුණෙන් අවසන් කළ යුතුය ;)\q psql වලින් ඉවත් වන්න-E ධජය සමඟ psql ධාවනය කිරීමෙන් අභ්යන්තරව භාවිතා කරන විමසුම දෝංකාර දෙයි \ 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
පහත දැක්වෙන විධානය භාවිතා කිරීමෙන් අපට postgresql shell වෙත පිවිසිය හැකිය: -
psql
පහත දැක්වෙන විධානය භාවිතා කිරීමෙන් ඔබට දැන් සියලු දත්ත සමුදා ලැයිස්තුව පරීක්ෂා කළ හැකිය: -
\l
දත්ත සමුදායන්ගේ ප්රමාණයන් පරීක්ෂා කිරීමට ඔබ කැමති නම්: -
\l+
qආපසු යාමට ඔබන්න .
ඔබ දැන් ඔබේ දත්ත සමුදාය සොයාගත් පසු පහත දැක්වෙන විධානය භාවිතා කර එම දත්ත ගබඩාවට සම්බන්ධ විය හැකිය: -
\c database_name
සම්බන්ධ වූ පසු ඔබට දත්ත සමුදා වගු හෝ යෝජනා ක්රම පරීක්ෂා කළ හැකිය: -
\d
දැන් නැවත ෂෙල් භාවිතය වෙත ආපසු යාමට: -
q
දැන් එක්තරා වගු භාවිතය පිළිබඳ විස්තර තවදුරටත් බැලීමට: -
\d table_name
Postgresql_shell ඔබන්න \q.
ටර්මිනල් ප්රෙස් වෙත ආපසු යාමට exit.
ඔබට අවශ්ය වන්නේ ඔබ විසින් සාදන ලද වගු ලැයිස්තුව පමණක් නම්, ඔබට මෙසේ පැවසිය හැකිය:
\dt
PATTERNපෙන්විය යුතු වගු අභිරුචිකරණය කිරීමට ඔබට උපකාරී වන ඒවා ද අප සතුව ඇත. pg_catalogSchema ඇතුළුව සියල්ල පෙන්වීමට , ඔබට එකතු කළ හැකිය *.
\dt *
ඔබ එසේ කරන්නේ නම්: \?
S dt [S +] [PATTERN] ලැයිස්තු වගු
භාවිතා කරන්න වගු පමණක් බලන්න
=> \dt
යෝජනා ක්රම වගු බැලීමට අවශ්ය නම්
=>\dt+
ඔබට විශේෂිත යෝජනා ක්රම වගු බැලීමට අවශ්ය නම්
=>\dt schema_name.*
+සමග S. දෙවැන්න (ලිපිය) යෝජනා ක්රම වගු පෙන්වයි. මෙම +සරල අමතර තොරතුරු පෙන්වයි.
පළමුව පහත විධානය භාවිතා කරමින් දත්ත සමුදාය සමඟ සම්බන්ධ වන්න
\c database_name
ඔබ මෙම පණිවිඩය දකිනු ඇත - You are now connected to database database_name. ඔවුන් පහත විධානය ක්රියාත්මක කරයි
SELECT * FROM table_name;
දත්ත සමුදායේ සහ වගුවේ නමෙහි ඔබගේ දත්ත සමුදාය සහ වගුවේ නම සමඟ යාවත්කාලීන කරන්න
ඔබ PostgreSQL හි pgAdmin4 භාවිතා කරන්නේ නම්, ඔබේ දත්ත ගබඩාවේ වගු පෙන්වීමට ඔබට මෙය භාවිතා කළ හැකිය:
select * from information_schema.tables where table_schema='public';
ඔබ භාවිතා කරන දත්ත සමුදායේ පොදු යෝජනා \dtක්රමයේ පමණක් වගු ලැයිස්තුගත කරන බව සලකන්න . මගේ වගු වෙනම ක්රමලේඛවල තබා ගැනීමට මම කැමතියි, එබැවින් පිළිගත් පිළිතුර මට වැඩ කළේ නැත.
නිශ්චිත යෝජනා ක්රමයක් තුළ සියලුම වගු ලැයිස්තුගත කිරීමට , මට අවශ්ය වූයේ:
1) අපේක්ෂිත දත්ත ගබඩාවට සම්බන්ධ වන්න:
psql mydb
2) විධානයෙන් පසුව මට මේස බැලීමට අවශ්ය යෝජනා ක්රමයේ නම \dtසඳහන් කරන්න:
\dt myschema.*
මෙය මා උනන්දු වන ප්රති results ල පෙන්වයි:
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 (අවශ්ය නැත *) - ඔබ දැනටමත් සම්බන්ධ කර ඇති දැනට පවතින දත්ත සමුදායක් සඳහා සියලු වගු ලැයිස්තුගත කරයි. සටහන් කිරීමට ද ප්රයෝජනවත්:
table d [table_name] - වර්ගීකරණ තොරතුරු, යොමු කිරීම් සහ යතුරු සීමාවන් ඇතුළුව දී ඇති වගුවක් සඳහා සියලු තීරු පෙන්වනු ඇත.
Psql භාවිතා කිරීම : t dt
හෝ:
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'
හෝ ඔබ වඩාත් පැහැදිලි json ප්රතිදානය බහු-ලයිනර් වලට කැමති නම්:
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
Psql හි විදේශීය වගු බැලීමට, ධාවනය කරන්න \dE