pgloader - Trực tuyến trên đám mây

Đây là pgloader lệnh có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


trình tải pgloader - Bộ tải dữ liệu PostgreSQL

SYNOPSIS


pgloader [ ] [ ] ...
pgloader [ ] MỤC TIÊU NGUỒN

MÔ TẢ


pgloader tải dữ liệu từ nhiều nguồn khác nhau vào PostgreSQL. Nó có thể biến đổi dữ liệu nó
đọc nhanh và gửi SQL thô trước và sau khi tải. Nó sử dụng COPY
Giao thức PostgreSQL để truyền dữ liệu vào máy chủ và quản lý lỗi bằng cách điền vào
cặp từ chối.dattừ chối.log các tập tin.

pgloader hoạt động bằng cách sử dụng các lệnh được đọc từ các tệp:

lệnh pgloader.load

hoặc bằng cách sử dụng các đối số và tùy chọn được cung cấp trên dòng lệnh:

pgloader NGUỒN MỤC TIÊU

TRANH LUẬN


Các đối số của pgloader có thể là nhiều tệp tải nếu cần hoặc một vài kết nối
chuỗi vào một tệp đầu vào cụ thể.

SOURCE Liên kết STRING
Định dạng chuỗi kết nối nguồn như sau:

định dạng: ///absolute/path/to/file.ext
định dạng: //./relative/path/to/file.ext

Trong đó định dạng có thể là một trong những csv, cố định, bản sao, dbf, db3 or ixf.

db: // user: pass @ host: port / dbname

Db có thể ở đâu sqlite, mysql or mss.

Khi sử dụng định dạng nguồn dựa trên tệp, pgloader cũng hỗ trợ tìm nạp tệp nguyên bản
từ một vị trí http và giải nén một kho lưu trữ nếu cần. Trong trường hợp đó, nó là cần thiết
sử dụng --kiểu tùy chọn để chỉ định định dạng dự kiến ​​của tệp. Xem các ví dụ
phía dưới.

Cũng lưu ý rằng một số định dạng tệp yêu cầu mô tả một số chi tiết triển khai như
cột được đọc và dấu phân cách và trích dẫn khi tải từ csv.

Đối với các tình huống tải phức tạp hơn, bạn sẽ cần viết một lệnh tải chính thức đầy đủ trong
cú pháp được mô tả sau trong tài liệu này.

MỤC TIÊU Liên kết STRING
Định dạng chuỗi kết nối đích được mô tả chi tiết ở phần sau của tài liệu này, xem
Phần kết nối chuỗi.

LỰA CHỌN


YÊU CẦU LỰA CHỌN
Sử dụng các tùy chọn này khi bạn muốn biết thêm về cách sử dụng trình tải pgloader, như những tùy chọn đó
sẽ gây ra trình tải pgloader không tải bất kỳ dữ liệu nào.

-h, --Cứu giúp
Hiển thị tóm tắt sử dụng lệnh và thoát.

-V, --phiên bản
Hiển thị chuỗi phiên bản pgloader và thoát.

-E, - mã hóa danh sách
Liệt kê các mã hóa đã biết trong phiên bản pgloader này.

-U, --upgrade-config
Phân tích cú pháp các tệp đã cho trong dòng lệnh dưới dạng pgloader.conf các tập tin với KHỞI ĐẦU cú pháp
đã được sử dụng trong pgloader phiên bản 2.x và xuất ra cú pháp lệnh mới cho
pgloader trên đầu ra tiêu chuẩn.

CÁC VẤN ĐỀ CHUNG LỰA CHỌN
Những tùy chọn đó là để điều chỉnh trình tải pgloader hành vi khi tải dữ liệu.

-v, --dài dòng
Dài dòng.

-q, --Yên lặng
Hãy yên lặng.

-d, --gỡ lỗi
Hiển thị thông báo thông tin mức gỡ lỗi.

-D, --root-dir
Đặt thư mục làm việc gốc (mặc định thành "/ tmp / pgloader").

-L, --logfile
Đặt tệp nhật ký pgloader (mặc định thành "/tmp/pgloader.log").

--log-min-tin nhắn
Mức độ chi tiết tối thiểu cần thiết để thông báo nhật ký được đưa vào tệp nhật ký. Một trong
quan trọng, nhật ký, lỗi, cảnh báo, thông báo, thông tin hoặc gỡ lỗi.

--client-min-tin nhắn
Mức độ chi tiết tối thiểu cần thiết để thông báo nhật ký được đưa vào bảng điều khiển. Một trong
quan trọng, nhật ký, lỗi, cảnh báo, thông báo, thông tin hoặc gỡ lỗi.

-S, --tóm lược
Tên tệp nơi để sao chép kết quả tóm tắt. Khi tương đối, tên tệp là
mở rộng thành * root-dir *.

Định dạng của tên tệp được mặc định là Nhân loại có thể đọc được. Có thể có
đầu ra ở các định dạng thân thiện với máy như CSV, COPY (BẢN SAO riêng của PostgreSQL
định dạng) hoặc JSON bằng cách chỉ định tên tệp với phần mở rộng tương ứng. . Csv, .bản sao or
.json.

-l , --load-lisp-tệp
Chỉ định ngọng hồ sơ để biên dịch và tải vào hình ảnh pgloader trước khi đọc
lệnh, cho phép xác định chức năng biến đổi phụ. Những chức năng đó nên
được định nghĩa trong pgloader.transforms Bưu kiện. Tùy chọn này có thể xuất hiện nhiều hơn
một lần trong dòng lệnh.

- tự nâng cấp :

Chỉ định một thư mục tìm nguồn pgloader ở đâu để một trong những nguồn đầu tiên
những thứ nó làm là tự động tải vào (và biên dịch sang mã máy) khác
phiên bản của chính nó, thường là một phiên bản mới hơn như kiểm tra git gần đây.

COMMAND ĐƯỜNG DÂY CHỈ HOẠT ĐỘNG
Các tùy chọn đó được sử dụng khi sử dụng trình tải pgloader chỉ từ dòng lệnh, thay vì
so với việc sử dụng một tệp lệnh và các mệnh đề lệnh phong phú và trình phân tích cú pháp. Trong những trường hợp đơn giản, nó có thể
dễ dàng hơn nhiều để sử dụng SOURCEMỤC TIÊU trực tiếp trên dòng lệnh, sau đó tinh chỉnh
tải với các tùy chọn đó:

· --với "Lựa chọn":

Cho phép thiết lập các tùy chọn từ dòng lệnh. Bạn có thể sử dụng tùy chọn đó bao nhiêu lần
bạn muốn. Các đối số tùy chọn phải tuân theo CÙNG VỚI mệnh đề cho loại nguồn của
SOURCE đặc điểm kỹ thuật, như được mô tả sau trong tài liệu này.

· --bộ "guc_name = ´value´"

Cho phép thiết lập cấu hình PostgreSQL từ dòng lệnh. Lưu ý rằng tùy chọn
phân tích cú pháp giống như khi được sử dụng từ SET mệnh đề lệnh, cụ thể là bạn phải
đặt giá trị guc bằng dấu ngoặc kép.

· --đồng ruộng "..."

Cho phép đặt định nghĩa trường nguồn. Các trường được tích lũy theo thứ tự trên
dòng lệnh. Có thể sử dụng một --đồng ruộng tùy chọn cho mỗi trường trong nguồn
hoặc để phân tách các định nghĩa trường bằng dấu phẩy, như bạn sẽ làm trong ĐANG CÓ
LĨNH VỰC mệnh đề.

· --dàn diễn viên "..."

Cho phép đặt quy tắc truyền cụ thể để tải dữ liệu.

· --kiểu csv | fixed | db3 | ixf | sqlite | mysql | mssql

Cho phép buộc loại nguồn, trong trường hợp khi SOURCE phân tích cú pháp không thỏa mãn.

· - mã hóa

Đặt mã hóa của tệp nguồn để tải dữ liệu từ đó.

· --trước

Phân tích cú pháp tên tệp đã cho cho các truy vấn SQL và chạy chúng với cơ sở dữ liệu đích trước đó
tải dữ liệu từ nguồn. Các truy vấn được phân tích cú pháp bởi chính pgloader: chúng cần
được kết thúc bằng dấu chấm phẩy (;) và tệp có thể bao gồm \i or \ ir lệnh cho
bao gồm một tập tin khác.

· --sau

Phân tích cú pháp tên tệp đã cho cho các truy vấn SQL và chạy chúng trên cơ sở dữ liệu đích sau
đã tải dữ liệu từ nguồn. Các truy vấn được phân tích cú pháp giống như với
các --trước tùy chọn, xem ở trên.

MORE DEBUG THÔNG TIN
Để nhận được lượng thông tin gỡ lỗi tối đa, bạn có thể sử dụng cả --dài dòng
--gỡ lỗi chuyển đổi đồng thời, tương đương với việc nói --client-min-tin nhắn
dữ liệu. Sau đó, thông báo nhật ký sẽ hiển thị dữ liệu đang được xử lý, trong trường hợp
mã có hỗ trợ rõ ràng cho nó.

SỬ DỤNG VÍ DỤ


Xem lại các tùy chọn dòng lệnh và phiên bản của pgloader:

pgloader --trợ giúp
pgloader - phiên bản

Tải từ a phức tạp lệnh
Sử dụng tệp lệnh làm đối số lệnh pgloader, pgloader sẽ phân tích cú pháp tệp đó và
thực hiện các lệnh được tìm thấy trong đó:

pgloader --verbose ./test/csv-districts.load

CSV
Tải dữ liệu từ tệp CSV vào một bảng có sẵn trong cơ sở dữ liệu của bạn:

pgloader --type csv
--trường id --trường trường
--với cắt ngắn
--với "các trường kết thúc bởi ´,´"
./test/data/matching-1.csv
postgres: /// pgloader? tablename = match

Trong ví dụ đó, toàn bộ quá trình tải được điều khiển từ dòng lệnh, bỏ qua nhu cầu
viết một lệnh hoàn toàn theo cú pháp lệnh pgloader. Vì không có lệnh nào,
thông tin bổ sung cần thiết phải được cung cấp trên dòng lệnh bằng cách sử dụng --kiểu
--đồng ruộng--với thiết bị chuyển mạch.

Để có tài liệu về các cú pháp có sẵn cho --đồng ruộng--với công tắc, làm ơn
tham khảo phần CSV sau này trong trang người đàn ông.

Cũng lưu ý rằng URI PostgreSQL bao gồm mục tiêu bảng tên.

Reading từ STDIN
Các nguồn pgloader dựa trên tệp có thể được tải từ đầu vào chuẩn, như sau
thí dụ:

pgloader --type csv
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong"
--với "bỏ qua tiêu đề = 1"
--với "các trường bị chấm dứt bởi ´\t´"
-
postgresql: /// pgloader? district_longlat
<test / data / 2013_Gaz_113CDs_national.txt

Dấu gạch ngang (-) ký tự như một nguồn được sử dụng để có nghĩa là Tiêu chuẩn đầu vào, như thường lệ trong Unix
các dòng lệnh. Có thể truyền trực tuyến nội dung đã nén tới pgloader bằng kỹ thuật này,
sử dụng ống Unix:

nguồn gunzip -c.gz | pgloader --type csv ... - pgsql: /// target? foo

Tải từ CSV có sẵn thông qua HTTP
Cũng có thể chạy lệnh tương tự như trên nếu tệp CSV tình cờ được tìm thấy trên
vị trí HTTP từ xa:

pgloader --type csv
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong"
--với "bỏ qua tiêu đề = 1"
--với "các trường bị chấm dứt bởi ´\t´"
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt
postgresql: /// pgloader? district_longlat

Một số tùy chọn khác phải được sử dụng trong trường hợp đó, vì tệp chứa tiêu đề một dòng
(phổ biến nhất là tên cột đó, có thể là thông báo bản quyền). Ngoài ra, trong trường hợp đó, chúng tôi
chỉ định tất cả các trường thành một trường duy nhất --đồng ruộng đối số tùy chọn.

Một lần nữa, chuỗi kết nối đích PostgreSQL phải chứa bảng tên tùy chọn và bạn
phải đảm bảo rằng bảng đích tồn tại và có thể phù hợp với dữ liệu. Đây là lệnh SQL
được sử dụng trong ví dụ đó trong trường hợp bạn muốn tự mình thử:

tạo bảng District_longlat
(
văn bản sử dụng,
văn bản geoid,
aland bigint,
bigint nước,
độ chính xác kép aland_sqmi,
độ chính xác kép awater_sqmi,
độ chính xác kép intptlat,
độ chính xác gấp đôi intptlong
);

Cũng lưu ý rằng lệnh tương tự sẽ hoạt động với phiên bản được lưu trữ của cùng một dữ liệu,
ví dụ http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.

Cuối cùng, điều quan trọng cần lưu ý là pgloader trước tiên tìm nạp nội dung từ URL HTTP
nó thành một tệp cục bộ, sau đó mở rộng kho lưu trữ khi nó được công nhận là một và chỉ sau đó
xử lý tệp được mở rộng cục bộ.

Trong một số trường hợp, do pgloader không hỗ trợ trực tiếp cho định dạng lưu trữ của bạn hoặc
có thể vì việc mở rộng kho lưu trữ không khả thi trong môi trường của bạn, bạn có thể muốn
dòng nội dung trực tiếp từ vị trí từ xa của nó vào PostgreSQL. Đây là cách làm
đó, sử dụng thủ thuật Unix Pipes đã được thử nghiệm trong trận chiến cũ:

quăn lại http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz
| súng zip -c
| pgloader --type csv
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong"
--với "bỏ qua tiêu đề = 1"
--với "các trường bị chấm dứt bởi ´\t´"
-
postgresql: /// pgloader? district_longlat

Giờ đây, hệ điều hành sẽ xử lý việc truyền phát và lưu vào bộ đệm giữa mạng và
lệnh và pgloader sẽ đảm nhiệm việc truyền dữ liệu xuống PostgreSQL.

Di chuyển từ SQLite
Lệnh sau sẽ mở cơ sở dữ liệu SQLite, khám phá các định nghĩa bảng của nó
bao gồm các chỉ mục và khóa ngoại, di chuyển các định nghĩa đó trong khi đúc kiểu dữ liệu
các thông số kỹ thuật tương đương với PostgreSQL của chúng và sau đó di chuyển dữ liệu qua:

createb newdb
pgloader ./test/sqlite/sqlite.db postgresql: /// newdb

Di chuyển từ MySQL
Chỉ cần tạo một cơ sở dữ liệu nơi lưu trữ dữ liệu và định nghĩa MySQL và nhờ pgloader thực hiện
di chuyển cho bạn trong một dòng lệnh duy nhất:

trang tạob
pgloader mysql: // user @ localhost / sakila postgresql: /// pagila

Tìm nạp an lưu trữ dbf hồ sơ từ a HTTP xa địa điểm thư viện nào
Pgloader có thể tải xuống tệp từ HTTP, hủy lưu trữ và chỉ sau đó mở
nó để khám phá lược đồ sau đó tải dữ liệu:

createb foo
pgloader --type dbf http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip postgresql: /// foo

Ở đây, pgloader không thể đoán loại nguồn dữ liệu mà nó đang được cung cấp, vì vậy
nó là cần thiết để sử dụng --kiểu chuyển đổi dòng lệnh.

TRÒ CHUYỆN Thử lại HÀNH VI


Để tải dữ liệu vào PostgreSQL, pgloader sử dụng COPY giao thức phát trực tuyến. Trong khi đây là
cách nhanh hơn để tải dữ liệu, COPY có một nhược điểm quan trọng: ngay sau khi PostgreSQL phát ra một
lỗi với bất kỳ bit dữ liệu nào được gửi đến nó, bất kể vấn đề là gì, toàn bộ tập dữ liệu là
bị từ chối bởi PostgreSQL.

Để giải quyết vấn đề đó, pgloader cắt dữ liệu thành 25000 hàng mỗi hàng, để khi
một vấn đề xảy ra nó chỉ ảnh hưởng đến nhiều hàng dữ liệu. Mỗi lô được lưu giữ trong bộ nhớ
trong khi COPY phát trực tuyến xảy ra, để có thể xử lý các lỗi nếu một số xảy ra.

Khi PostgreSQL từ chối toàn bộ lô, pgloader ghi lại thông báo lỗi sau đó cô lập
(các) hàng không hợp lệ từ những hàng được chấp nhận bằng cách thử lại các hàng theo lô trong các lô nhỏ hơn. Làm
đó, pgloader phân tích cú pháp BỐI CẢNH thông báo lỗi từ SAO CHÉP không thành công, là thông báo
chứa số dòng nơi lỗi được tìm thấy trong lô, như sau
thí dụ:

CONTEXT: Lỗi SAO CHÉP, dòng 3, cột b: "2006-13-11"

Sử dụng thông tin đó, pgloader sẽ tải lại tất cả các hàng trong lô trước khi có lỗi
một, ghi lại lỗi sai là bị từ chối, sau đó thử tải phần còn lại của lô trong một
một lần thử, có thể có hoặc không có dữ liệu sai khác.

Khi kết thúc quá trình tải có các hàng bị từ chối, bạn sẽ tìm thấy hai tệp trong thư mục gốc
vị trí, trong một thư mục có tên giống với cơ sở dữ liệu đích của thiết lập của bạn. Các
tên tệp là bảng mục tiêu và phần mở rộng của chúng là .dat cho dữ liệu bị từ chối và
.log cho tệp chứa nhật ký phía máy khách PostgreSQL đầy đủ về dữ liệu bị từ chối.

Sản phẩm .dat tệp được định dạng trong PostgreSQL, định dạng COPY văn bản như được tài liệu trong
http://www.postgresql.org/docs/9.2/static/sql-copy.html# AEN66609.

A LƯU Ý VỀ(ABOUT) THỰC HIỆN


pgloader đã được phát triển với tính năng biểu diễn, để có thể đối phó với
nhu cầu ngày càng tăng trong việc tải một lượng lớn dữ liệu vào PostgreSQL.

Kiến trúc cơ bản mà nó sử dụng là mô hình ống Unix cũ, nơi một luồng chịu trách nhiệm
để tải dữ liệu (đọc tệp CSV, truy vấn MySQL, v.v.) và điền vào xử lý trước
dữ liệu vào một hàng đợi. Một chuỗi khác cung cấp nguồn cấp dữ liệu từ hàng đợi, áp dụng thêm một số biến đổi
đến dữ liệu đầu vào và truyền kết quả cuối cùng tới PostgreSQL bằng giao thức COPY.

Khi được cung cấp một tệp mà PostgreSQL COPY lệnh biết cách phân tích cú pháp và nếu tệp
không chứa dữ liệu sai sót, khi đó pgloader sẽ không bao giờ nhanh như chỉ sử dụng
PostgreSQL COPY chỉ huy.

Lưu ý rằng trong khi COPY lệnh bị hạn chế đọc từ đầu vào tiêu chuẩn của nó hoặc
từ một tệp cục bộ trên hệ thống tệp của máy chủ, công cụ dòng lệnh psql thực hiện một
\ copy lệnh biết cách truyền tệp cục bộ tới máy khách qua mạng và
vào máy chủ PostgreSQL, sử dụng giao thức giống như cách sử dụng pgloader.

SOURCE M FORU ĐƠN


pgloader hỗ trợ các định dạng đầu vào sau:

· Csv, bao gồm cả tsv và các biến thể phổ biến khác, nơi bạn có thể thay đổi
phân cáchtrích dẫn quy tắc và làm thế nào để thoát các dấu ngoặc kép chúng tôi;

· Tệp cột cố định, trong đó pgloader đủ linh hoạt để chứa các tệp nguồn
cột bị thiếu (rách rưới cố định chiều dài cột các tập tin tồn tại);

· Các tệp được định dạng PostgreSLQ COPY, tuân theo tài liệu COPY TEXT của PostgreSQL,
chẳng hạn như các tệp từ chối do pgloader chuẩn bị;

· Các tệp dbase được gọi là tệp db3 hoặc dbf;

· Tập tin định dạng ixf, ixf là định dạng lưu trữ nhị phân của IBM;

· Cơ sở dữ liệu sqlite với sự khám phá hoàn toàn tự động của lược đồ và các quy tắc truyền nâng cao;

· Cơ sở dữ liệu mysql với sự khám phá hoàn toàn tự động của lược đồ và các quy tắc truyền nâng cao;

· Cơ sở dữ liệu MS SQL với khả năng khám phá lược đồ hoàn toàn tự động và các quy tắc ép kiểu nâng cao.

PGLOADER HÀNG TỔNG HỢP


pgloader triển khai Ngôn ngữ dành riêng cho miền cho phép thiết lập tải dữ liệu phức tạp
tập lệnh xử lý các cột được tính toán và làm sạch dữ liệu đầu vào một cách nhanh chóng. Để biết thêm
các tình huống tải dữ liệu phức tạp, bạn sẽ được yêu cầu học cú pháp của DSL. Nó là
có nghĩa là trông quen thuộc với DBA bằng cách lấy cảm hứng từ SQL nơi nó có ý nghĩa, điều này không
nhiều như vậy sau khi tất cả.

Các lệnh pgloader tuân theo các quy tắc ngữ pháp toàn cục giống nhau. Mỗi người trong số họ có thể hỗ trợ
chỉ một tập hợp con của các tùy chọn chung và cung cấp các tùy chọn cụ thể.

TRỌNG TẢI
TỪ [CÓ LĨNH VỰC ]
VÀO TRONG [CỘT MỤC TIÊU ]

[ VỚI ]

[ BỘ ]

[TRƯỚC KHI TẢI [LÀM | HÀNH HÌNH ] ...]
[SAU KHI TẢI [LÀM | HÀNH HÌNH ] ...]
;

Các mệnh đề chính là TẢI, TỪ, VÀOCÙNG VỚI mệnh đề mà mỗi lệnh thực hiện.
Một số lệnh sau đó triển khai SET lệnh hoặc một số mệnh đề cụ thể như CAST
mệnh đề.

CHUNG ĐIỀU KHOẢN


Một số mệnh đề chung cho tất cả các lệnh:

· TỪ

Sản phẩm TỪ mệnh đề chỉ định nơi đọc dữ liệu và mỗi lệnh giới thiệu
biến thể riêng của các nguồn. Ví dụ, CSV nguồn hỗ trợ nội tuyến, tiêu chuẩn, Một
tên tệp, tên tệp được trích dẫn và TÊN TỆP TRẬN ĐẤU mệnh đề (xem ở trên); trong khi
MySQL nguồn chỉ hỗ trợ đặc tả URI cơ sở dữ liệu MySQL.

Trong mọi trường hợp, TỪ mệnh đề có thể đọc giá trị của nó từ một biến môi trường
khi sử dụng biểu mẫu GETENV 'tên biến thể'.

· VÀO

URI kết nối PostgreSQL phải chứa tên của bảng đích nơi tải
dữ liệu vào. Bảng đó phải đã được tạo trong PostgreSQL và tên
có thể đủ điều kiện giản đồ.

Sản phẩm VÀO URI kết nối cơ sở dữ liệu đích có thể được phân tích cú pháp từ giá trị của một môi trường
biến khi sử dụng biểu mẫu GETENV 'tên biến thể'.

Sau đó VÀO tùy chọn cũng hỗ trợ danh sách các cột mục tiêu được phân tách bằng dấu phẩy tùy chọn,
đó là tên của một đầu vào lĩnh vực hoặc danh sách được phân tách bằng khoảng trắng của
tên cột mục tiêu, kiểu dữ liệu PostgreSQL của nó và SỬ DỤNG biểu hiện.

Sản phẩm SỬ DỤNG biểu thức có thể là bất kỳ biểu mẫu Common Lisp hợp lệ nào và sẽ được đọc với
gói hiện tại được đặt thành pgloader.transformsđể bạn có thể sử dụng các hàm được định nghĩa trong
gói đó, chẳng hạn như các chức năng được tải động với --trọng tải dòng lệnh
tham số.

Mỗi trang web SỬ DỤNG biểu thức được biên dịch trong thời gian chạy sang mã gốc.

Tính năng này cho phép pgloader tải bất kỳ số lượng trường nào trong tệp CSV vào một
có thể có số lượng cột khác nhau trong cơ sở dữ liệu, sử dụng mã tùy chỉnh cho điều đó
hình chiếu.

· CÙNG VỚI

Tập hợp các tùy chọn để áp dụng cho lệnh, sử dụng cú pháp chung của một trong hai:

· chính = giá trị

· sử dụng tùy chọn

· do không sử dụng tùy chọn

Xem từng lệnh cụ thể để biết chi tiết.

· SET

Mệnh đề này cho phép chỉ định các tham số phiên được đặt cho tất cả các phiên đã mở
bởi pgloader. Nó mong đợi một danh sách tên tham số, dấu bằng, sau đó
giá trị được trích dẫn đơn dưới dạng danh sách được phân tách bằng dấu phẩy.

Tên và giá trị của các tham số không được xác thực bởi pgloader, chúng được cung cấp
tương tự như PostgreSQL.

· TRƯỚC KHI TẢI DO

Bạn có thể chạy các truy vấn SQL dựa trên cơ sở dữ liệu trước khi tải dữ liệu từ CSV
tập tin. Hầu hết các truy vấn SQL phổ biến là TẠO NÊN BẢNG IF KHÔNG TỒN TẠI để dữ liệu có thể
nạp vào.

Mỗi lệnh phải được báo giá bằng đô la: nó phải bắt đầu và kết thúc bằng một ký hiệu đô la kép,
$$. Các truy vấn được trích dẫn bằng đô la sau đó được phân tách bằng dấu phẩy. Không có dấu câu thừa được mong đợi
sau truy vấn SQL cuối cùng.

· TRƯỚC KHI TẢI HÀNH HÌNH

Hành vi tương tự như trong TRƯỚC KHI TẢI DO mệnh đề. Cho phép bạn đọc các truy vấn SQL
từ một tệp SQL. Triển khai hỗ trợ cho báo giá đô la PostgreSQL và \i\ ir
bao gồm các cơ sở như trong psql chế độ hàng loạt (nơi chúng giống nhau).

· SAU TẢI DO

Định dạng giống như TRƯỚC KHI TẢI DO, các truy vấn được trích dẫn bằng đô la được tìm thấy trong phần đó là
được thực hiện sau khi tải xong. Đó là thời điểm thích hợp để tạo chỉ mục và
hạn chế hoặc kích hoạt lại trình kích hoạt.

· SAU TẢI HÀNH HÌNH

Hành vi tương tự như trong SAU TẢI DO mệnh đề. Cho phép bạn đọc các truy vấn SQL từ
một tệp SQL. Triển khai hỗ trợ cho báo giá đô la PostgreSQL và \i\ ir
bao gồm các cơ sở như trong psql chế độ hàng loạt (nơi chúng giống nhau).

Kết nối Chuỗi
Sản phẩm tham số dự kiến ​​sẽ được cung cấp dưới dạng Kết nối URI như tài liệu
trong tài liệu PostgreSQL tại
http://www.postgresql.org/docs/9.3/static/libpq-connect.html# LIBPQ-CONNSTRING.

postgresql: // [user [: password] @] [netloc] [: port] [/ dbname] [? option = value & ...]

Địa điểm:

· người sử dụng

Có thể chứa bất kỳ ký tự nào, kể cả dấu hai chấm (:) sau đó phải được nhân đôi (::) Và
dấu tại (@) sau đó phải được nhân đôi (@@).

Khi bị bỏ qua, người sử dụng tên mặc định thành giá trị của NGƯỜI DÙNG biến môi trường,
và nếu nó không được đặt, giá trị của USER biến môi trường.

· mật khẩu

Có thể chứa bất kỳ ký tự nào, bao gồm cả dấu tại (@) sau đó phải được nhân đôi (@@).
Để trống mật khẩu, khi người sử dụng tên kết thúc bằng dấu, sau đó bạn phải
sử dụng cú pháp người dùng: @.

Khi bị bỏ qua, mật khẩu mặc định giá trị của PGPMật khẩu môi trường
nếu nó được đặt, nếu không, mật khẩu không được đặt.

· netloc

Có thể là tên máy chủ trong ký hiệu chấm hoặc ipv4 hoặc ổ cắm miền Unix
con đường. Rỗng là vị trí mạng mặc định, trong một hệ thống cung cấp unix miền
ổ cắm phương pháp đó được ưu tiên, nếu không netloc mặc định là localhost.

Có thể buộc unix miền ổ cắm đường dẫn bằng cách sử dụng cú pháp
unix: / path / to / where / the / socket / file / is, do đó, để buộc một đường dẫn socket không phải mặc định và
cổng không mặc định, bạn sẽ có:

postgresql: // unix:/ Tmp: 54321 / dbname

Sản phẩm netloc mặc định giá trị của PGHOST biến môi trường và nếu nó chưa được đặt,
thành mặc định unix đường dẫn socket khi chạy trên hệ thống Unix và localhost
nếu không thì.

· tên cơ sở dữ liệu

Phải là một số nhận dạng thích hợp (chữ cái theo sau là sự kết hợp của các chữ cái, chữ số và
dấu chấm câu dấu phẩy (,), dấu gạch ngang (-) và gạch dưới (_).

Khi bị bỏ qua, tên cơ sở dữ liệu mặc định là giá trị của biến môi trường cơ sở dữ liệu PG,
và nếu điều đó chưa được đặt, thì người sử dụng giá trị như đã xác định ở trên.

· lựa chọn

Các tham số tùy chọn phải được cung cấp cùng với biểu mẫu tên = giá trị, và bạn có thể sử dụng
một số tham số bằng cách tách chúng ra bằng cách sử dụng dấu và (&) tính cách.

Chỉ một số tùy chọn được hỗ trợ ở đây, bảng tên (có thể đủ điều kiện với
tên giản đồ) sslmode, chủ nhà, cổng, tên cơ sở dữ liệu, người sử dụngmật khẩu.

Sản phẩm sslmode giá trị tham số có thể là một trong số vô hiệu hóa, cho phép, thích hơn or yêu cầu.

Vì lý do tương thích ngược, có thể chỉ định bảng tên tùy chọn
trực tiếp, không đánh vần tên bảng = các bộ phận.

Các tùy chọn ghi đè các thành phần URI chính khi cả hai đều được cung cấp và sử dụng
các tham số tùy chọn được mã hóa theo phần trăm cho phép sử dụng mật khẩu bắt đầu bằng dấu hai chấm và
bỏ qua các giới hạn phân tích cú pháp các thành phần URI khác.

Đều đặn Biểu thức
Một số điều khoản được liệt kê trong chấp nhận sau đều đặn biểu thức với những điều sau đây
quy tắc đầu vào:

· Một biểu thức chính quy bắt đầu bằng dấu ngã (~),

· Sau đó được theo sau với một dấu hiệu mở đầu,

· Thì bất kỳ ký tự nào cũng được phép và được coi là một phần của biểu thức chính quy, ngoại trừ
cho dấu hiệu đóng cửa,

· Thì một dấu hiệu đóng cửa được mong đợi.

Dấu hiệu mở và đóng cửa được phép theo cặp, đây là danh sách đầy đủ các dấu hiệu được phép
dấu phân cách:

~ //
~ []
~ {}
~ ()
~ <>
~ ""
~ ´´
~ ||
~ ##

Chọn tập hợp các dấu phân cách không va chạm với đều đặn biểu hiện bạn đang cố gắng
đầu vào. Nếu biểu thức của bạn đến mức không có giải pháp nào cho phép bạn nhập biểu thức đó, thì
những nơi cho phép các biểu thức như vậy sẽ cho phép có một danh sách các biểu thức.

Nhận xét
Bất kỳ lệnh nào cũng có thể chứa các chú thích, tuân theo các quy tắc nhập sau:

· NS -- dấu phân cách bắt đầu một nhận xét kết thúc bằng cuối dòng hiện tại,

· Các dấu phân cách /**/ tương ứng bắt đầu và kết thúc một nhận xét, có thể được tìm thấy trong
giữa một lệnh hoặc kéo dài một số dòng.

Bất kỳ nơi nào bạn có thể vào khoảng trắng cũng sẽ chấp nhận một bình luận.

Hàng loạt hành vi lựa chọn
Tất cả các lệnh pgloader đều có hỗ trợ CÙNG VỚI mệnh đề cho phép xác định các tùy chọn.
Một số tùy chọn là chung và được chấp nhận bởi tất cả các lệnh, chẳng hạn như hàng loạt hành vi
lựa chọnvà một số tùy chọn dành riêng cho một loại nguồn dữ liệu, chẳng hạn như CSV bỏ qua cú đội đầu
tùy chọn.

Các tùy chọn hành vi hàng loạt toàn cầu là:

· hàng loạt hàng

Lấy một giá trị số làm đối số, được sử dụng làm số hàng tối đa được phép trong một
lô hàng. Mặc định là 25 000 và có thể được thay đổi để cố gắng có màn trình diễn tốt hơn
đặc điểm hoặc để kiểm soát việc sử dụng bộ nhớ pgloader;

· hàng loạt kích thước

Lấy một đơn vị bộ nhớ làm đối số, chẳng hạn như 20 MB, giá trị mặc định của nó. Đã được chấp nhận
số nhân là kB, MB, GB, TBPB. Trường hợp là quan trọng để không bị nhầm lẫn
về bit so với byte, chúng ta chỉ nói về byte ở đây.

· hàng loạt đồng thời

Lấy một giá trị số làm đối số, mặc định là 10. Đó là số lô
pgloader được phép tạo trong bộ nhớ, ngay cả khi chỉ có một lô duy nhất tại một thời điểm
được gửi đến PostgreSQL.

Hỗ trợ nhiều hơn một lô duy nhất được gửi cùng một lúc nằm trong danh sách CẦN LÀM của
pgloader, nhưng chưa được triển khai. Tùy chọn này là để kiểm soát bộ nhớ
nhu cầu của pgloader như một sự cân bằng với các đặc tính của màn trình diễn, chứ không phải về
hoạt động song song của pgloader.

Các tùy chọn khác dành riêng cho từng nguồn đầu vào, vui lòng tham khảo các phần cụ thể của
tài liệu cho danh sách và bao gồm của họ.

Một lô sau đó được đóng ngay khi hàng loạt hàng hoặc là hàng loạt kích thước ngưỡng là
vượt qua, tùy điều kiện nào đến trước. Trong trường hợp một lô phải được đóng lại vì
hàng loạt kích thước thiết lập, một gỡ lỗi thông báo nhật ký cấp được in với số lượng hàng vừa với
quá khổ lô hàng.

TẢI CSV


Lệnh này hướng dẫn pgloader tải dữ liệu từ CSV tập tin. Đây là một ví dụ:

TẢI CSV
FROM ´GeoLiteCity-Blocks.csv´ VỚI THƯỞNG THỨC iso-646-us
CÓ LĨNH VỰC
(
startIpNum, endIpNum, locId
)
VÀO postgresql: // user @ localhost: 54393 / dbname? Geolite.blocks
CỘT MỤC TIÊU
(
iprange ip4r sử dụng (ip-range startIpNum endIpNum),
locId
)
CÓ cắt ngắn,
bỏ qua tiêu đề = 2,
các trường tùy chọn được bao bởi ´ "´,
các trường được thoát bằng dấu gạch chéo ngược,
các trường kết thúc bởi ´ \ t´

SET work_mem thành ´32 MB´, Maint_work_mem thành ´64 MB´;

Sản phẩm csv lệnh format chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp nơi tải dữ liệu từ đó. Chấp nhận một THƯỞNG THỨC Lựa chọn. Sử dụng
- mã hóa danh sách tùy chọn để biết tên mã hóa nào được hỗ trợ.

Tên tệp có thể được bao bằng dấu ngoặc kép và có thể là một trong những tên sau
giá trị đặc biệt:

· nội tuyến

Dữ liệu được tìm thấy sau khi kết thúc các lệnh đã phân tích cú pháp. Bất kỳ số dòng trống nào
giữa phần cuối của các lệnh và phần đầu của dữ liệu được chấp nhận.

· tiêu chuẩn

Đọc dữ liệu từ luồng đầu vào tiêu chuẩn.

· PHIM TRẬN ĐẤU

Toàn bộ phù hợp mệnh đề phải tuân theo quy tắc sau:

[TẤT CẢ CÁC PHIM | [FIRST] FILENAME]
TRẬN ĐẤU regexp
[TRONG CHỈ ĐẠO ´ ... ´]

Sản phẩm phù hợp điều khoản áp dụng cho trước đều đặn biểu hiện (xem ở trên để biết cú pháp chính xác, một số
tùy chọn có thể được sử dụng ở đây) cho tên tệp. Sau đó, chỉ có thể tải dữ liệu từ
trận đấu đầu tiên của tất cả chúng.

Tùy chọn IN MỤC mệnh đề cho phép chỉ định thư mục nào để đi bộ để tìm
tệp dữ liệu và có thể liên quan đến nơi tệp lệnh được đọc từ đó, hoặc
tuyệt đối. Thư mục đã cho phải tồn tại.

Sản phẩm TỪ tùy chọn cũng hỗ trợ danh sách được phân tách bằng dấu phẩy tùy chọn lĩnh vực tên mô tả
những gì được mong đợi trong CSV tệp dữ liệu, được giới thiệu tùy chọn bởi mệnh đề ĐANG CÓ LĨNH VỰC.

Mỗi tên trường có thể chỉ là một tên hoặc một tên theo sau với trình đọc cụ thể
các tùy chọn cho trường đó, được đặt trong dấu ngoặc vuông và được phân tách bằng dấu phẩy. Được hỗ trợ
các tùy chọn trình đọc trên mỗi trường là:

· chấm dứt by

Xem mô tả của lĩnh vực chấm dứt by phía dưới.

Việc xử lý tùy chọn này hiện không được triển khai.

· ngày định dạng

Khi trường được mong đợi là loại ngày, thì tùy chọn này cho phép chỉ định
định dạng ngày tháng được sử dụng trong tệp.

Chuỗi định dạng ngày là các chuỗi mẫu được mô hình hóa dựa trên PostgreSQL to_char
hỗ trợ chuỗi mẫu, giới hạn ở các mẫu sau:

· YYYY, YYY, YY cho phần của năm

· MM cho phần tháng số

· DD cho phần ngày số

· HH, HH12, HH24 cho phần giờ

· Sáng, sáng, sáng, sáng

· Pm, PM, pm, PM

· MI cho phần phút

· SS cho phần giây

· MS cho phần mili giây (4 chữ số)

· US cho phần micro giây (6 chữ số)

· Các dấu câu chưa phân tích: -. * # @ T / \ và dấu cách

Đây là một ví dụ về một ngày định dạng đặc điểm kỹ thuật:

tên cột [định dạng ngày ´YYYY-MM-DD HH24-MI-SS.US´]

· vô giá trị if

Tùy chọn này nhận đối số là từ khóa khoảng trống hoặc một dấu ngoặc kép
chuỗi.

Thời Gian khoảng trống được sử dụng và giá trị trường được đọc chỉ chứa các ký tự khoảng trắng,
sau đó nó sẽ tự động được chuyển đổi thành SQL NULL giá trị.

Khi một chuỗi được trích dẫn kép được sử dụng và chuỗi đó được đọc dưới dạng giá trị trường, thì
giá trị trường được tự động chuyển đổi thành SQL NULL giá trị.

· tỉa cả hai khoảng trắng, tỉa trái khoảng trắng, tỉa ngay khoảng trắng

Tùy chọn này cho phép cắt bỏ khoảng trắng trong dữ liệu đã đọc, từ cả hai phía của
dữ liệu, hoặc chỉ các ký tự khoảng trắng được tìm thấy ở bên trái của luồng hoặc chỉ
những người ở bên phải của chuỗi.

· CÙNG VỚI

Khi tải từ một CSV tệp, các tùy chọn sau được hỗ trợ:

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một CẮT CẮT lệnh chống lại PostgreSQL
bảng mục tiêu trước khi đọc tệp dữ liệu.

· rơi vãi chỉ số

Khi tùy chọn này được liệt kê, pgloader gặp sự cố Thả INDEX lệnh chống lại tất cả
các chỉ mục được xác định trên bảng đích trước khi sao chép dữ liệu, sau đó TẠO NÊN INDEX
lệnh một khi COPY đã xong.

Để có được hiệu suất tốt nhất có thể, tất cả các chỉ mục được tạo trong
song song và khi hoàn tất, các khóa chính được tạo lại từ các chỉ mục duy nhất chỉ
tạo. Quy trình hai bước này cho phép tạo chỉ mục khóa chính song song với
các chỉ mục khác, như chỉ THAY ĐỔI BẢNG lệnh cần một truy cập độc quyền khóa on
bảng mục tiêu.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· bỏ qua cú đội đầu

Lấy một giá trị số làm đối số. Hướng dẫn pgloader bỏ qua nhiều dòng đó tại
đầu của tệp đầu vào.

· csv cú đội đầu

Sử dụng dòng đầu tiên đọc sau bỏ qua cú đội đầu như danh sách các tên trường csv được tìm thấy
trong tệp CSV, sử dụng các thông số CSV giống như đối với dữ liệu CSV.

· tỉa không được trích dẫn khoảng trống

Khi đọc các giá trị không được trích dẫn trong CSV tệp, loại bỏ các khoảng trống được tìm thấy ở giữa
dấu phân cách và giá trị. Hành vi đó là mặc định.

· giữ không được trích dẫn khoảng trống

Khi đọc các giá trị không được trích dẫn trong CSV tệp, giữ khoảng trống được tìm thấy ở giữa
dấu phân cách và giá trị.

· các lĩnh vực tùy chọn kèm by

Lấy một ký tự duy nhất làm đối số, ký tự này phải được tìm thấy bên trong dấu ngoặc kép và
có thể được cung cấp dưới dạng chính ký tự in được, giá trị đặc biệt \ t để biểu thị
ký tự lập bảng, hoặc 0x sau đó một giá trị thập lục phân được đọc dưới dạng mã ASCII cho
nhân vật.

Ký tự này được sử dụng làm ký tự trích dẫn trong CSV tệp và mặc định là
dấu ngoặc kép.

· các lĩnh vực không kèm

Theo mặc định, pgloader sẽ sử dụng ký tự dấu ngoặc kép làm ký tự kèm theo.
Nếu bạn có tệp CSV trong đó các trường không được bao gồm và đang sử dụng dấu ngoặc kép làm
ký tự bình thường mong đợi, sau đó sử dụng tùy chọn các lĩnh vực không kèm cho CSV
phân tích cú pháp để chấp nhận những giá trị đó.

· các lĩnh vực trốn thoát by

Có giá trị đặc biệt dấu gạch chéo ngược or dấu ngoặc képhoặc bất kỳ giá trị nào được hỗ trợ
bởi các lĩnh vực chấm dứt by tùy chọn (xem bên dưới). Giá trị này được sử dụng để nhận ra
dấu phân tách trường thoát khi chúng được tìm thấy trong chính các trường dữ liệu.
Mặc định là dấu ngoặc kép.

· csv thoát chế độ

Có giá trị đặc biệt trích dẫn (mặc định) hoặc tiếp theo và cho phép CSV
phân tích cú pháp để phân tích cú pháp hoặc chỉ dấu phân tách trường thoát hoặc bất kỳ ký tự nào (bao gồm cả CSV
dữ liệu) khi sử dụng tiếp theo giá trị.

· các lĩnh vực chấm dứt by

Lấy một ký tự duy nhất làm đối số, ký tự này phải được tìm thấy bên trong dấu ngoặc kép và
có thể được cung cấp dưới dạng chính ký tự in được, giá trị đặc biệt \ t để biểu thị
ký tự lập bảng, hoặc 0x sau đó một giá trị thập lục phân được đọc dưới dạng mã ASCII cho
nhân vật.

Ký tự này được sử dụng làm lĩnh vực phân cách khi đọc CSV dữ liệu.

· dòng chấm dứt by

Lấy một ký tự duy nhất làm đối số, ký tự này phải được tìm thấy bên trong dấu ngoặc kép và
có thể được cung cấp dưới dạng chính ký tự in được, giá trị đặc biệt \ t để biểu thị
ký tự lập bảng, hoặc 0x sau đó một giá trị thập lục phân được đọc dưới dạng mã ASCII cho
nhân vật.

Ký tự này được sử dụng để nhận ra kết thúc dòng điều kiện khi đọc CSV dữ liệu.

TẢI FIXED COLLARS


Lệnh này hướng dẫn pgloader tải dữ liệu từ tệp văn bản chứa các cột được sắp xếp
trong một cố định kích thước cách thức. Đây là một ví dụ:

TẢI CỐ ĐỊNH
TỪ nội tuyến
(
a từ 0 cho 10,
b từ 10 cho 8,
c từ 18 cho 8,
d từ 26 cho 17 [null nếu ô trống, cắt bỏ khoảng trắng bên phải]
)
VÀO postgresql: /// pgloader? Fixed
(
một, b,
c thời gian sử dụng (thời gian không có dấu phân cách c),
d
)

CÓ cắt ngắn

SET client_encoding thành ´latin1´,
work_mem thành ´14MB´,
standard_conforming_strings thành ´on´

TRƯỚC KHI TẢI LÀM
$$ thả bảng nếu tồn tại cố định; $$,
$$ tạo bảng cố định (
một số nguyên,
ngày b,
c thời gian,
d văn bản
);
$$;

01234567892008052011431250đường dây đầu tiên
01234562008052115182300left trống đệm
12345678902008052208231560một dòng khác
2345609872014092914371500
2345678902014092914371520

Sản phẩm cố định lệnh format chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp nơi tải dữ liệu từ đó. Chấp nhận một THƯỞNG THỨC Lựa chọn. Sử dụng
- mã hóa danh sách tùy chọn để biết tên mã hóa nào được hỗ trợ.

Tên tệp có thể được bao bằng dấu ngoặc kép và có thể là một trong những tên sau
giá trị đặc biệt:

· nội tuyến

Dữ liệu được tìm thấy sau khi kết thúc các lệnh đã phân tích cú pháp. Bất kỳ số dòng trống nào
giữa phần cuối của các lệnh và phần đầu của dữ liệu được chấp nhận.

· tiêu chuẩn

Đọc dữ liệu từ luồng đầu vào tiêu chuẩn.

Sản phẩm TỪ tùy chọn cũng hỗ trợ danh sách được phân tách bằng dấu phẩy tùy chọn lĩnh vực tên mô tả
những gì được mong đợi trong FIXED tập tin dữ liệu.

Mỗi tên trường bao gồm tên trường theo sau là các tùy chọn trình đọc cụ thể cho
lĩnh vực đó. Các tùy chọn trình đọc cho mỗi trường được hỗ trợ là những tùy chọn sau đây, nơi chỉ Bắt đầu
chiều dài là bắt buộc.

· Bắt đầu

Định vị trong dòng nơi bắt đầu đọc giá trị của trường đó. Có thể được nhập với
chữ số thập phân hoặc 0x sau đó là chữ số thập lục phân.

· chiều dài

Có bao nhiêu byte để đọc từ Bắt đầu vị trí để đọc giá trị của trường đó. Cùng một định dạng
as Bắt đầu.

Các tham số tùy chọn đó phải được đặt trong dấu ngoặc vuông và được phân tách bằng dấu phẩy:

· chấm dứt by

Xem mô tả của lĩnh vực chấm dứt by phía dưới.

Việc xử lý tùy chọn này hiện không được triển khai.

· ngày định dạng

Khi trường được mong đợi là loại ngày, thì tùy chọn này cho phép chỉ định
định dạng ngày tháng được sử dụng trong tệp.

Chuỗi định dạng ngày là các chuỗi mẫu được mô hình hóa dựa trên PostgreSQL to_char
hỗ trợ chuỗi mẫu, giới hạn ở các mẫu sau:

· YYYY, YYY, YY cho phần của năm

· MM cho phần tháng số

· DD cho phần ngày số

· HH, HH12, HH24 cho phần giờ

· Sáng, sáng, sáng, sáng

· Pm, PM, pm, PM

· MI cho phần phút

· SS cho phần giây

· MS cho phần mili giây (4 chữ số)

· US cho phần micro giây (6 chữ số)

· Các dấu câu chưa phân tích: -. * # @ T / \ và dấu cách

Đây là một ví dụ về một ngày định dạng đặc điểm kỹ thuật:

tên cột [định dạng ngày ´YYYY-MM-DD HH24-MI-SS.US´]

· vô giá trị if

Tùy chọn này nhận đối số là từ khóa khoảng trống hoặc một dấu ngoặc kép
chuỗi.

Thời Gian khoảng trống được sử dụng và giá trị trường được đọc chỉ chứa các ký tự khoảng trắng,
sau đó nó sẽ tự động được chuyển đổi thành SQL NULL giá trị.

Khi một chuỗi được trích dẫn kép được sử dụng và chuỗi đó được đọc dưới dạng giá trị trường, thì
giá trị trường được tự động chuyển đổi thành SQL NULL giá trị.

· tỉa cả hai khoảng trắng, tỉa trái khoảng trắng, tỉa ngay khoảng trắng

Tùy chọn này cho phép cắt bỏ khoảng trắng trong dữ liệu đã đọc, từ cả hai phía của
dữ liệu, hoặc chỉ các ký tự khoảng trắng được tìm thấy ở bên trái của luồng hoặc chỉ
những người ở bên phải của chuỗi.

· CÙNG VỚI

Khi tải từ một FIXED tệp, các tùy chọn sau được hỗ trợ:

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một CẮT CẮT lệnh chống lại PostgreSQL
bảng mục tiêu trước khi đọc tệp dữ liệu.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· bỏ qua cú đội đầu

Lấy một giá trị số làm đối số. Hướng dẫn pgloader bỏ qua nhiều dòng đó tại
đầu của tệp đầu vào.

TẢI COPY ĐỊNH DẠNG CÁC TẬP TIN


Lệnh này hướng dẫn pgloader tải từ tệp chứa dữ liệu COPY TEXT dưới dạng
được mô tả trong tài liệu PostgreSQL. Đây là một ví dụ:

TẢI BẢN SAO
TỪ bản sao: //./data/track.copy
(
trackid, track, album, media, thể loại, nhà soạn nhạc,
mili giây, byte, đơn vị
)
VÀO postgresql: /// pgloader? Track_full

CÓ cắt ngắn

SET client_encoding thành ´latin1´,
work_mem thành ´14MB´,
standard_conforming_strings thành ´on´

TRƯỚC KHI TẢI LÀM
$$ thả bảng nếu tồn tại track_full; $$,
$$ tạo bảng track_full (
theo dõi lớn nối tiếp,
theo dõi văn bản,
văn bản anbom,
văn bản phương tiện,
văn bản thể loại,
văn bản của nhà soạn nhạc,
mili giây bigint,
byte bigint,
số đơn vị
);
$$;

Sản phẩm COPY lệnh format chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp nơi tải dữ liệu từ đó. Điều này hỗ trợ các tệp cục bộ, URL HTTP và zip
các tệp chứa một tệp dbf cùng tên. Tìm nạp một tệp zip như vậy từ một
Địa chỉ HTTP tất nhiên được hỗ trợ.

· CÙNG VỚI

Khi tải từ một COPY tệp, các tùy chọn sau được hỗ trợ:

· dấu phân cách

Lấy một ký tự duy nhất làm đối số, ký tự này phải được tìm thấy bên trong dấu ngoặc kép và
có thể được cung cấp dưới dạng chính ký tự in được, giá trị đặc biệt \ t để biểu thị
ký tự lập bảng, hoặc 0x sau đó một giá trị thập lục phân được đọc dưới dạng mã ASCII cho
nhân vật.

Ký tự này được sử dụng làm dấu phân cách khi đọc dữ liệu, theo cách tương tự như
PostgreSQL COPY tùy chọn.

· vô giá trị

Lấy một chuỗi được trích dẫn làm đối số (dấu ngoặc kép có thể là dấu ngoặc kép hoặc dấu nháy đơn
dấu ngoặc kép) và sử dụng chuỗi đó làm NULL biểu diễn trong dữ liệu.

Điều này tương tự như vô giá trị COPY tùy chọn trong PostgreSQL.

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một CẮT CẮT lệnh chống lại PostgreSQL
bảng mục tiêu trước khi đọc tệp dữ liệu.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· bỏ qua cú đội đầu

Lấy một giá trị số làm đối số. Hướng dẫn pgloader bỏ qua nhiều dòng đó tại
đầu của tệp đầu vào.

TẢI dbf


Lệnh này hướng dẫn pgloader tải dữ liệu từ dbf tập tin. Đây là một ví dụ:

TẢI DBF
TỪ http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
VÀO postgresql: // user @ localhost / dbname
VỚI cắt ngắn, tạo bảng;

Sản phẩm dbf lệnh format chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp nơi tải dữ liệu từ đó. Điều này hỗ trợ các tệp cục bộ, URL HTTP và zip
các tệp chứa một tệp dbf cùng tên. Tìm nạp một tệp zip như vậy từ một
Địa chỉ HTTP tất nhiên được hỗ trợ.

· CÙNG VỚI

Khi tải từ một dbf tệp, các tùy chọn sau được hỗ trợ:

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một CẮT CẮT lệnh chống lại PostgreSQL
bảng mục tiêu trước khi đọc tệp dữ liệu.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· tạo bàn

Khi tùy chọn này được liệt kê, pgloader sẽ tạo bảng bằng cách sử dụng dữ liệu meta được tìm thấy trong
các dbf tệp, phải chứa danh sách các trường với kiểu dữ liệu của chúng. Một tiêu chuẩn
chuyển đổi kiểu dữ liệu từ DBF sang PostgreSQL được thực hiện.

· bàn tên

Tùy chọn này mong đợi giá trị của nó là tên có thể đủ điều kiện của bảng để tạo.

TẢI IXF


Lệnh này hướng dẫn pgloader tải dữ liệu từ IBM IXF tập tin. Đây là một ví dụ:

TẢI IXF
TỪ data / nsitra.test1.ixf
VÀO postgresql: /// pgloader? Nsitra.test1
VỚI cắt ngắn, tạo bảng

TRƯỚC KHI TẢI LÀM
$$ tạo lược đồ nếu không tồn tại nsitra; $$,
$$ thả bảng nếu tồn tại nsitra.test1; $$;

Sản phẩm ixf lệnh format chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp nơi tải dữ liệu từ đó. Điều này hỗ trợ các tệp cục bộ, URL HTTP và zip
các tệp chứa một tệp ixf cùng tên. Tìm nạp một tệp zip như vậy từ một
Địa chỉ HTTP tất nhiên được hỗ trợ.

· CÙNG VỚI

Khi tải từ một IXF tệp, các tùy chọn sau được hỗ trợ:

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một CẮT CẮT lệnh chống lại PostgreSQL
bảng mục tiêu trước khi đọc tệp dữ liệu.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· tạo bàn

Khi tùy chọn này được liệt kê, pgloader sẽ tạo bảng bằng cách sử dụng dữ liệu meta được tìm thấy trong
các dbf tệp, phải chứa danh sách các trường với kiểu dữ liệu của chúng. Một tiêu chuẩn
chuyển đổi kiểu dữ liệu từ DBF sang PostgreSQL được thực hiện.

· bàn tên

Tùy chọn này mong đợi giá trị của nó là tên có thể đủ điều kiện của bảng để tạo.

TẢI KIẾN TRÚC


Lệnh này hướng dẫn pgloader tải dữ liệu từ một hoặc nhiều tệp chứa trong một
lưu trữ. Hiện tại, định dạng lưu trữ duy nhất được hỗ trợ là ZIPvà kho lưu trữ có thể là
được tải xuống từ một HTTP URL.

Đây là một ví dụ:

TẢI TRỌNG TÀI
TỪ /Users/dim/Downloads/GeoLiteCity-latest.zip
VÀO postgresql: /// ip4r

TRƯỚC KHI TẢI
DO $$ tạo tiện ích mở rộng nếu không tồn tại ip4r; $$,
$$ tạo lược đồ nếu không tồn tại geolite; $$,

THỰC HIỆN ´geolite.sql´

TẢI CSV
TỪ TRẬN ĐẤU FILENAME ~ / GeoLiteCity-Location.csv /
CÓ KÍCH THÍCH iso-8859-1
(
định vị,
Quốc gia,
vùng rỗng nếu ô trống,
thành phố null nếu ô trống,
PostCode null nếu ô trống,
vĩ độ,
kinh độ,
metroCode null nếu ô trống,
areaCode null nếu ô trống
)
VÀO postgresql: /// ip4r? Geolite.location
(
locid, quốc gia, khu vực, thành phố, mã bưu chính,
điểm vị trí sử dụng (định dạng nil "(~ a, ~ a)" kinh độ vĩ độ),
metroCode, areaCode
)
VỚI tiêu đề bỏ qua = 2,
các trường tùy chọn được bao bởi ´ "´,
các trường được thoát bằng dấu ngoặc kép,
các trường kết thúc bởi ´, ´

VÀ TẢI CSV
TỪ TRẬN ĐẤU FILENAME ~ / GeoLiteCity-Blocks.csv /
CÓ KÍCH THÍCH iso-8859-1
(
startIpNum, endIpNum, locId
)
VÀO postgresql: /// ip4r? Geolite.blocks
(
iprange ip4r sử dụng (ip-range startIpNum endIpNum),
locId
)
VỚI tiêu đề bỏ qua = 2,
các trường tùy chọn được bao bởi ´ "´,
các trường được thoát bằng dấu ngoặc kép,
các trường kết thúc bởi ´, ´

CUỐI CÙNG LÀM
$$ tạo chỉ mục blocks_ip4r_idx trên geolite.blocks bằng cách sử dụng gist (iprange); $$;

Sản phẩm lưu trữ lệnh chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Tên tệp hoặc URI HTTP nơi tải dữ liệu từ đó. Khi được cung cấp một URL HTTP, liên kết
tệp sẽ được tải xuống cục bộ trước khi xử lý.

Nếu tệp là một zip tệp, tiện ích dòng lệnh giải nén được sử dụng để mở rộng
lưu trữ thành các tệp trong $ TMPDIR, hoặc là / Tmp if $ TMPDIR không được đặt hoặc được đặt thành không tồn tại
thư mục.

Sau đó, các lệnh sau được sử dụng từ thư mục cấp cao nhất nơi lưu trữ
đã được mở rộng.

· chỉ huy [ chỉ huy ... ]

Một loạt lệnh chống lại nội dung của kho lưu trữ, chỉ tại thời điểm này
CSV,ĐÃ SỬAdbf các lệnh được hỗ trợ.

Lưu ý rằng các lệnh hỗ trợ mệnh đề TỪ TÊN TỆP TRẬN ĐẤU điều đó cho phép
lệnh pgloader không phụ thuộc vào tên chính xác của các thư mục lưu trữ.

Mệnh đề tương tự cũng có thể được áp dụng cho một số tệp có sử dụng chính tả TỪ TẤT CẢ CÁC
PHIM TRẬN ĐẤU và một biểu thức chính quy.

Toàn bộ phù hợp mệnh đề phải tuân theo quy tắc sau:

TỪ [TẤT CẢ CÁC PHIM | [FIRST] FILENAME] TRẬN ĐẤU

· Cuối cùng DO

Truy vấn SQL để chạy sau khi dữ liệu được tải, chẳng hạn như TẠO NÊN INDEX.

TẢI MYSQL DATABASE


Lệnh này hướng dẫn pgloader tải dữ liệu từ kết nối cơ sở dữ liệu. Duy nhất
nguồn cơ sở dữ liệu được hỗ trợ hiện là MySQLvà pgloader hỗ trợ chuyển đổi động
lược đồ của cơ sở dữ liệu nguồn và việc xây dựng chỉ mục.

Một bộ quy tắc truyền mặc định được cung cấp và có thể bị quá tải và được thêm vào bởi
chỉ huy.

Đây là một ví dụ:

TẢI CƠ SỞ DỮ LIỆU
TỪ mysql: //nguồn gốc@ localhost / sakila
VÀO postgresql: // localhost: 54393 / sakila

VỚI bao gồm thả, tạo bảng, tạo chỉ mục, đặt lại trình tự

ĐẶT Maint_work_mem thành ´128MB´,
work_mem thành ´12MB´,
search_path tới ´sakila´

Loại CAST datetime đến timestamptz thả thả mặc định không rỗng bằng cách sử dụng zero-date-to-null,
gõ ngày thả không null thả mặc định sử dụng zero-date-to-null,
- gõ tinyint thành boolean bằng cách sử dụng tinyint-to-boolean,
nhập năm thành số nguyên

MATERIALIZE VIEWS phim_list, staff_list

- CHỈ BAO GỒM ĐỐI XỨNG TÊN BẢNG ~ / phim /, diễn viên
- NGOÀI TRẬN ĐẤU TÊN BẢNG ~
- ĐỐI XỬ TÊN BẢNG KHAI THÁC ~ / lộn xộn /, ~ / encoding / NHƯ utf8

TRƯỚC KHI TẢI LÀM
$$ tạo lược đồ nếu không tồn tại sakila; $$;

Sản phẩm cơ sở dữ liệu lệnh chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Phải là một URL kết nối trỏ đến cơ sở dữ liệu MySQL. Hiện tại chỉ có MySQL là
được hỗ trợ như một nguồn pgloader.

Nếu URI kết nối chứa tên bảng thì chỉ bảng này được di chuyển từ
MySQL sang PostgreSQL.

· CÙNG VỚI

Khi tải từ một MySQL cơ sở dữ liệu, các tùy chọn sau được hỗ trợ và
mặc định CÙNG VỚI mệnh đề là: Không cắt bớt, tạo bảng, bao gồm rơi vãi, tạo chỉ số, thiết lập lại
trình tự, nước ngoài phím, chữ thường định danh.

CÙNG VỚI lựa chọn:

· bao gồm rơi vãi

Khi tùy chọn này được liệt kê, pgloader sẽ loại bỏ tất cả các bảng trong PostgreSQL đích
cơ sở dữ liệu có tên xuất hiện trong cơ sở dữ liệu SQLite. Tùy chọn này cho phép sử dụng
cùng một lệnh nhiều lần liên tiếp cho đến khi bạn tìm ra tất cả các tùy chọn, bắt đầu
tự động từ một môi trường trong sạch. Xin lưu ý rằng CASCADE được sử dụng để đảm bảo
bảng đó sẽ bị loại bỏ ngay cả khi có các khóa ngoại trỏ đến chúng. Đây là
chính xác là gì bao gồm rơi vãi dự định làm: bỏ tất cả các bảng mục tiêu và tạo lại
Chúng.

Cần hết sức lưu ý khi sử dụng bao gồm rơi vãi, vì nó sẽ đổ xuống tất cả các
các đối tượng tham chiếu đến các bảng đích, có thể bao gồm các bảng khác không
được tải từ DB nguồn.

· bao gồm Không rơi vãi

Khi tùy chọn này được liệt kê, pgloader sẽ không bao gồm bất kỳ Thả tuyên bố khi tải
dữ liệu.

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra CẮT CẮT lệnh chống lại mỗi
Bảng PostgreSQL ngay trước khi tải dữ liệu vào đó.

· Không cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ không có CẮT CẮT chỉ huy.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· tạo bảng

Khi tùy chọn này được liệt kê, pgloader sẽ tạo bảng bằng cách sử dụng dữ liệu meta được tìm thấy trong
các MySQL tệp, phải chứa danh sách các trường với kiểu dữ liệu của chúng. Một tiêu chuẩn
chuyển đổi kiểu dữ liệu từ DBF sang PostgreSQL được thực hiện.

· tạo Không bảng

Khi tùy chọn này được liệt kê, pgloader bỏ qua quá trình tạo bảng trước khi tải dữ liệu,
bảng mục tiêu sau đó phải đã tồn tại.

· tạo chỉ số

Khi tùy chọn này được liệt kê, pgloader sẽ nhận được định nghĩa của tất cả các chỉ mục được tìm thấy trong
cơ sở dữ liệu MySQL và tạo cùng một tập hợp các định nghĩa chỉ mục dựa trên PostgreSQL
cơ sở dữ liệu.

· tạo Không chỉ số

Khi tùy chọn này được liệt kê, pgloader sẽ bỏ qua các chỉ mục đang tạo.

· thống nhất chỉ số tên, bảo tồn chỉ số tên

Tên chỉ mục MySQL là duy nhất cho mỗi bảng trong khi tên chỉ mục trong PostgreSQL phải là
mỗi giản đồ duy nhất. Mặc định cho pgloader là thay đổi tên chỉ mục bằng tiền tố
nó với idx_OID Ở đâu OID là định danh số bên trong của bảng, chỉ mục là
được xây dựng chống lại.

Trong các trường hợp somes như khi DDL được hoàn toàn để lại trong một khuôn khổ, nó có thể hợp lý
để pgloader không xử lý các tên duy nhất của chỉ mục, điều này đạt được bằng cách sử dụng
các bảo tồn chỉ số tên tùy chọn.

Mặc định là thống nhất chỉ số tên.

Ngay cả khi sử dụng tùy chọn bảo tồn chỉ số tên, Các chỉ mục khóa chính MySQL có tên
"PRIMARY" sẽ thống nhất tên của họ. Không làm như vậy sẽ ngăn cản
các khóa sẽ được tạo lại trong PostgreSQL trong đó các tên chỉ mục phải là duy nhất cho mỗi
lược đồ.

· nước ngoài phím

Khi tùy chọn này được liệt kê, pgloader sẽ nhận được định nghĩa của tất cả các khóa ngoại
được tìm thấy trong cơ sở dữ liệu MySQL và tạo cùng một bộ định nghĩa khóa ngoại đối với
cơ sở dữ liệu PostgreSQL.

· Không nước ngoài phím

Khi tùy chọn này được liệt kê, pgloader sẽ bỏ qua việc tạo khóa ngoại.

· thiết lập lại trình tự

Khi tùy chọn này được liệt kê, ở cuối quá trình tải dữ liệu và sau khi các chỉ mục có
tất cả đã được tạo, pgloader đặt lại tất cả các chuỗi PostgreSQL được tạo thành hiện tại
giá trị lớn nhất của cột mà chúng được gắn vào.

Các tùy chọn kế hoạch có thể dữ liệu có thể không có tác dụng đối với tùy chọn này.

· thiết lập lại Không trình tự

Khi tùy chọn này được liệt kê, pgloader sẽ bỏ qua việc đặt lại trình tự sau khi tải.

Các tùy chọn kế hoạch có thể dữ liệu có thể không có tác dụng đối với tùy chọn này.

· chữ thường định danh

Khi tùy chọn này được liệt kê, pgloader sẽ chuyển đổi tất cả các số nhận dạng MySQL (tên bảng,
tên chỉ mục, tên cột) đến chữ thường, ngoại trừ PostgreSQL Ltd từ khóa.

PostgreSQL Ltd từ khóa được xác định động bằng cách sử dụng hệ thống
chức năng pg_get_keywords ().

· trích dẫn định danh

Khi tùy chọn này được liệt kê, pgloader trích dẫn tất cả các số nhận dạng MySQL để trường hợp của chúng
được tôn trọng. Lưu ý rằng sau đó bạn sẽ phải làm điều tương tự trong ứng dụng của mình
truy vấn mã.

· kế hoạch có thể

Khi tùy chọn này được liệt kê, pgloader sẽ không di chuyển dữ liệu. Lưu ý rằng
lược đồ trong ngữ cảnh này bao gồm các chỉ mục khi tùy chọn tạo chỉ số
đã được liệt kê.

· dữ liệu có thể

Khi tùy chọn này được liệt kê, pgloader chỉ đưa ra COPY tuyên bố, mà không làm bất kỳ
xử lý khác.

· CAST

Mệnh đề truyền cho phép chỉ định các quy tắc truyền tùy chỉnh, hoặc quá tải mặc định
đúc các quy tắc hoặc để sửa đổi chúng với các trường hợp đặc biệt.

Quy tắc truyền dự kiến ​​sẽ tuân theo một trong các hình thức:

kiểu [ ... ] đến [ ...]
cột . [ ] đến ...

Nó có thể cho một đúc loại trừ để đối sánh với kiểu dữ liệu MySQL hoặc đối với
được cột tên trong một bàn tên. Tính linh hoạt đó cho phép đối phó với các trường hợp
loại tí hon có thể đã được sử dụng như một boolean trong một số trường hợp nhưng như một lửa nhỏ in
Khác.

Sản phẩm đúc quy tắc được áp dụng theo thứ tự, trận đấu đầu tiên ngăn cản các quy tắc sau
được áp dụng và các quy tắc do người dùng xác định được đánh giá đầu tiên.

Các vệ sĩ được hỗ trợ là:

· khi nào mặc định giá trị

Quy tắc truyền chỉ được áp dụng đối với các cột MySQL của loại nguồn có
được giá trị, phải là một chuỗi được trích dẫn đơn hoặc được trích dẫn kép.

· khi nào đánh máy biểu hiện

Quy tắc truyền chỉ được áp dụng đối với các cột MySQL của loại nguồn có
đánh máy giá trị phù hợp với giá trị đã cho đánh máy biểu hiện. Các đánh máy được tách thành nó
chính xáctỉ lệ các thành phần.

Ví dụ về quy tắc ép kiểu sử dụng đánh máy bảo vệ:

gõ ký tự khi (= precision 1) để ký tự giữ định dạng

Biểu thức này sử dụng MySQL xe tăng(1) vào một cột PostgreSQL thuộc loại xe tăng(1) trong khi
cho phép trường hợp chung char (N) sẽ được chuyển đổi theo quy tắc truyền mặc định thành
Loại PostgreSQL varchar (N).

· với thêm auto_increment

Quy tắc truyền chỉ được áp dụng đối với các cột MySQL có thêm cột
auto_increment bộ tùy chọn, để có thể nhắm mục tiêu, ví dụ: nối tiếp chứ không phải là
số nguyên.

Hành vi đối sánh mặc định, khi tùy chọn này không được đặt, là đối sánh cả hai cột
với định nghĩa bổ sung và không có.

Điều này có nghĩa là nếu bạn muốn triển khai quy tắc truyền nhắm mục tiêu nối tiếp or
số nguyên từ một lửa nhỏ định nghĩa tùy thuộc vào auto_increment thêm một chút của
thông tin từ MySQL, sau đó bạn cần viết ra hai quy tắc truyền như sau:

nhập smallint với auto_increment bổ sung
to serial drop typemod giữ mặc định giữ không null,
gõ smallint
để thả số nguyên đánh máy giữ mặc định giữ không null

Các tùy chọn truyền được hỗ trợ là:

· rơi vãi mặc định, giữ mặc định

Khi tùy chọn rơi vãi mặc định được liệt kê, pgloader loại bỏ mọi biểu thức mặc định hiện có
trong cơ sở dữ liệu MySQL cho các cột của loại nguồn từ TẠO NÊN BẢNG tuyên bố
nó tạo ra.

Chính tả giữ mặc định ngăn chặn hành vi đó một cách rõ ràng và có thể được sử dụng để
quá tải các quy tắc truyền mặc định.

· rơi vãi không vô giá trị, giữ không vô giá trị

Khi tùy chọn rơi vãi không vô giá trị được liệt kê, pgloader loại bỏ bất kỳ KHÔNG NULL
ràng buộc được liên kết với kiểu dữ liệu MySQL nguồn đã cho khi nó tạo các bảng
trong cơ sở dữ liệu PostgreSQL.

Chính tả giữ không vô giá trị ngăn chặn hành vi đó một cách rõ ràng và có thể được sử dụng để
quá tải các quy tắc truyền mặc định.

· rơi vãi đánh máy, giữ đánh máy

Khi tùy chọn rơi vãi đánh máy được liệt kê, pgloader loại bỏ bất kỳ đánh máy định nghĩa
(ví dụ chính xáctỉ lệ) từ định nghĩa kiểu dữ liệu được tìm thấy trong các cột MySQL của
kiểu nguồn khi nó tạo các bảng trong cơ sở dữ liệu PostgreSQL.

Chính tả giữ đánh máy ngăn chặn hành vi đó một cách rõ ràng và có thể được sử dụng để
quá tải các quy tắc truyền mặc định.

· sử dụng

Tùy chọn này coi như đối số duy nhất của nó là tên của một hàm được tìm thấy trong
pgloader.transforms Gói Lisp chung. Xem ở trên để biết chi tiết.

Có thể tăng cường quy tắc ép kiểu mặc định (chẳng hạn như quy tắc áp dụng chống lại ENUM
kiểu dữ liệu chẳng hạn) với chuyển đổi chức năng bằng cách bỏ qua hoàn toàn kiểu
các phần của quy tắc truyền, như trong ví dụ sau:

cột enumerate.foo sử dụng rỗng-string-to-null

· CỤ THỂ HOÁ LƯỢT XEM

Điều khoản này cho phép bạn triển khai xử lý dữ liệu tùy chỉnh tại nguồn dữ liệu bằng cách
cung cấp một lượt xem định nghĩa chống lại pgloader nào sẽ truy vấn dữ liệu. Nó không thể
có thể chỉ cho phép đơn giản SQL bởi vì chúng tôi muốn biết nhiều về chính xác
kiểu dữ liệu của mỗi cột liên quan đến kết quả truy vấn.

Mệnh đề này mong đợi một danh sách các định nghĩa chế độ xem được phân tách bằng dấu phẩy, mỗi định nghĩa đều là
tên của dạng xem hiện có trong cơ sở dữ liệu của bạn hoặc biểu thức sau:

tên AS $$ sql truy vấn $$

Sản phẩm tênsql truy vấn sẽ được sử dụng trong một TẠO NÊN XEM tuyên bố ở đầu
tải dữ liệu và chế độ xem kết quả sau đó sẽ bị xóa ở cuối dữ liệu
Đang tải.

· CỤ THỂ HOÁ TẤT CẢ CÁC LƯỢT XEM

Hành vi giống như CỤ THỂ HOÁ LƯỢT XEM bằng cách sử dụng danh sách các chế độ xem động như được trả về bởi
MySQL thay vì yêu cầu người dùng chỉ định danh sách.

· KỂ CẢ CHỈ BẢNG TÊN TRẬN ĐẤU

Giới thiệu danh sách tên bảng được phân tách bằng dấu phẩy hoặc đều đặn biểu hiện được sử dụng để giới hạn
các bảng để chuyển sang danh sách con.

Ví dụ:

CHỈ BAO GỒM ĐỐI XỨNG TÊN BẢNG ~ / phim /, diễn viên

· LOẠI TRỪ BẢNG TÊN TRẬN ĐẤU

Giới thiệu danh sách tên bảng được phân tách bằng dấu phẩy hoặc đều đặn biểu hiện dùng để loại trừ
tên bảng từ quá trình di chuyển. Bộ lọc này chỉ áp dụng cho kết quả của
KỂ CẢ lọc.

LOẠI TRỪ ĐỐI CHIẾU TÊN BẢNG ~

· KHAI THÁC BẢNG TÊN TRẬN ĐẤU

Giới thiệu danh sách tên bảng được phân tách bằng dấu phẩy hoặc đều đặn biểu thức dùng để ép buộc
mã hóa để sử dụng khi xử lý dữ liệu từ MySQL. Nếu mã hóa dữ liệu mà bạn biết
khác với ý tưởng của MySQL về nó, đây là tùy chọn để sử dụng.

ĐỐI XỨNG TÊN BẢNG KHAI THÁC ~ / lộn xộn /, ~ / encoding / NHƯ utf8

Bạn có thể sử dụng nhiều quy tắc như vậy nếu bạn cần, tất cả đều có thể có các bảng mã khác nhau.

GIỚI HẠN
Sản phẩm cơ sở dữ liệu lệnh hiện chỉ hỗ trợ cơ sở dữ liệu nguồn MySQL và có những điều sau
hạn chế:

· Các chế độ xem không được di chuyển,

Các dạng xem hỗ trợ có thể yêu cầu triển khai trình phân tích cú pháp SQL đầy đủ cho phương ngữ MySQL
với một công cụ chuyển để viết lại SQL dựa trên PostgreSQL, bao gồm cả việc đổi tên
chức năng và thay đổi một số cấu trúc.

Mặc dù về mặt lý thuyết không phải là không thể, nhưng đừng nín thở.

· Trình kích hoạt không được di chuyển

Khó khăn của việc làm như vậy vẫn chưa được đánh giá.

· ON CẬP NHẬT DẤU THỜI GIAN HIỆN TẠI hiện không di cư

Nó đủ đơn giản để thực hiện, chỉ là chưa có trong danh sách ưu tiên.

· Trong số các kiểu dữ liệu hình học, chỉ có ĐIỂM cơ sở dữ liệu đã được bảo hiểm. Những cái khác
bây giờ sẽ đủ dễ dàng để thực hiện, nó chỉ là chưa được thực hiện.

MẶC ĐỊNH MySQL ĐÚC QUY TẮC
Khi di chuyển từ MySQL, các Quy tắc truyền sau đây được cung cấp:

số:

· Gõ int có thêm auto_increment để nối tiếp khi (<độ chính xác 10)

· Gõ int có thêm auto_increment vào bigserial khi (<= 10 precision)

· Gõ int thành int khi (<độ chính xác 10)

· Gõ int thành bigint khi (<= 10 precision)

· Gõ tinyint với auto_increment bổ sung để nối tiếp

· Gõ smallint với auto_increment bổ sung để nối tiếp

· Gõ phương tiện truyền thông với thêm auto_increment để nối tiếp

· Gõ bigint với auto_increment bổ sung vào bigserial

· Gõ tinyint thành boolean khi (= 1 precision) sử dụng tinyint-to-boolean

· Gõ tinyint để smallint drop typemod

· Gõ smallint để smallint drop typemod

· Gõ mediumint sang kiểu chữ thả số nguyên

· Gõ số nguyên thành số nguyên thả kiểu đánh máy

· Gõ float để float thả typemod

· Gõ bigint sang bigint drop typemod

· Gõ chính xác gấp đôi đến gấp đôi kiểu chữ thả

· Gõ số thành số giữ kiểu chữ

· Gõ từ thập phân sang thập phân giữ nguyên kiểu đánh máy

Nội dung:

· Gõ ký tự để varchar giữ cho typemod

· Gõ varchar vào văn bản

· Gõ tinytext vào văn bản

· Gõ văn bản thành văn bản

· Gõ phương tiện truyền thông vào văn bản

· Gõ văn bản dài vào văn bản

Nhị phân:

· Gõ nhị phân thành bytea

· Gõ varbinary thành bytea

· Gõ tinyblob thành bytea

· Gõ blob thành bytea

· Gõ mediumblob sang bytea

· Gõ longblob thành bytea

Ngày:

· Gõ datetime khi mặc định là "0000-00-00 00:00:00" và không null để timestamptz không thả
thả null mặc định sử dụng zero-date-to-null

· Gõ datetime khi mặc định "0000-00-00 00:00:00" thành timestamptz thả mặc định bằng cách sử dụng
zero-date-to-null

· Gõ dấu thời gian khi mặc định "0000-00-00 00:00:00" và không null thành không thả timestamptz
thả null mặc định sử dụng zero-date-to-null

· Gõ dấu thời gian khi mặc định "0000-00-00 00:00:00" thành dấu thời gian thả mặc định bằng cách sử dụng
zero-date-to-null

· Gõ ngày khi mặc định "0000-00-00" thành ngày thả mặc định sử dụng zero-date-to-null

· Gõ ngày đến nay

· Gõ datetime thành timestamptz

· Gõ dấu thời gian thành dấu thời gian

· Gõ năm thành số nguyên thả kiểu đánh máy

Hình học:

· Gõ điểm tới điểm bằng cách sử dụng pgloader.transforms :: convert-mysql-point

Các kiểu Enum được khai báo nội tuyến trong MySQL và riêng biệt với TẠO NÊN LOẠI chỉ huy trong
PostgreSQL, vì vậy mỗi cột của Loại Enum được chuyển đổi thành một loại được đặt tên theo bảng và
các tên cột được xác định với các nhãn giống nhau theo cùng một thứ tự.

Khi định nghĩa kiểu nguồn không khớp trong quy tắc truyền mặc định cũng như trong
quy tắc ép kiểu được cung cấp trong lệnh, sau đó tên kiểu có kiểu chữ được sử dụng.

TẢI SQLite DATABASE


Lệnh này hướng dẫn pgloader tải dữ liệu từ tệp SQLite. Tự động khám phá
lược đồ được hỗ trợ, bao gồm cả việc xây dựng các chỉ mục.

Đây là một ví dụ:

tải cơ sở dữ liệu
từ sqlite: ///Users/dim/Downloads/lastfm_tags.db
vào các thẻ postgresql: ///

bao gồm thả, tạo bảng, tạo chỉ mục, đặt lại trình tự

đặt work_mem thành ´16MB´, Maint_work_mem thành ´512 MB´;

Sản phẩm sqlite lệnh chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Đường dẫn hoặc URL HTTP đến một tệp SQLite, có thể là .zip tập tin.

· CÙNG VỚI

Khi tải từ một SQLite cơ sở dữ liệu, các tùy chọn sau được hỗ trợ:

Khi tải từ một SQLite cơ sở dữ liệu, các tùy chọn sau được hỗ trợ và
mặc định CÙNG VỚI mệnh đề là: Không cắt bớt, tạo bảng, bao gồm rơi vãi, tạo chỉ số,
thiết lập lại trình tự, chữ thường định danh, mã hóa 'utf-8'.

· bao gồm rơi vãi

Khi tùy chọn này được liệt kê, pgloader sẽ loại bỏ tất cả các bảng trong PostgreSQL đích
cơ sở dữ liệu có tên xuất hiện trong cơ sở dữ liệu SQLite. Tùy chọn này cho phép sử dụng
cùng một lệnh nhiều lần liên tiếp cho đến khi bạn tìm ra tất cả các tùy chọn, bắt đầu
tự động từ một môi trường trong sạch. Xin lưu ý rằng CASCADE được sử dụng để đảm bảo
bảng đó sẽ bị loại bỏ ngay cả khi có các khóa ngoại trỏ đến chúng. Đây là
chính xác là gì bao gồm rơi vãi dự định làm: bỏ tất cả các bảng mục tiêu và tạo lại
Chúng.

Cần hết sức lưu ý khi sử dụng bao gồm rơi vãi, vì nó sẽ đổ xuống tất cả các
các đối tượng tham chiếu đến các bảng đích, có thể bao gồm các bảng khác không
được tải từ DB nguồn.

· bao gồm Không rơi vãi

Khi tùy chọn này được liệt kê, pgloader sẽ không bao gồm bất kỳ Thả tuyên bố khi tải
dữ liệu.

· cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra CẮT CẮT lệnh chống lại mỗi
Bảng PostgreSQL ngay trước khi tải dữ liệu vào đó.

· Không cắt bớt

Khi tùy chọn này được liệt kê, pgloader sẽ không có CẮT CẮT chỉ huy.

· vô hiệu hóa kích hoạt

Khi tùy chọn này được liệt kê, pgloader sẽ đưa ra một THAY ĐỔI BẢNG ... VÔ HIỆU HÓA CÒ SÚNG TẤT CẢ CÁC
chống lại bảng đích PostgreSQL trước khi sao chép dữ liệu, sau đó lệnh
THAY ĐỔI BẢNG ... Kích hoạt CÒ SÚNG TẤT CẢ CÁC một khi COPY đã xong.

Tùy chọn này cho phép tải dữ liệu vào một bảng có sẵn từ trước, bỏ qua nước ngoài chính
khó khăn và trình kích hoạt do người dùng xác định và có thể dẫn đến nước ngoài chính
khó khăn khi dữ liệu được tải. Sử dụng cẩn thận.

· tạo bảng

Khi tùy chọn này được liệt kê, pgloader sẽ tạo bảng bằng cách sử dụng dữ liệu meta được tìm thấy trong
các SQLite tệp, phải chứa danh sách các trường với kiểu dữ liệu của chúng. Một tiêu chuẩn
chuyển đổi kiểu dữ liệu từ DBF sang PostgreSQL được thực hiện.

· tạo Không bảng

Khi tùy chọn này được liệt kê, pgloader bỏ qua quá trình tạo bảng trước khi tải dữ liệu,
bảng mục tiêu sau đó phải đã tồn tại.

· tạo chỉ số

Khi tùy chọn này được liệt kê, pgloader sẽ nhận được định nghĩa của tất cả các chỉ mục được tìm thấy trong
cơ sở dữ liệu SQLite và tạo cùng một tập hợp các định nghĩa chỉ mục dựa trên
Cơ sở dữ liệu PostgreSQL.

· tạo Không chỉ số

Khi tùy chọn này được liệt kê, pgloader sẽ bỏ qua các chỉ mục đang tạo.

· thiết lập lại trình tự

Khi tùy chọn này được liệt kê, ở cuối quá trình tải dữ liệu và sau khi các chỉ mục có
tất cả đã được tạo, pgloader đặt lại tất cả các chuỗi PostgreSQL được tạo thành hiện tại
giá trị lớn nhất của cột mà chúng được gắn vào.

· thiết lập lại Không trình tự

Khi tùy chọn này được liệt kê, pgloader sẽ bỏ qua việc đặt lại trình tự sau khi tải.

Các tùy chọn kế hoạch có thể dữ liệu có thể không có tác dụng đối với tùy chọn này.

· kế hoạch có thể

Khi tùy chọn này được liệt kê, pgloader sẽ không di chuyển dữ liệu. Ghi chú
rằng lược đồ trong ngữ cảnh này bao gồm các chỉ mục khi tùy chọn tạo chỉ số
đã được liệt kê.

· dữ liệu có thể

Khi tùy chọn này được liệt kê, pgloader chỉ đưa ra COPY tuyên bố, mà không làm bất kỳ
xử lý khác.

· mã hóa

Tùy chọn này cho phép kiểm soát cách mã hóa để phân tích cú pháp dữ liệu văn bản SQLite.
Mặc định là UTF-8.

· CAST

Mệnh đề truyền cho phép chỉ định các quy tắc truyền tùy chỉnh, hoặc quá tải mặc định
đúc các quy tắc hoặc để sửa đổi chúng với các trường hợp đặc biệt.

Vui lòng tham khảo mệnh đề MySQL CAST để biết thêm chi tiết.

· KỂ CẢ CHỈ BẢNG TÊN TRẬN ĐẤU

Giới thiệu danh sách tên bảng được phân tách bằng dấu phẩy hoặc đều đặn biểu hiện được sử dụng để giới hạn
các bảng để chuyển sang danh sách con.

Ví dụ:

CHỈ BAO GỒM ĐỐI XỨNG TÊN BẢNG ~ / phim /, diễn viên

· LOẠI TRỪ BẢNG TÊN TRẬN ĐẤU

Giới thiệu danh sách tên bảng được phân tách bằng dấu phẩy hoặc đều đặn biểu hiện dùng để loại trừ
tên bảng từ quá trình di chuyển. Bộ lọc này chỉ áp dụng cho kết quả của
KỂ CẢ lọc.

LOẠI TRỪ ĐỐI CHIẾU TÊN BẢNG ~

MẶC ĐỊNH SQLite ĐÚC QUY TẮC
Khi di chuyển từ SQLite, các Quy tắc truyền sau đây được cung cấp:

số:

· Gõ tinyint thành smallint

· Gõ số nguyên thành bigint

· Gõ float thành float bằng cách sử dụng float-to-string

· Gõ real to real bằng float-to-string

· Gõ chính xác gấp đôi đến gấp đôi bằng cách sử dụng float-to-string

· Gõ số thành số bằng cách sử dụng float-to-string

Nội dung:

· Gõ ký tự vào text drop typemod

· Gõ varchar vào text drop typemod

· Gõ nvarchar vào text drop typemod

· Gõ ký tự để text drop typemod

· Gõ nchar vào text drop typemod

· Gõ nvarchar vào text drop typemod

· Gõ clob để text drop typemod

Nhị phân:

· Gõ blob thành bytea

Ngày:

· Gõ datetime thành timestamptz bằng sqlite-timestamp-to-timestamp

· Gõ dấu thời gian vào dấu thời gian bằng cách sử dụng sqlite-timestamp-to-timestamp

· Gõ timestamptz thành timestamptz bằng sqlite-timestamp-to-timestamp

TẢI MS SQL DATABASE


Lệnh này hướng dẫn pgloader tải dữ liệu từ cơ sở dữ liệu MS SQL. Khám phá tự động
của lược đồ được hỗ trợ, bao gồm xây dựng chỉ mục, khóa chính và khóa ngoài
những ràng buộc.

Đây là một ví dụ:

tải cơ sở dữ liệu
từ mssql: // user @ host / dbname
thành postgresql: /// dbname

chỉ bao gồm các tên bảng như ´GlobalAccount´ trong lược đồ ´dbo´

đặt work_mem thành ´16MB´, Maint_work_mem thành ´512 MB´

trước khi tải do $$ drop schema if tồn tại dbo cascade; $$;

Sản phẩm mss lệnh chấp nhận các mệnh đề và tùy chọn sau:

· TỪ

Chuỗi kết nối với máy chủ cơ sở dữ liệu MS SQL hiện có lắng nghe và chào đón
kết nối TCP / IP bên ngoài. Vì pgloader hiện đang cõng trên trình điều khiển FreeTDS, để
thay đổi cổng của máy chủ, vui lòng xuất TDSPORT biến môi trường.

· CÙNG VỚI

Khi tải từ một MS SQL cơ sở dữ liệu, các tùy chọn tương tự như khi tải một MySQL cơ sở dữ liệu
được hỗ trợ. Vui lòng tham khảo phần MySQL. Các tùy chọn sau được thêm vào:

· tạo đề án

Khi tùy chọn này được liệt kê, pgloader sẽ tạo các lược đồ giống như được tìm thấy trên MS SQL
ví dụ. Đây là mặc định.

· tạo Không đề án

Khi tùy chọn này được liệt kê, pgloader sẽ không tạo bất kỳ lược đồ nào, bạn
sau đó phải đảm bảo rằng lược đồ mục tiêu tồn tại.

· CAST

Mệnh đề truyền cho phép chỉ định các quy tắc truyền tùy chỉnh, hoặc quá tải mặc định
đúc các quy tắc hoặc để sửa đổi chúng với các trường hợp đặc biệt.

Vui lòng tham khảo mệnh đề MySQL CAST để biết thêm chi tiết.

· KỂ CẢ CHỈ BẢNG TÊN Tương tự ´ ... ´ [, ´ ... ´] IN LƯỢC ĐỒ ´ ... ´

Giới thiệu danh sách các mẫu tên bảng được phân tách bằng dấu phẩy được sử dụng để giới hạn các bảng
di chuyển đến một danh sách phụ. Nhiều hơn một điều khoản như vậy có thể được sử dụng, chúng sẽ được tích lũy
với nhau.

Ví dụ:

chỉ bao gồm các tên bảng lile ´GlobalAccount´ trong lược đồ ´dbo´

· LOẠI TRỪ BẢNG TÊN Tương tự ´ ... ´ [, ´ ... ´] IN LƯỢC ĐỒ ´ ... ´

Giới thiệu danh sách các mẫu tên bảng được phân tách bằng dấu phẩy được sử dụng để loại trừ tên bảng
từ cuộc di cư. Bộ lọc này chỉ áp dụng cho kết quả của KỂ CẢ lọc.

LOẠI TRỪ ĐỐI CHIẾU TÊN BẢNG ´LocalAccount´ trong lược đồ ´dbo´

MẶC ĐỊNH MS SQL ĐÚC QUY TẮC
Khi di chuyển từ MS SQL, các Quy tắc truyền sau đây được cung cấp:

số:

· Gõ tinyint thành smallint

· Gõ float thành float bằng cách sử dụng float-to-string

· Gõ real to real bằng float-to-string

· Gõ chính xác gấp đôi đến gấp đôi bằng cách sử dụng float-to-string

· Gõ số thành số bằng cách sử dụng float-to-string

· Gõ số thập phân sang số bằng cách sử dụng float-to-string

· Gõ tiền sang số bằng cách sử dụng float-to-string

· Gõ smallmoney thành số bằng cách sử dụng float-to-string

Nội dung:

· Gõ ký tự để text drop typemod

· Gõ nchat để text drop typemod

· Gõ varchar vào text drop typemod

· Gõ nvarchar vào text drop typemod

· Gõ xml vào text drop typemod

Nhị phân:

· Gõ nhị phân sang byte bằng cách sử dụng byte-vector-to-bytea

· Gõ varbinary thành bytea bằng cách sử dụng byte-vector-to-bytea

Ngày:

· Gõ datetime thành timestamptz

· Gõ datetime2 thành timestamptz

Những người khác:

· Gõ bit thành boolean

· Gõ phân cấp thành bytea

· Gõ địa lý vào bytea

· Gõ uniqueidentifier thành uuid bằng sql-server-uniqueidentifier-to-uuid

CHUYỂN ĐỔI CHỨC NĂNG


Một số kiểu dữ liệu được triển khai theo một cách đủ khác để một hàm chuyển đổi
là cần thiết. Hàm này phải được viết bằng Chung nói ngọng và được tìm kiếm trong
pgloader.transforms Gói.

Một số chức năng chuyển đổi mặc định được cung cấp với pgloader và bạn có thể sử dụng
--trọng tải tùy chọn dòng lệnh để tải và biên dịch tệp lisp của riêng bạn thành pgloader tại
thời gian chạy. Để các chức năng của bạn được tìm thấy, hãy nhớ bắt đầu tệp lisp của bạn với
mẫu sau:

(trong gói #: pgloader.transforms)

Các hàm chuyển đổi được cung cấp là:

· zero-date-to-null

Khi ngày nhập tất cả là số XNUMX, hãy trả về hư không, được tải dưới dạng PostgreSQL NULL
giá trị.

· ngày-có-không-dấu-phân-cách

Áp dụng zero-date-to-null sau đó chuyển đổi ngày đã cho thành định dạng PostgreSQL
thực sự sẽ xử lý:

Trong: "20041002152952"
Out: "2004-10-02 15:29:52"

· thời gian không có dấu phân cách

Chuyển thời gian đã cho thành định dạng mà PostgreSQL sẽ thực sự xử lý:

Trong: "08231560"
Hết: "08: 23: 15.60"

· tinyint-to-boolean

Vì MySQL thiếu kiểu boolean thích hợp, tí hon thường được sử dụng để thực hiện điều đó. Điều này
biến đổi chức năng 0 đến sai và bất cứ điều gì khác để đúng vậyÚc.

· bit-to-boolean

Vì MySQL thiếu kiểu boolean thích hợp, BIT thường được sử dụng để thực hiện điều đó. Điều này
hàm biến đổi vectơ bit 1-bit từ 0 đến f và bất kỳ giá trị nào khác để t..

· int-to-ip

Chuyển một số nguyên thành biểu diễn dạng chấm của ip4.

Trong: 18435761
Hết: "1.25.78.177"

· Phạm vi ip

Chuyển đổi một vài số nguyên đã cho dưới dạng chuỗi thành một dải ip4.

Trong: "16825344" "16825599"
Hết: "1.0.188.0-1.0.188.255"

· chuyển đổi-mysql-điểm

Chuyển đổi từ văn bản biểu diễn các điểm trong MySQL sang PostgreSQL
sự đại diện.

Trong: "POINT (48.5513589 7.6926827)"
Hết: "(48.5513589,7.6926827)"

· thả nổi vào chuỗi

Chuyển đổi float Lisp chung thành một chuỗi phù hợp với float PostgreSQL:

Trong: 100.0d0
Hết: "100.0"

· set-to-enum-mảng

Chuyển đổi một chuỗi đại diện cho Bộ MySQL thành Mảng PostgreSQL của các giá trị Enum từ
bộ.

Trong: "foo, bar"
Hết: "{foo, bar}"

· rỗng-string-to-null

Chuyển đổi một chuỗi rỗng thành một chuỗi rỗng.

· phải-trimg

Loại bỏ khoảng trắng ở cuối chuỗi.

· byte-vector-to-bytea

Chuyển đổi một mảng đơn giản gồm các byte không dấu sang Định dạng Hex của PostgreSQL bytea
đại diện như được ghi lại tại
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html

· dấu thời gian sqlite-to-dấu thời gian

Hệ thống kiểu SQLite khá thú vị, vì vậy hãy xử lý nó ở đây để tạo dấu thời gian
theo đúng như mong đợi của PostgreSQL. Điều đó bao gồm năm chỉ có 4 chữ số, 0 ngày đến
null và chuỗi ngày thích hợp.

· sql-server-mã định danh duy nhất-to-uuid

Trình điều khiển SQL Server nhận dữ liệu cho loại mã định danh duy nhất dưới dạng vectơ byte mà chúng tôi
sau đó cần chuyển đổi sang chuỗi UUID cho định dạng đầu vào PostgreSQL COPY để xử lý.

· unix-timestamp-to-timestamptz

Chuyển đổi một dấu thời gian unix (số giây đã trôi qua kể từ đầu năm 1970) thành
định dạng dấu thời gian PostgreSQL thích hợp.

TẢI TIN NHẮN


Lệnh này vẫn đang thử nghiệm và cho phép nhận tin nhắn qua UDP bằng nhật ký hệ thống
như định dạng và, tùy thuộc vào đối sánh quy tắc, tải các phần được đặt tên của luồng dữ liệu vào
một bảng đích.

TẢI TIN NHẮN
TỪ nhật ký hệ thống: // localhost: 10514 /

KHI TRẬN ĐẤU rsyslog-msg TRONG apache
ĐĂNG KÝ dấu thời gian, ip, phần còn lại
VÀO postgresql: // localhost / db? Logs.apache
SET guc_1 = ´value´, guc_2 = ´ giá trị khác´

KHI TRẬN ĐẤU rsyslog-msg Ở những người khác
ĐĂNG KÝ dấu thời gian, tên ứng dụng, dữ liệu
VÀO postgresql: // localhost / db? Logs.others
SET guc_1 = ´value´, guc_2 = ´ giá trị khác´

VỚI apache = rsyslog
DỮ LIỆU = IP REST
IP = 1 * 3DIGIT "." 1 * 3DIGIT "." 1 * 3DIGIT "." 1 * 3DIGIT
NGHỈ LẠI = ~ /.*/

VỚI những người khác = rsyslog;

Vì lệnh vẫn đang thử nghiệm, các tùy chọn có thể được thay đổi trong tương lai và
chi tiết không được ghi lại.

Sử dụng pgloader trực tuyến bằng các dịch vụ onworks.net



Các chương trình trực tuyến Linux & Windows mới nhất