How to switch databases in psql?
在MySQL中,我使用了
psql等价物是什么?
在PostgreSQL中,可以使用客户端工具psql的
1 | \CONNECT DBNAME |
或者简而言之:
1 | \c DBNAME |
您可以使用
在psql提示下,可以执行以下操作:
1 | \CONNECT (OR \c) dbname |
您可以使用
1 | \c DBNAME |
您可以在与psql连接时选择数据库。当从脚本中使用它时,这很方便:
1 | sudo -u postgres psql -c"CREATE SCHEMA test AUTHORIZATION test;" test |
使用psql的meta命令
示例:
注意,
用于数据库的
使用下面的语句切换到位于内部的不同数据库你的PostgreSQL RDMS
1 | \c databaseName |
如果要在启动时切换到特定数据库,请尝试
默认情况下,Postgres在端口5432上运行。如果它在另一个上运行,请确保在命令行中传递端口。
通过一个简单的别名,我们可以使它变得方便。
在
1 2 3 4 5 6 7 8 | FUNCTION psql() { db=vigneshdb IF ["$1" !=""]; THEN db=$1 fi /Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1 } |
在命令行中运行
尽管问题中没有明确说明,但目的是连接到特定的模式/数据库。
另一种选择是直接连接到模式。例子:
来源:
1 2 3 4 5 6 | -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. |
如其他答案中所述,您需要更改连接以使用其他数据库。
Postgres使用模式。在一个数据库中可以有多个方案。因此,如果您在同一个数据库中工作,并且想要更改模式,那么可以执行以下操作: