Psql හි දත්ත සමුදායන් මාරු කරන්නේ කෙසේද?


Answers:


1694

PostgreSQL හි, ඔබට \connectග්‍රාහක මෙවලමෙහි මෙටා-විධානය භාවිතා කළ හැකිය psql:

\connect DBNAME

හෝ කෙටියෙන්:

\c DBNAME

127
+1: මෙය psql විධානයක් පමණක් වන අතර, Postgres හිම "මාරු වීමට" ක්‍රමයක් නොමැත. ඇත්ත වශයෙන්ම, psql යනු MySQL සන්දර්භය තුළ "මාරුවීම" නොවේ, එක් සම්බන්ධතාවයක් වසා තවත් සම්බන්ධතාවයක් විවෘත කිරීම පමණි.
— rfusca

12
ඉතින් SQL සමඟ එය කිරීමට අවස්ථාවක් නැද්ද?
— බොරිස්

5
.sqlගොනුවක ඇති SQL ප්‍රකාශ අතර මෙය ක්‍රියා කළ හැකිද? උදා: මට CREATE DATABASE mydb;අනුගමනය කළ \connect mydbහැකිද?
— J86

2
I සිවාන් මට විශ්වාසයි ඔබට psqlSQL විධාන ගොනුවකට විධාන ඇතුළත් කළ නොහැකි බව .
— කෙනී එවිට්

"මාරුවීමේ" යෝජනා ක්‍රමය සඳහා, භාවිතා කරන්න set searchpath=schema_name.
— හාන්ස් ගින්සෙල්

184

ඔබට \c <database>හෝ සමඟ දත්ත සමුදායකට සම්බන්ධ විය හැකිය \connect <database>.



31

Psql සමඟ සම්බන්ධ වන විට ඔබට දත්ත සමුදාය තෝරා ගත හැකිය. ස්ක්‍රිප්ට් එකකින් එය භාවිතා කරන විට මෙය පහසුය:

sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test

4
ස්තූතියි, මම උමතු වෙමින් සිටියෙමි ... :)
— රිචඩ්

11

\lදත්ත \cසමුදායන් සඳහා දත්ත සමුදායේ නම \dfවිශේෂිත දත්ත ගබඩාවේ ගබඩා කර ඇති ක්‍රියා පටිපාටි සඳහා db වෙත මාරු වීම



7

ඔබගේ postgreSQL RDMS තුළ ඇති විවිධ දත්ත සමුදායන් වෙත මාරු වීමට පහත ප්‍රකාශය භාවිතා කරන්න

\c databaseName

2

ප්‍රශ්නයේ පැහැදිලිව සඳහන් කර නොතිබුණද, අරමුණ නිශ්චිත ක්‍රමෝපායකට / දත්ත ගබඩාවකට සම්බන්ධ වීමයි.

තවත් විකල්පයක් වන්නේ ක්‍රමයට කෙලින්ම සම්බන්ධ වීමයි. උදාහරණයක්:

sudo -u postgres psql -d my_database_name

මූලාශ්‍රය man psql:

-d dbname
--dbname=dbname
   Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line.

   If this parameter contains an = sign or starts with a valid URI prefix (postgresql:// or postgres://), it is treated as a conninfo string. See Section 31.1.1, “Connection Strings”, in the
   documentation for more information.

1

ආරම්භයේදී ඔබට නිශ්චිත දත්ත සමුදායකට මාරුවීමට අවශ්‍ය නම්, උත්සාහ කරන්න

/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;

පෙරනිමියෙන්, පෝස්ට්ග්‍රෙස් 5432 වරාය මත ධාවනය වේ. එය වෙනත් එකක් මත ධාවනය වන්නේ නම්, විධාන රේඛාවේ වරාය පසු කිරීමට වග බලා ගන්න.

/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;

සරල අන්වර්ථයක් මගින් අපට එය පහසු කර ගත හැකිය.

ඔබේ .bashrcහෝ අන්වර්ථයක් සාදන්න.bash_profile

function psql()
{
    db=vigneshdb
    if [ "$1" != ""]; then
            db=$1
    fi
    /Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}

psqlවිධාන රේඛාවෙන් ධාවනය කරන්න , එය පෙරනිමි දත්ත ගබඩාවට මාරු වේ; psql anotherdb, එය ආරම්භයේදීම තර්කයේ නම සමඟ db වෙත මාරු වේ.


1

ඔබට පහත පරිදි වෙනත් ROLE සහිත දත්ත සමුදායකට සම්බන්ධ විය හැකිය.

\connect DBNAME ROLENAME;

හෝ

\c DBNAME ROLENAME;

0

භාවිතයෙන් ඔබට සම්බන්ධ විය හැකිය

d c dbname

POSTGRESQL හෝ SQL සඳහා විය හැකි සියලුම විධානයන් දැකීමට ඔබ කැමති නම් මෙම පියවර අනුගමනය කරන්න:

  1. rails dbconsole (ඔබ ඔබගේ වර්තමාන ENV දත්ත ගබඩාවට නැවත යොමු කරනු ඇත)

  2. \? (POSTGRESQL විධාන සඳහා)

හෝ

  1. \ h (SQL විධාන සඳහා)

  2. පිටවීමට Q ඔබන්න


0

PostgreSQL හි දත්ත සමුදායන් ලැයිස්තුගත කිරීම සහ මාරු කිරීම ඔබට දත්ත සමුදායන් අතර වෙනස් වීමට අවශ්‍ය වූ විට, ඔබ \ connect විධානය භාවිතා කරනු ඇත, නැතහොත් below c පහත ​​දැක්වෙන පරිදි දත්ත සමුදා නාමය අනුගමනය කරයි:

postgres=# \connect database_name
postgres=# \c database_name

ඔබ දැනට සම්බන්ධ වී ඇති දත්ත සමුදාය පරීක්ෂා කරන්න.

SELECT current_database();

PostgreSQL ලැයිස්තු දත්ත සමුදායන්

postgres=# \l
 postgres=# \list
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.