在 MySQL 中,我使用use database_name;
什么是psql
等价物?
\c <database>
您可以使用或连接到数据库\connect <database>
。
在 PSQL 提示符下,您可以执行以下操作:
\connect (or \c) dbname
使用 psql 连接时可以选择数据库。从脚本中使用它时这很方便:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
对于存储在特定数据库中的过程,数据库
\c
DatabaseName 切换到 db
\df
虽然问题中没有明确说明,但目的是连接到特定的模式/数据库。
另一种选择是直接连接到模式。例子:
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.
使用\c databaseName
或\connect databaseName
(在 psql 13.3 上工作)
使用以下语句切换到驻留在您的 postgreSQL RDMS 中的不同数据库
\c databaseName
您还可以连接到具有不同 ROLE 的数据库,如下所示。
\connect DBNAME ROLENAME;
或者
\c DBNAME ROLENAME;
如果要在启动时切换到特定数据库,请尝试
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
默认情况下,Postgres 在端口 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
,它将在启动时切换到参数中名称的数据库。
在PostgreSQL中列出和切换数据库 当您需要在数据库之间进行更改时,您将使用 \connect 命令,或 \c 后跟数据库名称,如下所示:
postgres=# \connect database_name
postgres=# \c database_name
检查您当前连接的数据库。
SELECT current_database();
postgres=# \l
postgres=# \list
您可以使用连接
\c 数据库名称
如果您想查看 POSTGRESQL 或 SQL 的所有可能命令,请按照以下步骤操作:
rails dbconsole(您将被重定向到当前的 ENV 数据库)
? (对于 POSTGRESQL 命令)
或者
\h(用于 SQL 命令)
按Q退出
Connect to database:
Method 1 : enter to db : sudo -u postgres psql
Connect to db : \c dbname
Method 2 : directly connect to db : sudo -u postgres psql -d my_database_name