use database_name;
命令。
那么在psql
中,等价的命令是什么?
在PostgreSQL中,您可以使用客户端工具psql的\connect
元命令:
\connect DBNAME
或者简而言之:
\c DBNAME
.sql
文件中的 SQL 语句之间起作用吗?例如,我可以有 CREATE DATABASE mydb;
后面跟着 \connect mydb
吗? - J86\c <数据库名称>
或\connect <数据库名称>
连接到数据库。
在PSQL提示符下,你可以执行:
\connect (or \c) dbname
使用 \c 数据库名
或者 \connect 数据库名
(在 psql 13.3 上使用)
使用psql连接时,您可以选择数据库。当从脚本中使用时,这非常方便:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
虽然问题中没有明确说明目的是连接到特定的模式/数据库,但这是目的。
另一个选项是直接连接到模式。 示例:
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.
\l
用于数据库列表
\c
DatabaseName 用于切换到指定的数据库
\df
用于查看特定数据库中存储的过程
使用下面的语句切换到存储在您的PostgreSQL RDMS内的不同数据库。
\c databaseName
\connect DBNAME ROLENAME;
或者
\c DBNAME ROLENAME;
psql
的问题,它是 PostgreSQL 的前端吗? - Peter Mortensenset schema 'schema_name';
或set search_path to schema_name;
更改当前模式。 - user330315