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.