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

原创
84 人浏览过

在 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 *