[英]psql copy from read data from script
我正在嘗試從PostgreSQL數據庫導出/導入一組表。
我正在從腳本的stdin
使用psql的copy from
。 我已經讀過數據(以前使用copy to
stdout
生成的數據)可以使用命令escape \\.
讀取和定界\\.
。
我從文檔中沒有清楚地知道如果\\.
會發生什么\\.
出現在以前導出的數據中。
具體來說, 文檔的這一部分(重點是我的部分)對此不太清楚。
對於
\\copy ... from stdin
發出命令的同一源讀取數據行, 一直到\\.
被讀取或流到達EOF。 此選項對於在SQL腳本文件中內聯填充表很有用。 對於\\copy ... to stdout
,輸出將發送到與psql命令輸出相同的位置,並且不會打印COPY count命令狀態(因為它可能與數據行混淆)。 要在不考慮當前命令源或\\ o選項的情況下讀/寫psql的標准輸入或輸出,請從pstdin或pstdout寫入。
可以/必須\\.
數據以某種方式逃脫了?
我目前正在使用utf8
編碼的text
格式進行導出/導入。
我想我在SQL COPY
命令的文檔中找到了相關信息(TEXT Format部分,再次強調我的):
數據結尾可以由僅包含反斜杠句點(
\\.
)的一行表示。 從文件讀取時,數據末尾標記不是必需的,因為文件末尾可以很好地工作。 僅在使用3.0之前的客戶端協議向客戶端應用程序復制數據或從客戶端應用程序復制數據時才需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.