在 MySQL 中,我使用了 use database_name;
psql
的等价物是什么?
psql
,PostgreSQL 的前端?
set schema 'schema_name';
或 set search_path to schema_name;
更改当前架构
您可以使用 \c <database>
或 \connect <database>
连接到数据库。
在 PSQL 提示符下,您可以执行以下操作:
\connect (or \c) dbname
使用 psql 连接时可以选择数据库。从脚本中使用它时这很方便:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
使用 \c databaseName
或 \connect databaseName
(在 psql 13.3 上工作)
\l
用于数据库 \c
DatabaseName 切换到 db \df
用于存储在特定数据库中的过程
使用 psql 的元命令 \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(参见 documentation)。
示例:\c MyDatabase
请注意,\c
和 \connect
元命令是 case-sensitive。
虽然问题中没有明确说明,但目的是连接到特定的模式/数据库。
另一种选择是直接连接到模式。例子:
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.
使用以下语句切换到驻留在您的 postgreSQL RDMS 中的不同数据库
\c databaseName
您还可以连接到具有不同 ROLE 的数据库,如下所示。
\connect DBNAME ROLENAME;
或者
\c DBNAME ROLENAME;
如果要在启动时切换到特定数据库,请尝试
/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
,它将在启动时切换到参数中名称的数据库。
在 PostgreSQL 中列出和切换数据库 当您需要在数据库之间进行更改时,您将使用 \connect 命令,或 \c 后跟数据库名称,如下所示:
postgres=# \connect database_name
postgres=# \c database_name
检查您当前连接的数据库。
SELECT current_database();
postgres=# \l
postgres=# \list
您可以使用连接
\c 数据库名称
如果您想查看 POSTGRESQL 或 SQL 的所有可能命令,请按照以下步骤操作:
rails dbconsole(您将被重定向到当前的 ENV 数据库)? (对于 POSTGRESQL 命令)
或者
\h(对于 SQL 命令)按 Q 退出
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
您只需输入 use [dbName]
即可在数据库之间切换而无需重新输入密码。
.sql
文件中的 SQL 语句中工作吗?例如,我可以让CREATE DATABASE mydb;
后跟\connect mydb
吗?psql
命令。set searchpath=schema_name
。