Bagaimana untuk beralih database dalam psql?

Di MySQL saya menggunakan menggunakan database_name;

Apa's psql setara?

Larutan

Di PostgreSQL, anda dapat menggunakan \menghubungkan meta-perintah dari klien alat psql:

\connect DBNAME

atau singkatnya:

\c DBNAME
Komentar (5)

Anda dapat terhubung ke database dengan \c <database> atau \menghubungkan <database>.

Komentar (0)

Pada prompt PSQL, anda dapat melakukan:

\connect (or \c) dbname
Komentar (0)

Anda dapat menghubungkan menggunakan

\c dbname
Komentar (5)

Anda dapat memilih database ketika menghubungkan dengan psql. Hal ini berguna ketika menggunakan script:

sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
Komentar (1)

\l untuk database \c DatabaseName untuk beralih ke db \df untuk prosedur tersimpan dalam database tertentu

Komentar (0)

Menggunakan psql's meta-perintah \c \menghubungkan [ dbname [ username ] [ host ] [ port ] ] | conninfo (lihat dokumentasi).

Contoh: \c MyDatabase

Perhatikan, bahwa \c dan \menghubungkan meta-perintah case-sensitive.

Komentar (0)

Gunakan di bawah ini pernyataan untuk beralih ke database yang berbeda yang berada di dalam postgreSQL anda RDMS

\c databaseName
Komentar (0)

Jika anda ingin beralih ke database tertentu pada startup, coba

/Aplikasi/Postgres.app/Contents/Versi/9.5/bin/psql vigneshdb;

Secara default, Postgres berjalan pada port 5432. Jika ini berjalan pada yang lain, pastikan untuk melewati pelabuhan di command line.

/Aplikasi/Postgres.app/Contents/Versi/9.5/bin/psql -p2345 vigneshdb;

Dengan sederhana alias, kita bisa membuatnya berguna.

Membuat alias pada anda .bashrc atau .bash_profile

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

Menjalankan psql di baris perintah, itu akan beralih ke default database; psql anotherdb, itu akan beralih ke db dengan nama dalam argumen, pada startup.

Komentar (0)

Meskipun tidak secara eksplisit dinyatakan dalam pertanyaan, tujuannya adalah untuk menghubungkan tertentu skema/database.

Pilihan lain adalah untuk langsung terhubung ke skema. Contoh:

sudo -u postgres psql -d my_database_name

Sumber dari 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.
Komentar (0)

Anda dapat menghubungkan menggunakan

\c dbname

Jika anda ingin melihat semua kemungkinan perintah untuk POSTGRESQL atau SQL ikuti langkah-langkah ini :

  1. rel dbconsole (Anda akan redericted untuk anda saat ini ENV database)

  2. \? (Untuk POSTGRESQL-perintah)

atau

  1. \h (Untuk perintah-perintah SQL)

  2. Tekan Q untuk Keluar

Komentar (0)

Anda juga dapat terhubung ke database dengan PERAN yang berbeda sebagai berikut.

\connect DBNAME ROLENAME;

atau

\c DBNAME ROLENAME;
Komentar (0)

Seperti yang disebutkan dalam jawaban yang lain, anda perlu mengubah koneksi untuk menggunakan database yang berbeda.

Postgres bekerja dengan skema. Anda dapat memiliki beberapa skema dalam database tunggal. Jadi, jika anda're bekerja dalam database yang sama, dan ingin mengubah skema, yang dapat Anda lakukan:

MENGATUR SKEMA &#39;schema_name&#39;;

Komentar (3)