PostgreSQL 选择数据库
                           
天天向上
发布: 2025-03-09 19:04:26

原创
821 人浏览过

在 PostgreSQL 中,选择数据库是非常常见的操作。当你连接到 PostgreSQL 实例时,首先会连接到一个默认的数据库,通常是 postgres。然而,在实际工作中,你通常会根据需要切换到特定的数据库。

1. 使用 psql 连接到 PostgreSQL 实例

1.1 初始连接

当你第一次连接到 PostgreSQL 实例时,通常会指定一个数据库。默认情况下,如果你没有明确指定数据库名称,psql 会连接到名为 postgres 的数据库。

psql -U postgres

上述命令会以 postgres 用户身份连接到 PostgreSQL 实例。如果你没有指定数据库,它会自动连接到 postgres 数据库。

1.2 连接到特定数据库

你可以在连接时指定要连接的数据库。例如,如果你想连接到名为 mydatabase 的数据库,可以这样做:

psql -U postgres -d mydatabase

或者简写为:

psql mydatabase

这会连接到 mydatabase 数据库,并进入 psql 提示符。

2. 在 psql 中选择数据库

如果你已经连接到 PostgreSQL 实例,并且希望切换到其他数据库,可以使用 \c(或 \connect)命令。这个命令允许你在不退出 psql 会话的情况下切换数据库。

2.1 切换数据库

\c dbname
  • dbname 是你想切换到的目标数据库的名称。

示例

如果你已经连接到 postgres 数据库,并且想切换到 mydatabase 数据库,可以执行以下命令:

\c mydatabase

执行后,系统会显示类似下面的输出,表示切换成功:

You are now connected to database "mydatabase" as user "postgres".

2.2 使用不同的用户连接数据库

你也可以在切换数据库时指定不同的用户。例如:

\c mydatabase newuser

这会尝试以 newuser 用户身份连接到 mydatabase 数据库。如果 newuser 用户没有权限访问该数据库,连接会失败。

2.3 查看当前连接的数据库

如果你想查看当前连接的是哪个数据库,可以使用 \conninfo 命令:

\conninfo

这将输出当前连接信息,包括数据库名称、连接用户和连接主机等。

You are connected to database "mydatabase" as user "postgres" via socket in "/var/run/postgresql" at port 5432.

3. 通过 SQL 语句选择数据库

PostgreSQL 不像某些数据库系统(例如 MySQL)那样允许通过 SQL 语句直接切换数据库。你不能使用类似 USE mydatabase; 的命令来切换数据库。你必须通过 psql 命令行工具中的 \c 命令来切换数据库。

4. 列出所有数据库

如果你想查看当前 PostgreSQL 实例中的所有数据库,可以使用 \l 或 \list 命令:

\l

这将列出所有可用的数据库,以及它们的所有者、编码和访问权限等信息:

                              List of databases
   Name    |  Owner   | Encoding |  Collation  |   Ctype   | Access privileges 
-----------+----------+----------+-------------+-----------+-------------------
 mydatabase | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres     
 template1  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres     
(4 rows)

5. 删除数据库

在 PostgreSQL 中,如果你不再需要某个数据库,可以使用 DROP DATABASE 命令删除它。删除数据库是一个不可恢复的操作,执行后数据库及其中的所有数据将丢失。

DROP DATABASE dbname;

例如,删除名为 mydatabase 的数据库:

DROP DATABASE mydatabase;

注意:你必须确保在删除数据库之前,没有其他连接到该数据库的会话。如果有其他会话连接,你需要先断开它们,或者使用 pg_terminate_backend 函数手动终止连接。


6. 通过 pgAdmin 选择数据库

如果你使用 pgAdmin 图形化界面管理 PostgreSQL,可以轻松切换数据库。

步骤:

  1. 启动 pgAdmin 并连接到 PostgreSQL 实例。
  2. 在左侧的树状视图中,找到并展开 “Databases”(数据库)节点。
  3. 右键点击你想选择的数据库,选择 “Connect”(连接)来切换到该数据库。

总结

  1. 在 psql 中,你可以使用 \c dbname 切换数据库。
  2. PostgreSQL 不支持通过 SQL 语句直接切换数据库,必须使用 psql 的命令。
  3. 你可以通过 \l 查看当前 PostgreSQL 实例中的所有数据库。
  4. 使用 DROP DATABASE 删除数据库时要小心,因为该操作不可恢复。

如果你有任何疑问或想要进一步了解 PostgreSQL 的其他功能,随时告诉我!

发表回复 0

Your email address will not be published. Required fields are marked *