Answers:
.sql
文件中的SQL语句之间工作吗?我可以CREATE DATABASE mydb;
跟着\connect mydb
吗?
psql
在SQL脚本文件中包含命令。
与psql连接时,可以选择数据库。从脚本中使用它很方便:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
对于数据库,将
\c
DatabaseName切换到db,
\df
以存储在特定数据库中的过程
使用以下语句切换到PostgreSQL RDMS内部的不同数据库
\c databaseName
如果要在启动时切换到特定数据库,请尝试
/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
,它将在启动时切换到名称为in的数据库。
尽管未在问题中明确说明,但目的是连接到特定的架构/数据库。
另一个选择是直接连接到架构。例:
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.
您可以使用连接
\ c dbname
如果您想查看POSTGRESQL或SQL的所有可能命令,请执行以下步骤:
rails dbconsole(您将重新分配到当前的ENV数据库)
\?(对于POSTGRESQL命令)
要么
\ h(用于SQL命令)
按Q退出
如其他答案所述,您需要更改连接以使用其他数据库。
Postgres使用模式。一个数据库中可以有多个方案。因此,如果您在同一个数据库中工作,并且想要更改架构,则可以执行以下操作:
SET SCHEMA 'schema_name';
SET SCHEMA
可以使用SET SCHEMA 'schema_name'
not SET SCHEMA 'database_name'
。因此,这是一种更改架构而不是数据库的SQL方法。这也类似于SET search_path TO schema_name
。请参阅此处或此处的文档。
psql
PostgreSQL的前端?