PostgreSQL简介
PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
更多内容参考PostgreSQL官网和PostgreSQL Documentation。
Harbor中使用的数据库就是PostgreSQL,因此本文对PostgreSQL(pg)进行一个简单的学习,主要参考PostgreSQL 菜鸟教程。
Harbor中的pg
1、进入pg容器docker exec -it harbor-db /bin/bash
2、登录pgpsql -U postgres -h postgresql -p 5432
默认密码为 root123 ,实际密码查看harbor.yml中的配置。
3、查看帮助
1 | \help |
4、查看数据库,切换数据库,查看表
1 | \l |
5、查看表结构
1 | \d registry; |
6、查看表数据
1 | select * from registry; |
可以看到,查看表数据的方法和mysql完全相同。
实际上,pg支持标准的sql语法,因此增删查改的语法参考《MySQL常用命令》即可。
安装pg
如果单独使用pg,该怎样安装?下面学习使用docker安装pg的方法。
1、登录dockerhub查看需要的pg版本。
2、下载pg镜像(以pg12.2为例)docker pull postgres:12.2
3、启动pg服务
1 | docker run --name vk-pg -d \ |
以上命令:
- 命名容器为vk-pg,后台运行
- 映射宿主机5432端口到容器5432端口
- 设置pg数据库密码和数据存放目录
- 映射宿主机/opt/postgresql/data目录(不需要提前创建目录)到容器/var/lib/postgresql/data目录
更高级的启动命令参考How to use this image。
4、验证安装docker ps
gp启动正常的话就可以看到vk-pg容器。
如果启动失败,可以使用docker logs vk-pg
查看失败原因并进行解决。
使用nc命令验证:
1 | yum install nc |
5、登录pg
1 | docker exec -it vk-pg /bin/bash |
啊嘞,直接登录进去了,不需要密码?
这是因为,pg镜像在本地设置了信任身份验证,因此从容器内连接时不需要密码。
但是,如果从其他主机/容器进行连接,则需要输入密码。
比如在宿主机(系统为centos7)上登录pg:
1 | yum list | grep postgresql |
这次必须输入正确的密码才能登录。
以上,pg安装配置完成。