瀚高数据库
目录
环境
文档用途
详细信息
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7,Microsoft Windows (64-bit) 10
版本:14
文档用途
本文介绍pgAdmin4使用技巧和工具所具有的比较好的功能。
详细信息
pgAdmin4是用于设计、维护和管理PG及其衍生品的图形化工具,是PostgreSQL领先的开源管理工具;
pgAdmin4可以以两种模式安装:桌面和服务器模式,桌面模式作为独立应用程序安装,由同一操作系统用户使用,而服务器模式可以通过网络访问,从而允许多个用户使用它;
pgAdmin4可以在Linux,Unix,macOS和Windows上使用;
其所支持的功能比其他(支持PG)的工具要丰富,但是其功能菜单布局对用户并不友好。
1、本文以最新版pgAdmin 4介绍。
下载地址:https://www.pgadmin.org/download/
历史版本下载:https://www.postgresql.org/ftp/pgadmin/
安装:以上下载地址基本包含了所有平台,但是不建议源码安装。
1)Windows下安装好后,双击安装目录runtime下的pgAdmin4.exe启动。
2)Linux下按照官方的步骤:
rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm
# 桌面模式和Web模式都安装
yum install pgadmin4
# 只安装桌面模式
yum install pgadmin4-desktop
# 只安装Web模式
yum install pgadmin4-web
cd /usr/pgadmin4/bin
./setup-web.sh
启动Web端(首次使用需要设置邮箱和密码),Web默认地址:http://127.0.0.1/pgadmin4,因此需要防火墙开启80端口,远程使用127.0.0.1改成本机ip。
./ pgadmin4 启动桌面端
桌面端和Web端打开后界面是一样的。
2、新建数据库连接
Servers右击Register->Server:
自定义一个连接名;
需要填写的连接信息在Connection选项;
点击【Save】保存。
连接后展示数据库基本监控信息。
注意:桌面模式数据库连接信息只保存在当前机器;Web模式连接信息所有用户共享,但是连接信息的数据库密码不共享。
3、经验介绍
所有数据库的管理工具其基本功能都是一样的,也都具备了,下面以Web模式介绍pgAdmin4的技巧性的方便工作的功能。
1)配置页面:File->Preferences:
可以配置UI主题、SQL格式化、自动补全SQL、二进制路径等,这里二进制路径是执行psql, pg_dump, pg_dumpall, and pg_restore的bin目录;Miscellaneous->User language可以切换中文显示。
例如:
SQL格式化功能:
格式化后效果,如下:
可以自定义格式化样式,如下:
2)Schema Diff:
对比两个模式之间对象的差异(ddl语句差异),不能对比数据,如下:
> 对比是否包含某张表:
create schema s1;
create schema s2;
create table s1.t_1(c1 int);
> 无法对比表与表的数据:
create table s2.t_1(c1 int);
insert into s1.t_1 values (1);
insert into s1.t_1 values (2);
insert into s2.t_1 values (1);
> 对比是否包含某张表:
create table s2.t_2(c1 int);
> 对比表中的字段:
create table s1.t_3(c1 int, c2 int);
create table s2.t_3(c1 int);
> 对比视图DDL
create view s1.v1 as select * from s1.t_1 ;
create view s2.v1 as select * from s2.t_3 ;
由此可以使用此功能对比两个模式下数据库对象的差异,可以生成同步脚本。要求:对比的两个数据库的主版本必须相同。
3)ERD Tool
实体关系图(ERD),随便创建两张表,如图:
生成的SQL:
4)Restore/Backup
备份还原,需要配置二进制路径,不过还是建议在数据库服务器上去用命令去执行备份还原操作。
5)Import/Export Servers(只是针对pgAdmin工具的)
以json格式导入导出数据库连接信息,导出的文件保存在部署的服务器上,根据json文件的全称find –name查找保存路径,文件内容如下:
[root@localhost bin]# more /var/lib/pgadmin/storage/pga_user_86522_qq.com/1.json
{
"Servers": {
"1": {
"Name": "192.168.17.44",
"Group": "Servers",
"Host": "192.168.17.44",
"Port": 5432,
"MaintenanceDB": "postgres",
"Username": "postgres",
"SSLMode": "prefer",
"SSLCert": "<STORAGE_DIR>/.postgresql/postgresql.crt",
"SSLKey": "<STORAGE_DIR>/.postgresql/postgresql.key",
"SSLCompression": 0,
"Timeout": 10,
"UseSSHTunnel": 0,
"TunnelPort": "22",
"TunnelAuthentication": 0
}
}
}
6)sql执行计划
打开sql编辑器编写sql:
select *
from s2.t_1 t1
join s2.t_2 t2 on t1.c1 = t2.c1;
点击以上两个图标(Explain/ Explain Analyze)
Explain:只生成执行计划,不实际执行。
Explain Analyze:生成执行计划并执行sql。
通过执行计划对sql进行优化。
7)生成sql脚本
例如在创建的表t_1上右击,选择Scripts,可以看到有CREATE、DELETE、INSERT、SELECT、UPDATE脚本,点击后生成的脚本如下:
8)创建Extension
在Extensions上右击点击Create,弹出新建拓展的对话框,这里列出了所有的可以安装的拓展,选择自己需要的;
比如这里没有postgis的可用插件,从postgis官网下载并安装后,就可以看到postgis拓展,选择创建。
随便导入一个shp文件,默认在当前数据库的public下就可以看到导入的这张gis表。表上右击View/Edit Data -> All Rows,查看此表的所有数据。
点击查看此gis图形:
9)pgAdmin4 官方文档
地址:https://www.pgadmin.org/docs/pgadmin4/latest/index.html
文档列表:
Getting Started
Connecting To A Server
Managing Cluster Objects
Managing Database Objects
Creating or Modifying a Table
Management Basics
Backup and Restore
Developer Tools
pgAgent
pgAdmin Project Contributions
Release Notes
Licence