適用於 PostgreSQL 的 Azure 資料庫 flexible server 中 Azure 儲存體 擴展所提供的函數參考

以下列表展示了 Azure 儲存體 擴充功能所提供的功能:

azure_storage.account_add

函式會將儲存帳號及其對應的存取金鑰加入擴充功能可存取的儲存帳號 azure_storage 清單中。

如果先前叫用此函式已新增此記憶體帳戶的參考,則不會新增專案,而是更新現有專案的存取密鑰。

備註

此函式不會驗證參考帳戶名稱是否存在,或是否可使用提供的存取密鑰來存取。 不過,它會根據對 Azure 記憶體帳戶所強加的命名驗證規則,驗證記憶體帳戶的名稱是否有效。

azure_storage.account_add(account_name_p text, account_key_p text);

此函式的超載版本接受account_config一個參數,封裝了參考的 Azure 儲存體 帳號名稱,以及所有必要的設定,如認證類型、帳號類型或儲存憑證。

azure_storage.account_add(account_config jsonb);

權限

必須是的成員 azure_storage_admin。

Arguments

account_name_p

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

account_key_p

text 儲存體帳戶的其中一個存取金鑰值。 您的 Azure Blob 記憶體存取金鑰類似於記憶體帳戶的根密碼。 請務必小心保護您的存取金鑰。 使用 Azure Key Vault,以安全的方式管理及輪替金鑰。 帳號金鑰儲存在只有超級使用者能存取的表格中。 被 azure_storage_admin 賦予角色的使用者可以透過函式與此表格互動。 若要查看新增的記憶體帳戶,請使用 函式 azure_storage.account_list。

account_config

jsonb Azure 記憶體帳戶的名稱,以及驗證類型、帳戶類型或記憶體認證等所有必要的設定。 使用工具函式 azure_storage.account_options_managed_identity、 azure_storage.account_options_credentials 或 azure_storage.account_options 來建立你必須傳遞的有效值。

傳回類型

VOID

azure_storage.account_encrypt_existing_credentials

這個功能會掃描你在舊版本擴充功能中用 azure_storage.account_add 新增的現有儲存帳號清單。 這些版本會儲存未加密的憑證。 此函式會利用儲存在 azure_storage.credential_encryption_key的金鑰加密所有憑證。 的 azure_storage.credential_encryption_key 值是在伺服器層級被限制。 因此,如果你在同一台伺服器的多個資料庫中建立 Azure 儲存體 擴充功能,同一組加密金鑰會加密該擴充功能儲存的所有敏感憑證,不論它們存放在哪個資料庫。

Important

如果你在同一台伺服器的多個資料庫中建立 Azure 儲存體 擴充功能,你必須在每個資料庫中執行該azure_storage.account_encrypt_existing_credentials函式。

azure_storage.account_encrypt_existing_credentials();

權限

必須是的成員 azure_storage_admin。

Arguments

此函式不會接受任何自變數。

傳回類型

bigint 在執行函式前未加密的現有儲存帳號憑證數量,現在透過儲存在 azure_storage.credential_encryption_key中的金鑰加密。

azure_storage.account_options_managed_identity

作為效用函數的函數。 在 azure_storage.account_add 裡叫它做參數。 它幫助你在使用系統指派的管理身份與 Azure 儲存體 帳號互動時,為參數建立一個有效的值account_config。

azure_storage.account_options_managed_identity(name text, type azure_storage.storage_type);

權限

任何使用者或角色都可以叫用此函式。

Arguments

名稱

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

型別

azure_storage.storage_type 支援的其中一種記憶體類型值。 支援值為 blob。

傳回類型

jsonb

azure_storage.account_options_credentials

你可以在 azure_storage.account_add 裡呼叫一個參數的工具函式。 它幫助你在使用 Azure 儲存體 存取金鑰與 Azure 儲存體 帳號互動時,為參數建立有效的值account_config。

azure_storage.account_options_credentials(name text, credentials text, type azure_storage.storage_type);

權限

任何使用者或角色都可以叫用此函式。

Arguments

名稱

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

憑證

text 儲存體帳戶的其中一個存取金鑰值。 您的 Azure Blob 記憶體存取金鑰類似於記憶體帳戶的根密碼。 請務必小心保護您的存取金鑰。 使用 Azure Key Vault,以安全的方式管理及輪替金鑰。 帳號金鑰儲存在只有超級使用者能存取的表格中。 被 azure_storage_admin 賦予角色的使用者可以透過函式與此表格互動。 若要查看新增的記憶體帳戶,請使用 函式 azure_storage.account_list。

型別

azure_storage.storage_type 支援的其中一種記憶體類型值。 支援值為 blob。

傳回類型

jsonb

azure_storage.account_options

你可以在 azure_storage.account_add 裡呼叫一個參數的工具函式。 它幫助你在使用 Azure 儲存體 存取金鑰或系統指定的管理身份與 Azure 儲存體 帳號互動時,為參數建立有效的值account_config。

azure_storage.account_options(name text, auth_type azure_storage.auth_type, storage_type azure_storage.storage_type, credentials text DEFAULT NULL);

權限

任何使用者或角色都可以叫用此函式。

Arguments

名稱

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

auth_type

azure_storage.auth_type 支援的其中一種記憶體類型值。 支援的值為 access-key 和 managed-identity。

storage_type

azure_storage.storage_type 支援的其中一種記憶體類型值。 支援值為 blob。

憑證

text 儲存體帳戶的其中一個存取金鑰值。 您的 Azure Blob 記憶體存取金鑰類似於記憶體帳戶的根密碼。 請務必小心保護您的存取金鑰。 使用 Azure Key Vault,以安全的方式管理及輪替金鑰。 帳號金鑰儲存在只有超級使用者能存取的表格中。 被 azure_storage_admin 賦予角色的使用者可以透過函式與此表格互動。 若要查看新增的記憶體帳戶,請使用 函式 azure_storage.account_list。

傳回類型

jsonb

azure_storage.account_remove

函式會將儲存帳號及其相關的存取金鑰從擴充功能可存取的儲存帳號 azure_storage 清單中移除。

azure_storage.account_remove(account_name_p text);

權限

必須是的成員 azure_storage_admin。

Arguments

account_name_p

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

傳回類型

VOID

azure_storage.account_user_add

函式可透過擴充功能提供的函 azure_storage 式,授予 PostgreSQL 使用者或角色存取儲存帳號的權限。

備註

這個函式的執行只有在你傳遞給第一個參數的儲存帳號已經用 azure_storage.account_add 建立,且你傳給第二個參數的使用者或角色已經存在時,這個函式才會成功。

azure_storage.account_add(account_name_p text, user_p regrole);

權限

必須是的成員 azure_storage_admin。

Arguments

account_name_p

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

user_p

regrole 伺服器上可用的PostgreSQL使用者或角色名稱。

傳回類型

VOID

azure_storage.account_user_remove

函式可透過擴充功能的功能撤銷 PostgreSQL 使用者或角色對儲存帳號 azure_storage 的存取權。

備註

這個函式的執行只有在你傳遞為第一個參數的儲存帳號已經存在且是使用 azure_storage.account_add 建立時才會成功。 你所傳遞的使用者或角色名稱作為第二個參數,也必須存在。 當你執行 DROP USER | ROLE從伺服器中移除使用者或角色時,任何對 Azure 儲存體 帳號的授權也會自動移除。

azure_storage.account_user_remove(account_name_p text, user_p regrole);

權限

必須是的成員 azure_storage_admin。

Arguments

account_name_p

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

user_p

regrole 伺服器上可用的PostgreSQL使用者或角色名稱。

傳回類型

VOID

azure_storage.account_list

函式會列出你透過 azure_storage.account_add 函式設定的儲存帳號名稱,以及透過擴充功能提供的 azure_storage 函式與該儲存帳號互動的 PostgreSQL 使用者或角色。

azure_storage.account_list();

權限

必須是的成員 azure_storage_admin。

Arguments

此函式不會接受任何自變數。

傳回類型

TABLE(account_name text, auth_type azure_storage.auth_type, azure_storage_type azure_storage.storage_type, allowed_users regrole[])一個四欄表格,包含新增的 Azure 儲存體 帳號清單、與每個帳號互動時使用的驗證類型、儲存類型,以及有權限存取該帳號的 PostgreSQL 使用者或角色清單。

azure_storage.blob_list

此函式會列出儲存在所參考記憶體帳戶指定容器中 Blob 的名稱和其他屬性(size、lastModified、eTag、contentType、contentEncoding 和 contentHash)。

azure_storage.blob_list(account_name text, container_name text, prefix text DEFAULT ''::text);

權限

透過執行 azure_storage.account_user_add,將呼叫此函式的使用者或角色加入允許清單account_name。 成員azure_storage_admin可自動引用所有使用 azure_storage.account_add 新增參考的 Azure 儲存體 帳號。

Arguments

account_name

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

容器名稱

text 容器的名稱。 容器會組織一組 Blob,類似於檔案系統中的目錄。 儲存體帳戶可以包括無限數量的容器,而一個容器則可儲存無限數量的 Blob。 容器名稱必須是有效的域名系統(DNS)名稱,因為它會形成用來尋址容器或其 Blob 的唯一 URI 的一部分。 命名容器時,請遵守 以下規則。

容器的 URI 類似於: https://myaccount.blob.core.windows.net/mycontainer

prefix

text 指定時,函式會傳回名稱開頭為此參數中提供值的 Blob。 預設為空字串。

傳回類型

TABLE(path text, bytes bigint, last_modified timestamp with time zone, etag text, content_type text, content_encoding text, content_hash text) 每個 Blob 傳回一筆記錄的數據表,包括 Blob 的完整名稱,以及一些其他屬性。

路徑

text Blob 的完整名稱。

bytes

bigint 以位元組為單位的 Blob 大小。

last_modified

timestamp with time zone 那個黏液最後修改的日期和時間。 修改 Blob 的任何作業 (包括 Blob 更新的中繼資料或屬性),都會變更 Blob 上次修改的時間。

etag

text ETag 屬性用於更新期間的開放式並行存取。 它不是時間戳,因為有另一個稱為 Timestamp 的屬性會儲存上次更新記錄的時間。 例如,如果您載入實體並想要更新它,ETag 必須符合目前儲存的內容。 設定適當的 ETag 很重要,因為如果您有多個使用者編輯相同的專案,則不希望他們覆寫彼此的變更。

content_type

text 為 Blob 指定的內容類型。 預設內容型態為 application/octet-stream。

content_encoding

text Azure 記憶體可讓您定義之 Blob 的 Content-Encoding 屬性。 針對壓縮的內容,您可以將 屬性設定為 Gzip。 當瀏覽器存取內容時,它會自動解壓縮內容。

content_hash

text 用來驗證傳輸期間 Blob 完整性的哈希。 當你指定這個標頭時,儲存服務會將提供的雜湊值與它從內容計算出來的雜湊值進行比對。 若兩個雜湊值不匹配,操作失敗並回傳錯誤代碼 400(錯誤請求)。

azure_storage.blob_get

函式是透過從 Azure 儲存體 帳號中的 blob 容器下載檔案來匯入資料。 它會將內容轉換成列,你可以用 SQL 語言結構來處理和處理。 此函式新增了在匯入 Blob 容器之前篩選及作從 Blob 容器擷取的數據的支援。

備註

在嘗試存取被參考儲存帳號的容器之前,這個函式會檢查你傳遞作為參數的儲存帳號和容器名稱是否符合 Azure 儲存帳號所施加的命名驗證規則。 若任一名稱無效,函式會回傳錯誤。

azure_storage.blob_get(account_name text, container_name text, path text, decoder text DEFAULT 'auto'::text, compression text DEFAULT 'auto'::text, options jsonb DEFAULT NULL::jsonb);

這個函式的超載版本接受一個 rec 參數,方便地定義輸出格式記錄。

azure_storage.blob_get(account_name text, container_name text, path text, rec anyelement, decoder text DEFAULT 'auto'::text, compression text DEFAULT 'auto'::text, options jsonb DEFAULT NULL::jsonb);

權限

透過執行 azure_storage.account_user_add,將呼叫此函式的使用者或角色加入允許清單account_name。 成員azure_storage_admin可自動引用所有使用 azure_storage.account_add 新增參考的 Azure 儲存體 帳號。

Arguments

account_name

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

容器名稱

text 容器的名稱。 容器會組織一組 Blob,類似於檔案系統中的目錄。 儲存體帳戶可以包括無限數量的容器,而一個容器則可儲存無限數量的 Blob。 容器名稱必須是有效的域名系統(DNS)名稱,因為它會形成用來尋址容器或其 Blob 的唯一 URI 的一部分。 命名容器時,請遵守 以下規則。

容器的 URI 類似於: https://myaccount.blob.core.windows.net/mycontainer

路徑

text Blob 的完整名稱。

娛樂

anyelement 記錄輸出結構的定義。

譯碼器

text Blob 格式的規格。 設定為以下任一值:

格式 預設值 說明
auto true 根據指派給 Blob 名稱的最後一系列字元來推斷值。 如果 Blob 名稱以 結尾 .parquet,則會假設 parquet。 如果結尾為 .csv 或 .csv.gz,則會假設 csv。 如果結尾為 .tsv 或 .tsv.gz,則會假設 tsv。 如果結尾為 .json、.json.gz、、、.xml.xml.gz.txt、 或 .txt.gz, 則會假設text為 。
binary 二進位 PostgreSQL COPY 格式。
csv PostgreSQL COPY 所使用的逗號分隔值格式。
parquet 拼花式。
text | xml | json 包含單一文字值的檔案。
tsv Tab 分隔值,預設 PostgreSQL COPY 格式。
壓縮

text 壓縮類型的規格。 設定為以下任一值:

格式 預設值 說明
auto true 根據指派給 Blob 名稱的最後一系列字元來推斷值。 如果 Blob 名稱以 結尾 .gz,則會假設 gzip。 否則,它會假設 none。
brotli 使用 brotli 壓縮演算法來壓縮 blob。 只有編碼器支援 parquet 。
gzip 強制使用 gzip 壓縮演算法來壓縮 blob。
lz4 使用 lz4 壓縮演算法來壓縮 blob。 parquet編碼器是唯一支援此演算法的編碼器。
none 它不會壓縮膠狀物。
snappy 使用快速壓縮演算法來壓縮斑點。 parquet編碼器是唯一支援此演算法的編碼器。
zstd 使用 zstd 壓縮演算法來壓縮 blob。 parquet編碼器是唯一支援此演算法的編碼器。

延伸模組不支援任何其他壓縮類型。

options

jsonb 定義自訂標頭、自訂分隔符、跳脫字元及其他選項的設定。 options 影響這個函式的行為,類似於你在 PostgreSQL 中傳遞給 COPY 指令的選項會影響其行為。

傳回類型

SETOF record SETOF anyelement

azure_storage.blob_put

這個函式是透過將檔案上傳到 Azure 儲存體 帳號中的 blob 容器來匯出資料。 這個函式會從 PostgreSQL 的列產生檔案內容。

備註

在嘗試存取被參考儲存帳號的容器之前,這個函式會檢查你傳遞作為參數的儲存帳號和容器名稱是否符合 Azure 儲存帳號所施加的命名驗證規則。 若任一名稱無效,函式會回傳錯誤。

azure_storage.blob_put(account_name text, container_name text, path text, tuple record)
RETURNS VOID;

過載版本的函數包含參數 encoder 。 當無法從參數擴展 path 推斷編碼器,或是你想覆寫推斷編碼器時,可以用這個參數指定編碼器。

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text)
RETURNS VOID;

過載版本的函數包含參數 compression 。 當無法從參數擴展 path 推斷壓縮時,或是想覆寫推斷壓縮,請使用此參數指定壓縮。

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text, compression text)
RETURNS VOID;

過載版本的函式包含 options 處理自訂標頭、自訂分隔符、跳脫字元及其他選項的參數。 這個 options 參數的運作方式和你可以傳給 COPY PostgreSQL 指令的選項很像。

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text, compression text, options jsonb)
RETURNS VOID;

權限

透過執行 azure_storage.account_user_add,將呼叫此函式的使用者或角色加入允許清單account_name。 成員azure_storage_admin可自動引用所有使用 azure_storage.account_add 新增參考的 Azure 儲存體 帳號。

Arguments

account_name

text 包含所有物件的 Azure Blob 記憶體帳戶名稱:Blob、檔案、佇列和數據表。 儲存帳號提供一個獨特的命名空間,你可以透過 HTTPS 從世界任何地方存取。

容器名稱

text 容器的名稱。 容器會組織一組 Blob,類似於檔案系統中的目錄。 儲存體帳戶可以包括無限數量的容器,而一個容器則可儲存無限數量的 Blob。 容器名稱必須是有效的域名系統(DNS)名稱,因為它會形成用來尋址容器或其 Blob 的唯一 URI 的一部分。 命名容器時,請遵守 以下規則。

容器的 URI 類似於: https://myaccount.blob.core.windows.net/mycontainer

路徑

text Blob 的完整名稱。

Tuple

record 記錄輸出結構的定義。

編碼器

text Blob 格式的規格。 設定為以下任一值:

格式 預設值 說明
auto true 根據指派給 Blob 名稱的最後一系列字元來推斷值。 如果 Blob 名稱結尾為 .csv 或 .csv.gz,則會假設 csv為 。 若以 或 結尾.tsv,則假設 tsv。.tsv.gz 若結尾為 .json、 .json.gz、 .xml、 .xml.gz.txt、 或 .txt.gz,則假設 text。
binary 二進位 PostgreSQL COPY 格式。
csv PostgreSQL COPY 所使用的逗號分隔值格式。
parquet 拼花式。
text | xml | json 包含單一文字值的檔案。
tsv Tab 分隔值,預設 PostgreSQL COPY 格式。
壓縮

text 壓縮類型的規格。 設定為以下任一值:

格式 預設值 說明
auto true 根據指派給 Blob 名稱的最後一系列字元來推斷值。 如果 Blob 名稱以 結尾 .gz,則會假設 gzip。 否則,它會假設 none。
brotli 使用 brotli 壓縮演算法來壓縮 blob。 只有編碼器支援 parquet 。
gzip 強制使用 gzip 壓縮演算法來壓縮 blob。
lz4 使用 lz4 壓縮演算法來壓縮 blob。 parquet編碼器是唯一支援此演算法的編碼器。
none 它不會壓縮膠狀物。
snappy 使用快速壓縮演算法來壓縮斑點。 parquet編碼器是唯一支援此演算法的編碼器。
zstd 使用 zstd 壓縮演算法來壓縮 blob。 parquet編碼器是唯一支援此演算法的編碼器。

延伸模組不支援任何其他壓縮類型。

options

jsonb 定義自訂標頭、自訂分隔符、跳脫字元及其他選項的設定。 options 影響這個函式的行為,類似於你在 PostgreSQL 中傳遞給 COPY 指令的選項會影響其行為。

傳回類型

VOID

azure_storage.options_copy

你可以在 中呼叫作為參數 blob_get的效用函數。 它作為 options_parquet、 options_csv_get、 options_tsv和 options_binary的輔助功能。

azure_storage.options_copy(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, header boolean DEFAULT NULL::boolean, quote text DEFAULT NULL::text, escape text DEFAULT NULL::text, force_quote text[] DEFAULT NULL::text[], force_not_null text[] DEFAULT NULL::text[], force_null text[] DEFAULT NULL::text[], content_encoding text DEFAULT NULL::text);

權限

任何使用者或角色都可以叫用此函式。

Arguments

分隔符號

text 用來分隔檔案每一列(行)欄位的字元。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY delimiter must be a single one-byte character 傳錯誤。

null_string

text 代表空值的字串。 預設值為文字格式的 \N (反斜杠-N),並以 CSV 格式加上未標記的空字串。 即使您不想區分 Null 與空字串的情況,您仍可能偏好使用文字格式的空字串。

boolean 旗標顯示檔案是否包含包含每一欄名稱的標頭行。 在輸出中,初始行包含數據表中的數據行名稱。

報價

text 引用字元,當資料值被引用時所用的字元。 預設值為雙引號。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY quote must be a single one-byte character 傳錯誤。

逃

text 應該出現在與 QUOTE 值相符的資料字元之前的字元。 默認值與 QUOTE 值相同(因此,如果引號字元出現在數據中,則會加倍)。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY escape must be a single one-byte character 傳錯誤。

force_quote

text[] 會強制用於每個指定數據行中所有非 NULL 值的引號。 NULL 輸出絕不會加上引號。 如果指定 * ,則所有資料行都會加上非 NULL 值引號。

force_not_null

text[] 不要將指定欄位的值與空字串相匹配。 在 Null 字串是空的預設值中,這表示空值會讀取為零長度字串,而不是 Null,即使未加上引號也一樣。

force_null

text[] 即使有引號,也要將指定的欄位值與空字串相匹配。 如果找到匹配,則將該值設為 NULL。 在 Null 字串是空的預設值中,它會將引號空字串轉換成 NULL。

content_encoding

text 檔案所用的編碼名稱。 若省略此選項,則會使用目前的用戶端編碼。

傳回類型

jsonb

azure_storage.options_parquet

用於解碼 Parquet 檔案內容的實用函數。 在 中將其作為參數 blob_get使用。

azure_storage.options_parquet();

權限

任何使用者或角色都可以叫用此函式。

Arguments

傳回類型

jsonb

azure_storage.options_csv_get

用於解碼 CSV 檔案內容的工具函數。 將此函數稱為參數。blob_get

azure_storage.options_csv_get(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, header boolean DEFAULT NULL::boolean, quote text DEFAULT NULL::text, escape text DEFAULT NULL::text, force_not_null text[] DEFAULT NULL::text[], force_null text[] DEFAULT NULL::text[], content_encoding text DEFAULT NULL::text);

權限

任何使用者或角色都可以叫用此函式。

Arguments

分隔符號

text 用來分隔檔案每一列(行)欄位的字元。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY delimiter must be a single one-byte character 傳錯誤。

null_string

text 代表空值的字串。 預設值為文字格式的 \N (反斜杠-N),並以 CSV 格式加上未標記的空字串。 即使您不想區分 Null 與空字串的情況,您仍可能偏好使用文字格式的空字串。

標頭

boolean 旗標顯示檔案是否包含包含每一欄名稱的標頭行。 在輸出中,初始行包含數據表中的數據行名稱。

報價

text 引用字元,當資料值被引用時所用的字元。 預設值為雙引號。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY quote must be a single one-byte character 傳錯誤。

逃

text 應該出現在與 QUOTE 值相符的資料字元之前的字元。 默認值與 QUOTE 值相同(因此,如果引號字元出現在數據中,則會加倍)。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY escape must be a single one-byte character 傳錯誤。

force_not_null

text[] 不要將指定欄位的值與空字串相匹配。 在 Null 字串是空的預設值中,這表示空值會讀取為零長度字串,而不是 Null,即使未加上引號也一樣。

force_null

text[] 即使有引號,也要將指定的欄位值與空字串相匹配。 如果找到匹配,則將該值設為 NULL。 在 Null 字串是空的預設值中,它會將引號空字串轉換成 NULL。

content_encoding

text 檔案所用的編碼名稱。 若省略此選項,則會使用目前的用戶端編碼。

傳回類型

jsonb

azure_storage.options_tsv

用於解碼 TSV 檔案內容的實用函數。 將此函數稱為參數。blob_get

azure_storage.options_tsv(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, content_encoding text DEFAULT NULL::text);

權限

任何使用者或角色都可以叫用此函式。

Arguments

分隔符號

text 用來分隔檔案每一列(行)欄位的字元。 它必須是單一 1 位元組字元。 雖然此函式支援任意字元的分隔符,但若嘗試使用超過一個 1 位元組字元,PostgreSQL 會回 COPY delimiter must be a single one-byte character 傳錯誤。

null_string

text 代表空值的字串。 預設值為文字格式的 \N (反斜杠-N),並以 CSV 格式加上未標記的空字串。 即使您不想區分 Null 與空字串的情況,您仍可能偏好使用文字格式的空字串。

content_encoding

text 檔案所用的編碼名稱。 若省略此選項,則會使用目前的用戶端編碼。

傳回類型

jsonb

azure_storage.options_binary

你可以在 中呼叫作為參數 blob_get的效用函數。 它有助於解碼二進位檔案的內容。

azure_storage.options_binary(content_encoding text DEFAULT NULL::text);

權限

任何使用者或角色都可以叫用此函式。

Arguments

content_encoding

text 檔案所用的編碼名稱。 若省略此選項,則會使用目前的用戶端編碼。

傳回類型

jsonb