Linux 上使用 pgAdmin 管理 PostgreSQL 表
一 环境准备与启动
- 安装与启动 pgAdmin
- Ubuntu/Debian 可直接安装:sudo apt update && sudo apt install postgresql pgadmin4;启动可用命令行输入:pgadmin4(桌面快捷方式或应用菜单亦可)。若通过 RPM 包安装,可用 sudo systemctl start pgadmin4 启动服务。远程服务器部署时,pgAdmin 4 为基于浏览器的 BS 架构,默认访问端口通常为 5050,可在浏览器打开 http://<服务器IP>:5050 登录管理界面。
- 连接 PostgreSQL
- 在左侧 Servers 上右键选择 Register > Server,在 General 填写名称,在 Connection 填写主机(如 localhost 或服务器 IP)、端口 5432、用户名(如 postgres)与密码保存。若连接云数据库(如 RDS for PostgreSQL),Host name/address 填写实例的 弹性公网 IP,端口 5432,用户名与密码按实例配置填写。
二 常用表管理操作
- 创建表
- 在左侧导航展开目标库 → Schemas → public → Tables → 右键 Create > Table,在 General 填写表名,在 Columns 页签新增列(名称、数据类型、是否非空、默认值等),保存即可。也可在顶部菜单 Tools → Query Tool 中执行建表 SQL。
- 查看与编辑表结构
- 在左侧选中表,切换到 Properties 可查看/编辑常规属性、列、约束、索引、触发器、规则等;切换到 SQL 页签可查看该对象的 DDL;Statistics 查看统计信息;Dependencies/Dependents 查看依赖与被依赖关系。
- 增删改查数据
- 数据浏览/编辑:在表节点右键 View/Edit Data → All Rows,以表格形式插入、更新、删除数据并保存。
- 自定义 SQL:在表节点或任意库上右键 Query Tool,执行 INSERT/UPDATE/DELETE/SELECT 等语句,查看结果网格。
三 修改表结构
- 图形界面
- 通过表节点的 Properties 页签执行常见变更:在 Columns 增加/删除/修改列;在 Constraints 增加/删除主键、唯一、外键、检查等约束;需要时编辑索引与触发器。修改后保存,pgAdmin 会生成并执行相应 DDL。
- SQL 常用语句(在 Query Tool 执行)
- 添加字段:ALTER TABLE t ADD COLUMN c TYPE [CONSTRAINTS];
- 删除字段:ALTER TABLE t DROP COLUMN c [CASCADE];
- 添加约束:ALTER TABLE t ADD CONSTRAINT uk_name UNIQUE ©; 或 ALTER TABLE t ALTER COLUMN c SET NOT NULL;
- 删除约束:ALTER TABLE t DROP CONSTRAINT con_name [CASCADE];
- 修改默认值:ALTER TABLE t ALTER COLUMN c SET DEFAULT val; 或 DROP DEFAULT;
- 修改数据类型:ALTER TABLE t ALTER COLUMN c TYPE new_type;
- 重命名字段/表:ALTER TABLE t RENAME COLUMN c TO new_c; 或 ALTER TABLE t RENAME TO new_t;
- 提示:添加 NOT NULL 等约束前,需确保现有数据满足约束,否则会报错;必要时先清理/转换数据再变更。
四 删除表与依赖处理
- 图形界面删除
- 在左侧表列表或表节点上右键 Delete/Drop,如存在视图、外键等依赖,弹窗会提示;必要时勾选 Cascade(级联) 自动删除依赖对象后确认。
- SQL 删除
- 基本语法:DROP TABLE [IF EXISTS] table_name [CASCADE | RESTRICT];
- 示例:DROP TABLE IF EXISTS users CASCADE;(IF EXISTS 避免表不存在时报错;CASCADE 会一并删除依赖对象,如外键约束、视图等,请谨慎使用)
五 实用建议与常见问题
- 权限与安全
- 执行建表、改表、删表等操作需具备相应权限;生产环境建议使用具备最小权限的专用账号,并开启 SSL 连接与强口令策略。
- 远程与防火墙
- 若 pgAdmin 与数据库不在同一主机,需开放 PostgreSQL 5432 与 pgAdmin 5050 端口;云上实例还需在 安全组/白名单 放行对应来源 IP。
- 备份与回滚
- 重要变更前先备份:右键数据库选择 Backup,或在 Query Tool 执行 pg_dump;误删风险操作建议先在测试环境验证。
- 依赖与变更顺序
- 删除表/列/约束前,先在 Dependencies/Dependents 查看影响范围;存在外键依赖时,优先评估是否使用 CASCADE 或先调整子表约束。