如何在psql中切换数据库?

在MySQL中,我使用use database_name;

psql的等价物是什么?

963809 次浏览

在PostgreSQL中,您可以使用客户端工具psql的#0元命令:

\connect DBNAME

或简而言之:

\c DBNAME

您可以使用\c <database>\connect <database>连接到数据库。

在PSQL提示符下,您可以执行以下操作:

\connect (or \c) dbname

您可以在使用psql连接时选择数据库。从脚本中使用它时很方便:

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

使用psql的元命令\c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo(参见留档)。

示例:\c MyDatabase

请注意,\c\connect元命令是区分大小写

\l数据库\c切换到数据库的数据库名称\df用于存储在特定数据库中的过程

使用以下语句切换到驻留在内部的不同数据库你的postgreSQL RDMS

\c databaseName

如果您想在启动时切换到特定的数据库,请尝试

/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=vigneshdbif [ "$1" != ""]; thendb=$1fi/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1}

在命令行中运行psql,它将切换到默认数据库;psql anotherdb,它将在启动时切换到名称为参数的数据库。

虽然在问题中没有明确说明,但目的是连接到特定的模式/数据库。

另一种选择是直接连接到架构。示例:

sudo -u postgres psql -d my_database_name

来源man psql

-d dbname--dbname=dbnameSpecifies 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 thedocumentation for more information.

您可以使用

\c数据库名

如果您想查看POSTGRESQL或SQL的所有可能命令,请执行以下步骤:

  1. rails数据库控制台(您将被重定向到当前的ENV数据库)

  2. ?(对于POSTGRESQL命令)

  1. \h(SQL命令)

  2. 按Q退出

您还可以连接到具有不同角色的数据库,如下所示。

\connect DBNAME ROLENAME;

\c DBNAME ROLENAME;

PostgreSQL中列出和切换数据库当您需要在数据库之间进行更改时,您将使用\Connect命令,或者\c后跟库名,如下所示:

postgres=# \connect database_namepostgres=# \c database_name

检查您当前连接的数据库。

SELECT current_database();

PostgreSQL列表数据库

postgres=# \lpostgres=# \list
  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

使用\c databaseName\connect databaseName

(工作在psql 13.3)

您只需输入use [dbName]即可在数据库之间切换,而无需重新输入密码。