数据库从PostgreSQL迁移至Oracle指导书(一)

1前言

1.1    概述

近日,公司的一套使用 postgresql 数据库的应用软件要兼容oracle。本文系统性地整理了PostgreSQL 和 Oracle的一些差异点,和应用程序中的改动点。

1.2 软件介绍

PostgreSQL

PostgreSQL是一个功能强大的开源对象关系数据库系统,拥有30多年的积极开发经验,在可靠性,功能强大和性能方面赢得了极高的声誉。

oracle数据库

甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

1.3 约定

以下是文中的sql代码中,一些符号的含义:

方括弧([ 和 ]) :表示可选的部分。如 [ a ]

花括弧({ 和 }) 和竖条(|): 表示你必须选取其中一个。如 { a | b }

连续点(...) :表示前面的元素可以重复。[a,...]

2 数据库结构的改造

在迁移之前,我们需要了解两种数据库的逻辑结构的差异。

在PostgreSQL 中,一个数据库服务中可以创建多个数据库,每个数据库都有一个默认的模式“public”,用于存放用户数据;而在 Oracle 中,一个数据库服务中只能创建一个数据库,这个数据库中每个用户都有与自己的同名的模式,存放他的数据。

PostgreSQL 11

Oracle 19c

同一服务器,同一端口上,可以创建多个数据库

同一服务器,同一端口上,只能创建一个数据库

1. 每个数据库中有默认的模式 public,存放用户数据;

2. 有模式 information_schema和pg_catalog,存放系统数据;

 3. public,information_schema 和 pg_catalog 三个模式默认所有用户均可访问;

4.用户可创建并访问新的模式

1. 数据库中每个用户都有与自己的同名的模式,存放他的数据;

2. 有模式 SYS,存放系统数据;

3. 用户默认可访问自己的同名模式以及SYS模式;

4. 用户可创建并访问新的模式

因此,在PostgrSQL中可以使用多数据库(multi-database)模型,也可以使用多(multi-schema)模式模型。在Oracle 中只能使用多(multi-schema)模式模型。

原文地址:https://www.cnblogs.com/xianghuaqiang/p/13494935.html