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

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

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

引言

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

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

01 初始化指定模式命令

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

相關(guān)文檔鏈接:

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

具體命令如下:

1.1 初始化PG模式

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

(2)要檢查是否已成功指定模式,請啟動數(shù)據(jù)庫。運(yùn)行命令:./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)驗(yàn)證初始化是否成功,并通過./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ù),則默認(rèn)為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ù)命令設(shè)置大小寫轉(zhuǎn)換

為了確保PG和Oracle在引用標(biāo)識符大小寫兼容方面的良好體驗(yàn),IvorySQL提供了三種引用標(biāo)識符的大小寫轉(zhuǎn)換模式以適應(yīng)不同的場景。

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

相關(guān)文檔鏈接:

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

以下是具體命令的示例:

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

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

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

如果雙引號所引用的標(biāo)識符中的字母全部為大寫,則將大寫轉(zhuǎn)換為小寫。

測試如下

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;

如果雙引號所引用的標(biāo)識符中的字母全部為小寫,則將小寫轉(zhuǎn)換為大寫。

測試如下

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;

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

測試如下

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 將所有標(biāo)識符轉(zhuǎn)換為小寫字母。

測試如下

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來查看當(dāng)前數(shù)據(jù)庫parser信息。具體實(shí)例如下:

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

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

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

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

04 --with-oraport命令

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

相關(guān)文檔鏈接:

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 有關(guān)配置參數(shù)介紹

官方網(wǎng)址:

https://www.ivorysql.org

社區(qū)倉庫:

https://github.com/IvorySQL/IvorySQL

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    史上最全PostgreSQL?DBA最常用SQL

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

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

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

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

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

    PostgreSQL 角色與用戶管理介紹

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

最新評論