Jawaban:
Di PostgreSQL, Anda dapat menggunakan \connect
meta-command dari alat klien psql:
\connect DBNAME
atau singkatnya:
\c DBNAME
.sql
file? misalnya, bisakah saya CREATE DATABASE mydb;
mengikuti \connect mydb
?
psql
perintah dalam file skrip SQL.
Pada prompt PSQL, Anda dapat melakukan:
\connect (or \c) dbname
Anda dapat memilih database saat terhubung dengan psql. Ini berguna saat menggunakannya dari skrip:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
untuk database,
\c
DatabaseName untuk beralih ke db
\df
untuk prosedur yang disimpan dalam database tertentu
Menggunakan meta-command psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(lihat dokumentasi ).
Contoh: \c MyDatabase
Perhatikan bahwa perintah \c
dan \connect
meta adalah case-sensitive .
Gunakan pernyataan di bawah ini untuk beralih ke database berbeda yang berada di dalam RDMS postgreSQL Anda
\c databaseName
Jika Anda ingin beralih ke database tertentu saat memulai, coba
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Secara default, Postgres berjalan di port 5432. Jika berjalan di yang lain, pastikan untuk melewatkan port di baris perintah.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Dengan alias sederhana, kita bisa membuatnya berguna.
Buat alias di .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
}
Jalankan psql
di baris perintah, itu akan beralih ke database default; psql anotherdb
, itu akan beralih ke db dengan nama dalam argumen, saat startup.
Meskipun tidak secara eksplisit dinyatakan dalam pertanyaan, tujuannya adalah untuk terhubung ke skema / database tertentu.
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.
Anda dapat terhubung menggunakan
\ c dbname
Jika Anda ingin melihat semua perintah yang mungkin untuk POSTGRESQL atau SQL ikuti langkah-langkah ini:
rails dbconsole (Anda akan rederict ke database ENV Anda saat ini)
\ (Untuk perintah POSTGRESQL)
atau
\ h (Untuk perintah SQL)
Tekan Q untuk Keluar
Seperti yang disebutkan dalam jawaban lain, Anda perlu mengubah koneksi untuk menggunakan database yang berbeda.
Postgres bekerja dengan skema. Anda dapat memiliki banyak skema dalam satu basis data. Jadi, jika Anda bekerja dalam database yang sama, dan ingin mengubah skema, Anda dapat melakukan:
SET SCHEMA 'schema_name';
SET SCHEMA
digunakan sebagai SET SCHEMA 'schema_name'
tidak SET SCHEMA 'database_name'
. Jadi ini adalah cara SQL untuk mengubah skema bukan basis data. Ini juga mirip dengan SET search_path TO schema_name
. Lihat dokumentasi di sini atau di sini .
psql
, front-end untuk PostgreSQL?