數據庫從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)模式模型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM