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

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

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

引言

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

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

01 初始化指定模式命令

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

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

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

具體命令如下:

1.1 初始化PG模式

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

(2)要檢查是否已成功指定模式,請(qǐng)啟動(dòng)數(shù)據(jù)庫(kù)。運(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ù)庫(kù)命令:./initdb -D ../data -m oracle

(2)驗(yàn)證初始化是否成功,并通過(guò)./pg_ctl -D ../data start啟動(dòng)數(shù)據(jù)庫(kù)。啟動(dòng)后會(huì)顯示以下內(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ù)庫(kù)命令:/initdb -D ../data

(2)通過(guò)./pg_ctl -D ../data start啟動(dòng)數(shù)據(jù)庫(kù)。啟動(dòng)后會(huì)顯示以下內(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)識(shí)符大小寫兼容方面的良好體驗(yàn),IvorySQL提供了三種引用標(biāo)識(shí)符的大小寫轉(zhuǎn)換模式以適應(yīng)不同的場(chǎng)景。

在初始化數(shù)據(jù)庫(kù)時(shí),可以通過(guò)initdb命令的-C選項(xiàng)來(lái)設(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)識(shí)符轉(zhuǎn)換模式與原生PG相同。

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

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

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

測(cè)試如下

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;

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

測(cè)試如下

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;

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

測(cè)試如下

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)識(shí)符轉(zhuǎn)換為小寫字母。

測(cè)試如下

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ù)庫(kù)后,您可以輸入SQL語(yǔ)句\parser來(lái)查看當(dāng)前數(shù)據(jù)庫(kù)parser信息。具體實(shí)例如下:

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

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

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

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

04 --with-oraport命令

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

相關(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ū)倉(cāng)庫(kù):

https://github.com/IvorySQL/IvorySQL

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

相關(guān)文章

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

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

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

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

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

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

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

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

    在數(shù)據(jù)庫(kù)并發(fā)操作環(huán)境中,多個(gè)事務(wù)同時(shí)嘗試更新相同的數(shù)據(jù)可能導(dǎo)致沖突,PostgreSQL?提供了一系列機(jī)制來(lái)處理這些并發(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)刪除操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫(kù)

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

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

    史上最全PostgreSQL?DBA最常用SQL

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

    Ubuntu中卸載Postgresql出錯(cuò)的解決方法

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

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

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

    PostgreSQL 角色與用戶管理介紹

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

最新評(píng)論