如何在psql中切换数据库?

时间:2010-10-16 17:09:34

标签: postgresql psql

在MySQL中,我使用了use database_name;

什么是psql等价物?

16 个答案:

答案 0 :(得分:1481)

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

\connect DBNAME

或简称:

\c DBNAME

答案 1 :(得分:177)

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

答案 2 :(得分:93)

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

\connect (or \c) dbname

答案 3 :(得分:25)

您可以使用

进行连接
\c dbname

答案 4 :(得分:23)

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

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

答案 5 :(得分:9)

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

示例:\c MyDatabase

请注意,\c\connect元命令是 case-sensitive

答案 6 :(得分:9)

\l用于数据库 \c DatabaseName切换到db \df用于存储在特定数据库中的程序

答案 7 :(得分:7)

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

\c databaseName

答案 8 :(得分:1)

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

enter code here

默认情况下,Postgres在端口5432上运行。如果它在另一端口上运行,请确保在命令行中传递端口。

/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;

通过一个简单的别名,我们可以使它变得更方便。

/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,它将在启动时切换到参数名称为db的数据库。

答案 9 :(得分:1)

PostgreSQL中列出和切换数据库 当需要在数据库之间进行切换时,可以使用\ connect命令或\ c,后跟数据库名称,如下所示:

postgres=# \connect database_name
postgres=# \c database_name

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

SELECT current_database();

PostgreSQL List Databases

postgres=# \l
 postgres=# \list

答案 10 :(得分:1)

  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

答案 11 :(得分:1)

使用 \c databaseName\connect databaseName

(在 psql 13.3 上工作)

答案 12 :(得分:0)

尽管未在问题中明确说明,但目的是连接到特定的架构/数据库。

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

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.

答案 13 :(得分:0)

您可以使用

进行连接

\ c dbname

如果您想查看POSTGRESQL或SQL的所有可能命令,请按照以下步骤操作:

  1. rails dbconsole (您将重新定位到当前的ENV数据库)

  2. \? (用于POSTGRESQL命令)

  1. \ h (对于SQL命令)

  2. 按Q退出

答案 14 :(得分:0)

您还可以按照以下步骤使用不同的ROLE连接到数据库。

\connect DBNAME ROLENAME;

\c DBNAME ROLENAME;

答案 15 :(得分:-9)

如其他答案中所述,您需要更改连接以使用其他数据库。

Postgres使用模式。您可以在单个数据库中拥有多个方案。因此,如果您在同一个数据库中工作,并且想要更改架构,则可以执行以下操作:

SET SCHEMA 'schema_name';