如何在psql中切换数据库?

1488
在MySQL中,我使用了use database_name;命令。
那么在psql中,等价的命令是什么?

2
好的,这是关于 psql 的问题,它是 PostgreSQL 的前端吗? - Peter Mortensen
3
一个MySQL的“数据库”实际上是一个模式。因此,在大多数情况下,MySQL的“数据库”最好映射到Postgres中的模式。如果这样做了,您可以使用set schema 'schema_name';set search_path to schema_name;更改当前模式。 - user330315
通常情况下,模式位于数据库之下。 - mckenzm
15个回答

7

您可以使用以下命令进行连接:

\c 数据库名

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

  1. rails dbconsole (将重定向到当前环境的数据库)

  2. ? (用于POSTGRESQL命令)

或者

  1. \h (用于SQL命令)

  2. 按Q退出


5

如果你想在启动时切换到特定的数据库,请尝试使用以下命令:

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

5

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

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

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

SELECT current_database();

PostgreSQL列出数据库

postgres=# \l
 postgres=# \list

4
  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

-13

您可以直接输入use [dbName]来在不重新输入密码的情况下切换数据库。


这不是psql中的有效语法(虽然在MySQL中是有效的,但那是完全不同的数据库)。 - snakecharmerb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接