在MySQL中,我使用use database_name;

psql的等价是什么?


当前回答

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

在PostgreSQL中,你可以使用客户端工具psql的\connect元命令:

\connect DBNAME

简而言之:

\c DBNAME

数据库的\l \c数据库名切换到db \df用于存储在特定数据库中的过程

如果您想在启动时切换到特定的数据库,请尝试

/应用程序/ Postgres.app /内容/版本/ 9.5 / bin / psql vigneshdb;

默认情况下,Postgres运行在端口5432上。如果它运行在另一个端口上,请确保在命令行中传递该端口。

/Applications/ postgress .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,它将在启动时切换到参数中有名称的db。

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

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