欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql?IvorySQL新增命令及相關配置參數(shù)詳解

 更新時間:2023年12月14日 10:06:25   作者:IvorySQL  
這篇文章主要為大家介紹了postgresql?IvorySQL新增命令及相關配置參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

在之前的一篇文章中,我們簡要介紹了「IvorySQL的IVY_GUC框架介紹與使用指南」,除了數(shù)據(jù)類型和內(nèi)置函數(shù)的兼容性外,IvorySQL還新增了一些GUC參數(shù),以便更好地對數(shù)據(jù)庫變量進行設置和對數(shù)據(jù)庫進行控制。

接下來,本文將詳細介紹IvorySQL支持多種SQL語句,并且可以與多種數(shù)據(jù)庫進行交互。在IvorySQL中,新增命令和配置參數(shù)可以幫助優(yōu)化查詢性能和查詢靈活性。

01 初始化指定模式命令

為了滿足PG模式和兼容Oracle模式,IvorySQL特別設計了PG和Oracle兩種模式,并且可以在initdb時指定所需模式。

相關文檔鏈接:

https://docs.ivorysql.org/cn/ivorysql-doc/v3.0/v3.0/17

具體命令如下:

1.1 初始化PG模式

(1)./initdb -D ../data -m pg

(2)要檢查是否已成功指定模式,請啟動數(shù)據(jù)庫。運行命令:./pg_ctl -D ../data start。如果顯示以下信息,則表示已成功指定PG模式:

2023-12-01 15:02:22.327 CST [41358] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-12-01 15:02:22.338 CST [41358] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"2023-12-01 15:02:22.362 CST [41361] LOG:  database system was shut down at 2023-12-01 15:01:47 CST
2023-12-01 15:02:22.394 CST [41358] LOG:  database system is ready to accept connections
 done
server started

1.2 初始化oracle兼容模式

(1)執(zhí)行初始化數(shù)據(jù)庫命令:./initdb -D ../data -m oracle

(2)驗證初始化是否成功,并通過./pg_ctl -D ../data start啟動數(shù)據(jù)庫。啟動后會顯示以下內(nèi)容

2023-12-01 15:14:10.357 CST [42280] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-12-01 15:14:10.362 CST [42280] LOG:  listening on IPv4 address "127.0.0.1", port 1521
2023-12-01 15:14:10.368 CST [42280] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-12-01 15:14:10.379 CST [42280] LOG:  listening on Unix socket "/tmp/.s.PGSQL.1521"
2023-12-01 15:14:10.410 CST [42283] LOG:  database system was shut down at 2023-12-01 15:14:02 CST
2023-12-01 15:14:10.446 CST [42280] LOG:  database system is ready to accept connections
 done
server started

1.3 如果不添加-m參數(shù),則默認為oralce兼容模式

(1)執(zhí)行初始化數(shù)據(jù)庫命令:/initdb -D ../data

(2)通過./pg_ctl -D ../data start啟動數(shù)據(jù)庫。啟動后會顯示以下內(nèi)容

2023-12-01 15:14:10.357 CST [42280] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-12-01 15:14:10.362 CST [42280] LOG:  listening on IPv4 address "127.0.0.1", port 1521
2023-12-01 15:14:10.368 CST [42280] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-12-01 15:14:10.379 CST [42280] LOG:  listening on Unix socket "/tmp/.s.PGSQL.1521"
2023-12-01 15:14:10.410 CST [42283] LOG:  database system was shut down at 2023-12-01 15:14:02 CST
2023-12-01 15:14:10.446 CST [42280] LOG:  database system is ready to accept connections
 done
server started

02 -C參數(shù)命令設置大小寫轉換

為了確保PG和Oracle在引用標識符大小寫兼容方面的良好體驗,IvorySQL提供了三種引用標識符的大小寫轉換模式以適應不同的場景。

在初始化數(shù)據(jù)庫時,可以通過initdb命令的-C選項來設置大小寫轉換模式。該選項可以接受的值包括“normal”、“interchange”和“lowercase”。

相關文檔鏈接:

https://docs.ivorysql.org/cn/ivorysql-doc/v3.0/v3.0/16

以下是具體命令的示例:

(1)設置正常大小寫轉換模式:./initdb -D ../data -C normal 標識符轉換模式與原生PG相同。

(2)設置交互大小寫轉換模式:./initdb -D ../data -C interchange

(3)設置全部轉換為小寫模式:./initdb -D ../data -C lowercase

如果雙引號所引用的標識符中的字母全部為大寫,則將大寫轉換為小寫。

測試如下

SET ivorysql.enable_case_switch = true;
SET ivorysql.identifier_case_switch = interchange;
CREATE TABLE "ABD"(c1 int, c2 int);
SELECT * FROM "ABD";
 c1 | c2
----+----
(0 rows)
SELECT * FROM "Abd"; -- ERROR
SELECT * FROM "abd"; -- ERROR
DROP TABLE abd;

如果雙引號所引用的標識符中的字母全部為小寫,則將小寫轉換為大寫。

測試如下

SET ivorysql.enable_case_switch = true;
SET ivorysql.identifier_case_switch = interchange;
CREATE TABLE "abd"(c1 int, c2 int);
SELECT * FROM "ABD";-- ERROR
SELECT * FROM "Abd"; -- ERROR
SELECT * FROM "abd"; 
 c1 | c2
----+----
(0 rows)
DROP TABLE abd;

如果用雙引號引起來的標識符中字母是大小寫混合的,則保持標識符不變。

測試如下

SET ivorysql.enable_case_switch = true;
SET ivorysql.identifier_case_switch = interchange;
CREATE TABLE "Abd"(c1 int, c2 int);
SELECT * FROM "ABD"; -- ERROR
SELECT * FROM ABD; -- ERROR
SELECT * FROM abd; -- ERROR
SELECT * FROM Abd; -- ERROR
SELECT * FROM "Abd";
 c1 | c2
----+----
(0 rows)
DROP TABLE "Abd";

/initdb -D ../data -C lowercase 將所有標識符轉換為小寫字母。

測試如下

SET ivorysql.enable_case_switch = true;
SET identifier_case_switch = lowercase;
CREATE TABLE "Abd"(c1 int, c2 int);
SELECT * FROM "Abd";
 c1 | c2
----+----
(0 rows)
SELECT * FROM ABD; -- ERROR
SELECT * FROM abd; -- ERROR
SELECT * FROM Abd; -- ERROR
DROP TABLE "Abd";

03 \parser命令

在成功連接數(shù)據(jù)庫后,您可以輸入SQL語句\parser來查看當前數(shù)據(jù)庫parser信息。具體實例如下:

1、輸入\parser后,如果顯示Oracle parser,則表明當前處于Oracle parser。

如果想要切換為PG,則輸入命令:set ivorysql.comatible_mode=PG,此時客戶端仍然處于Oralce parser,需要再次輸入命令\parser,此時才能更新parser為PG parser;

2、輸入\parser后,如果顯示PG parser,則表明當前處于PG parser。

如果想要切換為Oracle,則輸入命令:set ivorysql.comatible_mode=Oracle,此時客戶端仍然處于PG parser,需要再次輸入命令\parser,此時才能更新parser為PG parser;

04 --with-oraport命令

在執(zhí)行configure時可以加上--with-oraport=number命令,將number設置為服務器和客戶端的默認端口。這個端口可以在后續(xù)進行修改,但如果在此處聲明,則服務器和客戶端將具有相同的編譯好的默認值,這樣會更加方便。

相關文檔鏈接:

https://docs.ivorysql.org/cn/ivorysql-doc/v3.0/v3.0/22

具體示例如下:

./configure  CFLAGS="-O0 -g" \
--prefix=$PWD/inst \
--with-oraport=1521 \
......
 
執(zhí)行命令:
./initdb -D ../data
./pg_ctl -D ../data start
./psql -d postgres -p 1521

05 有關配置參數(shù)介紹

官方網(wǎng)址:

https://www.ivorysql.org

社區(qū)倉庫:

https://github.com/IvorySQL/IvorySQL

以上就是postgresql IvorySQL新增命令及相關配置參數(shù)詳解的詳細內(nèi)容,更多關于postgresql  IvorySQL命令參數(shù)的資料請關注腳本之家其它相關文章!

相關文章

  • PostgreSQL實現(xiàn)批量插入、更新與合并操作的方法

    PostgreSQL實現(xiàn)批量插入、更新與合并操作的方法

    這篇文章主要給大家介紹了關于PostgreSQL實現(xiàn)批量插入、更新與合并操作的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • 解決PostgreSQL數(shù)據(jù)庫連接報錯:psql:?error:?FATAL:?password?authentication?failed?for?user?"postgres"

    解決PostgreSQL數(shù)據(jù)庫連接報錯:psql:?error:?FATAL:?password?authent

    這篇文章主要給大家介紹了關于如何解決PostgreSQL數(shù)據(jù)庫連接報錯:psql:?error:?FATAL:?password?authentication?failed?for?user?"postgres"的相關資料,在使用PostgreSQL時,一些關鍵配置的錯誤可能導致數(shù)據(jù)庫無法正常啟動,需要的朋友可以參考下
    2024-05-05
  • PostgreSQL數(shù)據(jù)庫中匿名塊的寫法實例

    PostgreSQL數(shù)據(jù)庫中匿名塊的寫法實例

    這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫中匿名塊的寫法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法

    PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法

    在數(shù)據(jù)庫并發(fā)操作環(huán)境中,多個事務同時嘗試更新相同的數(shù)據(jù)可能導致沖突,PostgreSQL?提供了一系列機制來處理這些并發(fā)更新沖突,以確保數(shù)據(jù)的一致性和完整性,所以本文給大家介紹了PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法,需要的朋友可以參考下
    2024-07-07
  • postgresql 實現(xiàn)多表關聯(lián)刪除

    postgresql 實現(xiàn)多表關聯(lián)刪除

    這篇文章主要介紹了postgresql 實現(xiàn)多表關聯(lián)刪除操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 如何將excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫

    如何將excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫

    這篇文章主要介紹了如何將excel表格數(shù)據(jù)導入postgresql數(shù)據(jù)庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 史上最全PostgreSQL?DBA最常用SQL

    史上最全PostgreSQL?DBA最常用SQL

    這篇文章主要介紹了PostgreSQL?DBA最常用SQL?,主要包括背景及常用查詢語句,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Ubuntu中卸載Postgresql出錯的解決方法

    Ubuntu中卸載Postgresql出錯的解決方法

    這篇文章主要給大家介紹了關于在Ubuntu中卸載Postgresql出錯的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • PostgreSQL 定義返回表函數(shù)的操作

    PostgreSQL 定義返回表函數(shù)的操作

    這篇文章主要介紹了PostgreSQL 定義返回表函數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL 角色與用戶管理介紹

    PostgreSQL 角色與用戶管理介紹

    這篇文章主要介紹PostgreSQL 角色與用戶管理相關知識,需要的朋友可以參考下
    2013-08-08

最新評論