PostgreSQL数据库——Docker版本的postgres安装
PostgreSQL是一种非常先进的开源对象-关系型数据库管理系统(ORDBMS),它以其可靠性、健壮性、灵活性和支持标准SQL的能力而著称。以下是PostgreSQL的一些主要特点:
- PostgreSQL项目起源于1986年的POSTGRES项目,该项目是由加州大学伯克利分校的Michael Stonebraker教授领导的。
- 1996年,PostgreSQL项目从POSTGRES项目演进而来,并增加了SQL语言的支持。
- PostgreSQL是自由软件,用户可以免费使用、修改和分发它。
- 扩展性:PostgreSQL允许用户自定义数据类型、函数和存储过程。它还支持编写外部插件来扩展数据库功能。
- 事务性:它完全支持事务,并遵守ACID原则(原子性、一致性、隔离性、持久性)。
- 可靠性:具有强大的故障恢复功能,可以在系统崩溃后快速恢复数据。
- 支持标准:PostgreSQL支持大量的SQL标准,包括子查询、事务、联合、视图、外键和触发器等。
- 多版本并发控制(MVCC):这允许高并发性,不会因为锁定而阻塞读操作。
- 存储过程语言:支持多种程序设计语言,包括PL/pgSQL、C、Python、Java等。
- 复制和分区:支持数据复制和分区,可以提高性能和可用性。
- Web应用:由于其强大的功能和灵活性,PostgreSQL常被用作Web应用的数据库后端。
- 移动应用:适用于需要后端存储解决方案的移动应用。
- 数据仓库:可以处理复杂的数据分析任务。
- 地理信息系统(GIS):PostgreSQL通过PostGIS插件支持地理空间数据。
- PostgreSQL拥有一个非常活跃的全球社区,不断开发和改进数据库。
- 有许多公司和组织提供专业的支持服务。
- 支持数据加密、用户身份验证、角色和权限管理,确保数据安全。
- PostgreSQL具有高效的查询优化器,能够处理大量数据。
- 与许多操作系统兼容,包括Linux、Windows、macOS等。 由于这些特点,PostgreSQL被广泛应用于各种规模的组织,从小的创业公司到大型企业,甚至是政府机构。它的开源性质也意味着任何人都可以自由地使用、修改和分发它,这极大地促进了其功能的丰富和社区的活跃。
docker search postgres
docker pull postgres
docker images
恭喜,拉取成功~~
docker run -d -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=123456 postgres
- name postgres:指定容器的名称;
- e POSTGRES_PASSWORD=123456:设置环境变量,这里为设定PostgreSQL数据库的密码;
- p 5432:5432:指定端口映射,前者为宿主机访问端口,后者为容器内端口。如果不指定端口映射,只有在容器内可以访问数据库,外部是无法访问的;
- d:表示后台运行容器;
- postgres:表示镜像的名称,docker基于上步拉取的镜像创建出容器;
查看容器:
docker ps
恭喜,运行成功!
docker logs postgres
docker exec -it postgres /bin/bash
- exec:在容器中运行命令
- postgres:为容器名称
- -it:表示在当前终端为容器分配一个伪终端
- /bin/bash:容器内运行/bin/bash终端
步骤一:创建连接 步骤二:创建数据库 出现错误,字符集问题: 使用命令创建cms数据库:
CREATE DATABASE cms
WITH
OWNER = postgres
ENCODING = 'utf8'
LC_COLLATE = 'en_US.utf8'
LC_CTYPE = 'en_US.utf8'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
创建成功: 步骤三:导入mysql数据 使用data transfer进行数据导入及表结构创建工作: