快速入门
PostgreSQL 社区志愿者开发的开源关系型数据库系统,它源于 UC Berkeley 大学 1977 年的 Ingres 计划。它稳定可靠,有很多前言的技术特征,并且性能卓越,在数据完整性和正确性方面赢得了良好的市场声誉。
准备
部署 Websoft9 提供的 PostgreSQL 之后,需完成如下的准备工作:
- 在云控制台获取您的 服务器公网IP地址
- 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:5432 端口已经开启
- 在服务器中查看 PostgreSQL 的 默认账号和密码
- 若想用域名访问 PostgreSQL,务必先完成 域名五步设置 过程
PostgreSQL 初始化向导
详细步骤
部署 PostgreSQL 之后,依次完成下面的步骤,验证其可用性
-
查看服务状态:SSH 连接服务器,运行下面的命令,查看 PostgreSQL 的安装信息和运行状态
cd /data/apps/postgresql && sudo docker compose ls
PostgreSQL 正常运行会得到 "STATUS: running(1)" 的反馈
-
连接 PostgreSQL:SSH 连接服务器,通过下列命令,即可使用 psql 连接数据库
$ docker exec -it postgresql bash
$ psql -d postgresql -U postgresql
psql (15.0 (Debian 15.0-1.pgdg110+1))
Type "help" for help.
postgresql=# -
使用可视化管理工具 pgAdmin
出现问题?
若碰到问题,请第一时刻联系 技术支持。也可以先参考下面列出的问题定位或 FAQ 尝试快速解决问题。
PostgreSQL 常用操作
设置远程访问
本地电脑连接 PostgreSQL 时,需设置 PostgreSQL 远程访问:
- 云控制台安全组开启 TCP:5432 端口
- 修改 postgresql.conf 文件
#listen_addresses = 'localhost'
修改为
listen_addresses = '*'
-
修改 pg_hba.conf 文件,增加如下一行到文件末尾
host all all 0.0.0.0/0 md5
-
重启 PostgreSQL 后生效
sudo docker restart postgresql
密码管理
对于 PostgreSQL 来说,由于可以通过 Unix 套字节在无需验证的情况下登录数据库,因此修改密码和重置密码操作相同:
$ docker exec -it postgresql bash
$ psql -d postgresql -U postgresql
# 修改密码
$ ALTER USER postgres WITH PASSWORD 'postgres';
$ exit psql \q
图形化工具
可以采用 PostreSQL 官方提供的pgAdmin 或第三方客户端工具在本地管理数据库。
pgAdmin 支持 Linux, Unix, Mac, Windows 等多种桌面操作系统,它采用调用浏览器运行,所以它既是 Web 端,也是客户端。
本节介绍 pgAdmin 连接和管理数据库等常见操作
登录 pgAdmin
我们的部署方案默认安装了 pgAdmin, 可以直接采用如下方式使用:
-
本地电脑浏览器访问:
http://服务器公网IP:9090
,进入 pgAdmin -
输入 pgAdmin 管理员的用户名和密码(查看账号密码)之后,进入控制台
pgAdmin 客户端
pgAdmin 也支持本地电脑 Windows 客户端:
-
下载 pgAdmin Windows 版
-
安装完成后,双击 pgAdmin 图标,会启动默认浏览器中打开 pgAdmin
-
根据提示,先设置一个 pgAdmin 管理密码
连接数据库
登录到 pgAdmin 之后,就可以创建数据库连接来管理 PostgreSQL:
-
设置所需管理的 PostgreSQL 数据库连接信息(不知道密码?)
-
成功连接
创建数据库
-
鼠标右键一次点击:【Servers】>【Create】>【Database】,创建数据库
-
设置数据库名称、编码等信息,创建数据库
创建用户
PostgreSQL 中创建用户就是创建 Role
-
鼠标右键一次点击:【Servers】>【Create】>【Login/Group Role】,创建用户
-
设置用户名称、密码等信息,创建用户
备份数据库
-
选择需要备份的数据库,点击【Backup】操作
-
备份并下载到本地
参数
PostgreSQL 应用中包含 Docker, pgAdmin 等组件,可通过 通用参数表 查看路径、服务、端口等参数。
通过运行docker ps
,可以查看到 PostgreSQL 运行时所有的服务组件:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7e91744ee643 dpage/pgadmin4:latest "/entrypoint.sh" 3 seconds ago Up 1 second 443/tcp, 0.0.0.0:9090->80/tcp, :::9090->80/tcp pgadmin
9218c5167c4b postgres:latest "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp postgresql```
路径
PostgreSQL 配置文件目录: /data/apps/postgresql
PostgreSQL 数据目录:/data/apps/postgresql/data/postgres
PostgreSQL 有两个重要的全局配置文件:
- postgresql.conf 主要负责配置文件位置、资源限制、集群负责等
- pg_hba.conf 主要负责客户端的连接和认证
端口
端口号 | 用途 | 必要性 |
---|---|---|
9090 | 通过 HTTP 访问 PgAdmin | 可选 |
5432 | 远程连接PostgreSQL | 可选 |
版本
# PostgreSQL version
docker exec -it postgresql psql -V
服务
sudo docker start | stop | restart | stats postgresql
sudo docker start | stop | restart | stats pgadmin
命令行
PSQL 是 PostgreSQL 自带的命令行客户端工具,有非常丰富的功能。
先切换到 postgre 用户,在运行 psql
命令,即可使用 psql 连接数据库
$ docker exec -it postgresql psql --help
psql is the PostgreSQL interactive terminal.
Usage:
psql [OPTION]... [DBNAME [USERNAME]]