在MySQL中,我使用use database_name;

psql的等价是什么?


当前回答

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

其他回答

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

另一种选择是直接连接到模式。例子:

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.
  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

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

示例:\c MyDatabase

注意,\c和\connect元命令是区分大小写的。

您还可以使用不同的ROLE连接到数据库,如下所示。

\connect DBNAME ROLENAME;

or

\c DBNAME ROLENAME;

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

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