我试图通过命令行删除 pgsql 中的表,但它没有被删除
testdb=# 删除表发布者
testdb-# \dt+
| 方案 | 姓名 | 类型 | 所有者 | 贮存 | 接入方式 | 尺寸 | 描述 |
|---|---|---|---|---|---|---|---|
| 民众 | 出版商 | 桌子 | postgres | 永恒的 | 堆 | 8192 字节 |
但是当我在 pgadmin4 界面中执行相同的命令后,所有内容都被删除了
testdb-# \dt+
未找到关系。
我无法通过命令行删除表的原因是什么?
我试图通过命令行删除 pgsql 中的表,但它没有被删除
testdb=# 删除表发布者
testdb-# \dt+
| 方案 | 姓名 | 类型 | 所有者 | 贮存 | 接入方式 | 尺寸 | 描述 |
|---|---|---|---|---|---|---|---|
| 民众 | 出版商 | 桌子 | postgres | 永恒的 | 堆 | 8192 字节 |
但是当我在 pgadmin4 界面中执行相同的命令后,所有内容都被删除了
testdb-# \dt+
未找到关系。
我无法通过命令行删除表的原因是什么?
是的,最后少了一个分号。当你添加; 在命令行上,您可能会收到错误,因为 ; 在Windows中,命令行用作命令分隔符,命令行尝试单独执行每个命令。
对于 PostgreSQL(和其他 DBMS),字符 ; 用于完成SQL查询。在 psql 或其他 SQL 客户端的命令行上,您必须键入整个 SQL 查询并按 Enter 提交查询。SQL 客户端本身会知道该命令已结束并将执行它。
在linux终端中是这样的:
我敢假设在 Windows 中是这样的:
这将删除您的表,而无需手动登录 psql。将 <node_port> 替换为部署 postgres 的端口。<db_name> - 您的数据库的名称