summaryrefslogtreecommitdiff
path: root/vi
diff options
context:
space:
mode:
authorPeter Eisentraut2018-05-21 12:31:11 +0000
committerPeter Eisentraut2018-05-21 12:31:11 +0000
commit65c94a2c3bf63b0ba9adb139fb9e21641ca7ad68 (patch)
tree6705c97ca19bd07f2eea61d214babfedb3e39b5a /vi
parenta2ecce469b5380045710c1628d28c9d99876b335 (diff)
vi: New translation
Diffstat (limited to 'vi')
-rw-r--r--vi/ecpg.po684
-rw-r--r--vi/ecpglib.po200
-rw-r--r--vi/initdb.po1044
-rw-r--r--vi/pg_archivecleanup.po183
-rw-r--r--vi/pg_basebackup.po1520
-rw-r--r--vi/pg_config.po300
-rw-r--r--vi/pg_controldata.po476
-rw-r--r--vi/pg_test_fsync.po195
-rw-r--r--vi/pg_test_timing.po78
-rw-r--r--vi/pg_waldump.po309
-rw-r--r--vi/plperl.po242
-rw-r--r--vi/plpgsql.po850
-rw-r--r--vi/plpython.po485
-rw-r--r--vi/pltcl.po107
-rw-r--r--vi/psql.po6024
15 files changed, 12697 insertions, 0 deletions
diff --git a/vi/ecpg.po b/vi/ecpg.po
new file mode 100644
index 00000000..5c7c3575
--- /dev/null
+++ b/vi/ecpg.po
@@ -0,0 +1,684 @@
+# LANGUAGE message translation file for ecpg
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the ecpg (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ecpg (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-05-04 22:20+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: descriptor.c:64
+#, c-format
+msgid "variable \"%s\" must have a numeric type"
+msgstr "biến \"%s\" phải là kiểu numeric"
+
+#: descriptor.c:124 descriptor.c:146
+#, c-format
+msgid "descriptor \"%s\" does not exist"
+msgstr "descriptor \"%s\" không tồn tại"
+
+#: descriptor.c:161 descriptor.c:213
+#, c-format
+msgid "descriptor header item \"%d\" does not exist"
+msgstr "descriptor header item \"%d\" không tồn tại"
+
+#: descriptor.c:183
+#, c-format
+msgid "nullable is always 1"
+msgstr "giá trị có thể là NULL luôn là 1"
+
+#: descriptor.c:186
+#, c-format
+msgid "key_member is always 0"
+msgstr "key_member luôn là 0"
+
+#: descriptor.c:280
+#, c-format
+msgid "descriptor item \"%s\" is not implemented"
+msgstr "descriptor item \"%s\" chưa được thực thi"
+
+#: descriptor.c:290
+#, c-format
+msgid "descriptor item \"%s\" cannot be set"
+msgstr "descriptor item \"%s\" không thể thiết lập được"
+
+#: ecpg.c:35
+#, c-format
+msgid ""
+"%s is the PostgreSQL embedded SQL preprocessor for C programs.\n"
+"\n"
+msgstr ""
+"%s là tiền xử lý nhúng SQL của PostgreSQL cho ngôn ngữ C.\n"
+"\n"
+
+#: ecpg.c:37
+#, c-format
+msgid ""
+"Usage:\n"
+" %s [OPTION]... FILE...\n"
+"\n"
+msgstr ""
+"Cách sử dụng:\n"
+" %s [TÙY CHỌN]... TỆP...\n"
+"\n"
+
+#: ecpg.c:40
+#, c-format
+msgid "Options:\n"
+msgstr "Tùy chọn:\n"
+
+#: ecpg.c:41
+#, c-format
+msgid ""
+" -c automatically generate C code from embedded SQL code;\n"
+" this affects EXEC SQL TYPE\n"
+msgstr ""
+" -c tự động sinh mã C từ mã SQL nhúng;\n"
+" điều này ảnh hưởng tới EXEC SQL TYPE\n"
+
+#: ecpg.c:43
+#, c-format
+msgid ""
+" -C MODE set compatibility mode; MODE can be one of\n"
+" \"INFORMIX\", \"INFORMIX_SE\", \"ORACLE\"\n"
+msgstr ""
+" -C MODE thiết lập chế độ tương thích; MODE có thể là \n"
+" \"INFORMIX\", \"INFORMIX_SE\" hoặc \"ORACLE\"\n"
+
+#: ecpg.c:46
+#, c-format
+msgid " -d generate parser debug output\n"
+msgstr " -d xuất debug log cho trình phân tích cú pháp\n"
+
+#: ecpg.c:48
+#, c-format
+msgid " -D SYMBOL define SYMBOL\n"
+msgstr " -D SYMBOL định nghĩa SYMBOL\n"
+
+#: ecpg.c:49
+#, c-format
+msgid ""
+" -h parse a header file, this option includes option \"-c\"\n"
+msgstr ""
+" -h phân tích cú pháp tệp header, tùy chọn này bao gồm \n"
+" cả tùy chọn \"-c\"\n"
+
+#: ecpg.c:50
+#, c-format
+msgid " -i parse system include files as well\n"
+msgstr " -i phân tích cả cú pháp của các tệp include files\n"
+
+#: ecpg.c:51
+#, c-format
+msgid " -I DIRECTORY search DIRECTORY for include files\n"
+msgstr " -I DIRECTORY tìm kiếm THƯ MỤC cho các include files\n"
+
+#: ecpg.c:52
+#, c-format
+msgid " -o OUTFILE write result to OUTFILE\n"
+msgstr " -o OUTFILE ghi kết quả ra OUTFILE\n"
+
+#: ecpg.c:53
+#, c-format
+msgid ""
+" -r OPTION specify run-time behavior; OPTION can be:\n"
+" \"no_indicator\", \"prepare\", \"questionmarks\"\n"
+msgstr ""
+" -r OPTION chỉ định cách thức run-time; OPTION có thể là:\n"
+" \"no_indicator\", \"prepare\" hay \"questionmarks\"\n"
+
+#: ecpg.c:55
+#, c-format
+msgid " --regression run in regression testing mode\n"
+msgstr " --regression chạy trong chế độ regression test\n"
+
+#: ecpg.c:56
+#, c-format
+msgid " -t turn on autocommit of transactions\n"
+msgstr ""
+" -t thiết lập autocommit sang on trong các transactions\n"
+
+#: ecpg.c:57
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version xuât thông tin phiên bản, sau đó thoát\n"
+
+#: ecpg.c:58
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help hiển thị nội dung hướng dẫn này, sau đó thoát\n"
+
+#: ecpg.c:59
+#, c-format
+msgid ""
+"\n"
+"If no output file is specified, the name is formed by adding .c to the\n"
+"input file name, after stripping off .pgc if present.\n"
+msgstr ""
+"\n"
+"Nếu tệp xuất ra (OUTFILE) không được chỉ định, tên của tệp .c sẽ được \n"
+"lấy từ tên tệp .pgc đầu vào sau khi đã bỏ đi phần mở rộng .pgc\n"
+
+#: ecpg.c:61
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr ""
+"\n"
+"Báo cáo lỗi tới <pgsql-bugs@postgresql.org>.\n"
+
+#: ecpg.c:139
+#, c-format
+msgid "%s: could not locate my own executable path\n"
+msgstr "%s: không thể xác định ví trí đường dẫn để thực thi\n"
+
+#: ecpg.c:174 ecpg.c:331 ecpg.c:342
+#, c-format
+msgid "%s: could not open file \"%s\": %s\n"
+msgstr "%s: không thể mở file \"%s\": %s\n"
+
+#: ecpg.c:217 ecpg.c:230 ecpg.c:246 ecpg.c:272
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: ecpg.c:241
+#, c-format
+msgid "%s: parser debug support (-d) not available\n"
+msgstr ""
+"%s: chế độ hỗ trợ debug (-d) cho trình phân tích cú pháp chưa sẵn sàng\n"
+
+#: ecpg.c:260
+#, c-format
+msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n"
+msgstr "%s, tiền xử lý nhúng ngôn ngữ C cho PostgreSQL, phiên bản %s\n"
+
+#: ecpg.c:262
+#, c-format
+msgid "EXEC SQL INCLUDE ... search starts here:\n"
+msgstr "EXEC SQL INCLUDE ... tìm kiếm bắt đầu từ đây:\n"
+
+#: ecpg.c:265
+#, c-format
+msgid "end of search list\n"
+msgstr "cuối danh sách tìm kiếm\n"
+
+#: ecpg.c:271
+#, c-format
+msgid "%s: no input files specified\n"
+msgstr "%s: không có tệp đầu vào nào được chỉ định\n"
+
+#: ecpg.c:465
+#, c-format
+msgid "cursor \"%s\" has been declared but not opened"
+msgstr "con trỏ \"%s\" đã được định nghĩa nhưng chưa được open"
+
+#: ecpg.c:478 preproc.y:127
+#, c-format
+msgid "could not remove output file \"%s\"\n"
+msgstr "không thể xóa tệp đầu ra \"%s\"\n"
+
+#: pgc.l:435
+#, c-format
+msgid "unterminated /* comment"
+msgstr "dấu bình luận /* chưa được kết thúc"
+
+#: pgc.l:448
+#, c-format
+msgid "invalid bit string literal"
+msgstr "chuỗi ký tự bit không hợp lệ"
+
+#: pgc.l:457
+#, c-format
+msgid "unterminated bit string literal"
+msgstr "chuỗi bít ký tự chưa hoàn chỉnh"
+
+#: pgc.l:473
+#, c-format
+msgid "unterminated hexadecimal string literal"
+msgstr "chuỗi ký tự thập lục phân chưa hoàn chỉnh"
+
+#: pgc.l:551
+#, c-format
+msgid "unterminated quoted string"
+msgstr "chuỗi trích dẫn chưa hoàn chỉnh"
+
+#: pgc.l:609 pgc.l:622
+#, c-format
+msgid "zero-length delimited identifier"
+msgstr "ký tự phân cách có độ dài bằng 0"
+
+#: pgc.l:630
+#, c-format
+msgid "unterminated quoted identifier"
+msgstr "identifier trích dẫn chưa hoàn chỉnh"
+
+#: pgc.l:880
+#, c-format
+msgid "nested /* ... */ comments"
+msgstr "dấu bình luận /* ... */ lồng nhau"
+
+#: pgc.l:973
+#, c-format
+msgid "missing identifier in EXEC SQL UNDEF command"
+msgstr "thiếu identifier trong câu lệnh EXEC SQL UNDEF"
+
+#: pgc.l:1019 pgc.l:1033
+#, c-format
+msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""
+msgstr "không khớp giữa \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""
+
+#: pgc.l:1022 pgc.l:1035 pgc.l:1211
+#, c-format
+msgid "missing \"EXEC SQL ENDIF;\""
+msgstr "thiếu câu lệnh \"EXEC SQL ENDIF;\""
+
+#: pgc.l:1051 pgc.l:1070
+#, c-format
+msgid "more than one EXEC SQL ELSE"
+msgstr "có nhiều hơn một câu lệnh EXEC SQL ELSE"
+
+#: pgc.l:1092 pgc.l:1106
+#, c-format
+msgid "unmatched EXEC SQL ENDIF"
+msgstr "câu lệnh EXEC SQL ENDIF không khớp"
+
+#: pgc.l:1126
+#, c-format
+msgid "too many nested EXEC SQL IFDEF conditions"
+msgstr "quá nhiều điều kiện lồng EXEC SQL IFDEF"
+
+#: pgc.l:1159
+#, c-format
+msgid "missing identifier in EXEC SQL IFDEF command"
+msgstr "thiếu identifier trong câu lệnh EXEC SQL IFDEF"
+
+#: pgc.l:1168
+#, c-format
+msgid "missing identifier in EXEC SQL DEFINE command"
+msgstr "thiếu identifier trong câu lệnh EXEC SQL DEFINE"
+
+#: pgc.l:1201
+#, c-format
+msgid "syntax error in EXEC SQL INCLUDE command"
+msgstr "lỗi cú pháp trong câu lệnh EXEC SQL INCLUDE"
+
+#: pgc.l:1250
+#, c-format
+msgid ""
+"internal error: unreachable state; please report this to <pgsql-"
+"bugs@postgresql.org>"
+msgstr ""
+"lỗi nội bộ: trạng thái không thể truy cập; vui lòng báo cáo điều này với "
+"<pgsql-bugs@postgresql.org>"
+
+#: pgc.l:1379
+#, c-format
+msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n"
+msgstr "Lỗi: đường dẫn include \"%s/%s\" quá dài trên dòng %d, bỏ qua\n"
+
+#: pgc.l:1402
+#, c-format
+msgid "could not open include file \"%s\" on line %d"
+msgstr "không thể mở tệp include \"%s\" trên dòng %d"
+
+#: preproc.y:31
+msgid "syntax error"
+msgstr "lỗi cú pháp"
+
+#: preproc.y:81
+#, c-format
+msgid "WARNING: "
+msgstr "CẢNH BÁO: "
+
+#: preproc.y:84
+#, c-format
+msgid "ERROR: "
+msgstr "LỖI: "
+
+#: preproc.y:508
+#, c-format
+msgid "cursor \"%s\" does not exist"
+msgstr "on trỏ \"%s\" không tồn tại"
+
+#: preproc.y:537
+#, c-format
+msgid "initializer not allowed in type definition"
+msgstr "initializer không được cho phép trong định nghĩa kiểu"
+
+#: preproc.y:539
+#, c-format
+msgid "type name \"string\" is reserved in Informix mode"
+msgstr "kiểu \"string\" được dành riêng trong chế độ Informix"
+
+#: preproc.y:546 preproc.y:15714
+#, c-format
+msgid "type \"%s\" is already defined"
+msgstr "kiểu \"%s\" đã được định nghĩa"
+
+#: preproc.y:570 preproc.y:16372 preproc.y:16697 variable.c:620
+#, c-format
+msgid "multidimensional arrays for simple data types are not supported"
+msgstr "mảng đa chiều cho các kiểu dữ liệu đơn giản không được hỗ trợ"
+
+#: preproc.y:1693
+#, c-format
+msgid "AT option not allowed in CLOSE DATABASE statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh CLOSE DATABASE"
+
+#: preproc.y:1902
+#, c-format
+msgid "AT option not allowed in CONNECT statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh CONNECT"
+
+#: preproc.y:1936
+#, c-format
+msgid "AT option not allowed in DISCONNECT statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh DISCONNECT"
+
+#: preproc.y:1991
+#, c-format
+msgid "AT option not allowed in SET CONNECTION statement"
+msgstr "Tùy chọn AT không được cho phép trong câu lệnh SET CONNECTION"
+
+#: preproc.y:2013
+#, c-format
+msgid "AT option not allowed in TYPE statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh TYPE"
+
+#: preproc.y:2022
+#, c-format
+msgid "AT option not allowed in VAR statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh VAR"
+
+#: preproc.y:2029
+#, c-format
+msgid "AT option not allowed in WHENEVER statement"
+msgstr "Tùy chọn AT không được phép trong câu lệnh WHENEVER"
+
+#: preproc.y:2106 preproc.y:2278 preproc.y:2283 preproc.y:2399 preproc.y:4036
+#: preproc.y:5594 preproc.y:5603 preproc.y:5903 preproc.y:7502 preproc.y:8995
+#: preproc.y:9000 preproc.y:11782
+#, c-format
+msgid "unsupported feature will be passed to server"
+msgstr "tính năng không được hỗ trợ sẽ được chuyển đến server"
+
+#: preproc.y:2657
+#, c-format
+msgid "SHOW ALL is not implemented"
+msgstr "Lệnh SHOW ALL chưa được thực thi"
+
+#: preproc.y:3377
+#, c-format
+msgid "COPY FROM STDIN is not implemented"
+msgstr "Lệnh COPY FROM STDIN chưa được thực thi"
+
+#: preproc.y:9948 preproc.y:15303
+#, c-format
+msgid "using variable \"%s\" in different declare statements is not supported"
+msgstr ""
+"sử dụng biến \"%s\" trong các câu lệnh khai báo khác nhau không được hỗ trợ"
+
+#: preproc.y:9950 preproc.y:15305
+#, c-format
+msgid "cursor \"%s\" is already defined"
+msgstr "con trỏ \"%s\" đã được định nghĩa"
+
+#: preproc.y:10380
+#, c-format
+msgid "no longer supported LIMIT #,# syntax passed to server"
+msgstr "cú pháp không còn được hỗ trợ LIMIT #, # được chuyển đến server"
+
+#: preproc.y:10696 preproc.y:10703
+#, c-format
+msgid "subquery in FROM must have an alias"
+msgstr "truy vấn phụ trong FROM phải có bí danh"
+
+#: preproc.y:15033
+#, c-format
+msgid "CREATE TABLE AS cannot specify INTO"
+msgstr "Không thể sử dụng INTO trong câu lệnh CREATE TABLE AS"
+
+#: preproc.y:15069
+#, c-format
+msgid "expected \"@\", found \"%s\""
+msgstr "kì vọng \"@\", tìm thấy \"%s\""
+
+#: preproc.y:15081
+#, c-format
+msgid ""
+"only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are "
+"supported"
+msgstr ""
+"chỉ các giao thức \"tcp\" và \"unix\" và kiểu cơ sở dữ liệu \"postgresql\" "
+"được hỗ trợ"
+
+#: preproc.y:15084
+#, c-format
+msgid "expected \"://\", found \"%s\""
+msgstr "kỳ vọng \"://\", tìm thấy \"%s\""
+
+#: preproc.y:15089
+#, c-format
+msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\""
+msgstr ""
+"Unix-domain sockets chỉ hoạt động trên \"localhost\" nhưng không hoạt động "
+"trên \"%s\""
+
+#: preproc.y:15115
+#, c-format
+msgid "expected \"postgresql\", found \"%s\""
+msgstr "kỳ vọng \"postgresql\", tìm thấy \"%s\""
+
+#: preproc.y:15118
+#, c-format
+msgid "invalid connection type: %s"
+msgstr "loại kết nối không hợp lệ: %s"
+
+#: preproc.y:15127
+#, c-format
+msgid "expected \"@\" or \"://\", found \"%s\""
+msgstr "kỳ vọng \"@\" or \"://\", tìm được \"%s\""
+
+#: preproc.y:15202 preproc.y:15220
+#, c-format
+msgid "invalid data type"
+msgstr "kiểu dữ liệu không hợp lệ"
+
+#: preproc.y:15231 preproc.y:15248
+#, c-format
+msgid "incomplete statement"
+msgstr "câu lệnh chưa hoàn chỉnh"
+
+#: preproc.y:15234 preproc.y:15251
+#, c-format
+msgid "unrecognized token \"%s\""
+msgstr "không nhận ra token \"%s\""
+
+#: preproc.y:15525
+#, c-format
+msgid "only data types numeric and decimal have precision/scale argument"
+msgstr "chỉ các kiểu dữ liệu numeric và decimal có đối số precision và scale"
+
+#: preproc.y:15537
+#, c-format
+msgid "interval specification not allowed here"
+msgstr "chỉ định interval không được phép ở đây"
+
+#: preproc.y:15689 preproc.y:15741
+#, c-format
+msgid "too many levels in nested structure/union definition"
+msgstr "quá nhiều cấp độ lồng nhau trong định nghĩa structure/union"
+
+#: preproc.y:15880
+#, c-format
+msgid "pointers to varchar are not implemented"
+msgstr "con trỏ đến kiểu varchar chưa được thực thi"
+
+#: preproc.y:16067 preproc.y:16092
+#, c-format
+msgid "using unsupported DESCRIBE statement"
+msgstr "sử dụng câu lệnh chưa được hỗ trợ DESCRIBE"
+
+#: preproc.y:16339
+#, c-format
+msgid "initializer not allowed in EXEC SQL VAR command"
+msgstr "initializer không được phép trong câu lệnh EXEC SQL VAR"
+
+#: preproc.y:16655
+#, c-format
+msgid "arrays of indicators are not allowed on input"
+msgstr "đầu vào là mảng của các indicators không được cho phép"
+
+#: preproc.y:16876
+#, c-format
+msgid "operator not allowed in variable definition"
+msgstr "toán tử không được phép trong định nghĩa biến"
+
+#. translator: %s is typically the translation of "syntax error"
+#: preproc.y:16917
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s tại hoặc gần \"%s\""
+
+#: type.c:18 type.c:30
+#, c-format
+msgid "out of memory"
+msgstr "hết bộ nhớ"
+
+#: type.c:212 type.c:674
+#, c-format
+msgid "unrecognized variable type code %d"
+msgstr "không nhận ra kiểu mã biến %d"
+
+#: type.c:261
+#, c-format
+msgid "variable \"%s\" is hidden by a local variable of a different type"
+msgstr "biến \"%s\" bị ẩn bởi biến cục bộ thuộc một kiểu khác"
+
+#: type.c:263
+#, c-format
+msgid "variable \"%s\" is hidden by a local variable"
+msgstr "biến \"%s\" bị ẩn bởi biến cục bộ"
+
+#: type.c:275
+#, c-format
+msgid ""
+"indicator variable \"%s\" is hidden by a local variable of a different type"
+msgstr "biến indicator \"%s\" bị ẩn bởi một biến cục bộ thuộc một kiểu khác"
+
+#: type.c:277
+#, c-format
+msgid "indicator variable \"%s\" is hidden by a local variable"
+msgstr "biến indicator \"%s\" bị ẩn bởi biến cục bộ"
+
+#: type.c:285
+#, c-format
+msgid "indicator for array/pointer has to be array/pointer"
+msgstr "mảng/con trỏ cho indicator phải là mảng/con trỏ"
+
+#: type.c:289
+#, c-format
+msgid "nested arrays are not supported (except strings)"
+msgstr "mảng lồng nhau không được hỗ trợ (ngoại trừ chuỗi)"
+
+#: type.c:331
+#, c-format
+msgid "indicator for struct has to be a struct"
+msgstr "indicator cho structure phải là một structure"
+
+#: type.c:351 type.c:372 type.c:392
+#, c-format
+msgid "indicator for simple data type has to be simple"
+msgstr "indicator cho kiểu dữ liệu đơn giản phải đơn giản"
+
+#: type.c:615
+#, c-format
+msgid "indicator struct \"%s\" has too few members"
+msgstr "cấu trúc của indicator \"%s\" có quá ít thành viên"
+
+#: type.c:622
+#, c-format
+msgid "indicator struct \"%s\" has too many members"
+msgstr "cấu trúc của indicator \"%s\" có quá nhiều thành viên"
+
+#: type.c:733
+#, c-format
+msgid "unrecognized descriptor item code %d"
+msgstr "không nhận ra mã descriptor item %d"
+
+#: variable.c:89 variable.c:116
+#, c-format
+msgid "incorrectly formed variable \"%s\""
+msgstr "biến được định dạng không chính xác \"%s\""
+
+#: variable.c:139
+#, c-format
+msgid "variable \"%s\" is not a pointer"
+msgstr "biến \"%s\" không phải là con trỏ"
+
+#: variable.c:142 variable.c:167
+#, c-format
+msgid "variable \"%s\" is not a pointer to a structure or a union"
+msgstr "biến \"%s\" không phải là con trỏ trỏ tới structure hoặc union"
+
+#: variable.c:154
+#, c-format
+msgid "variable \"%s\" is neither a structure nor a union"
+msgstr "biến \"%s\" không phải là kiểu structure hay union"
+
+#: variable.c:164
+#, c-format
+msgid "variable \"%s\" is not an array"
+msgstr "biến \"%s\" không phải là mảng"
+
+#: variable.c:233 variable.c:255
+#, c-format
+msgid "variable \"%s\" is not declared"
+msgstr "biến \"%s\" chưa được định nghĩa"
+
+#: variable.c:494
+#, c-format
+msgid "indicator variable must have an integer type"
+msgstr "biến indicator phải có kiểu integer"
+
+#: variable.c:506
+#, c-format
+msgid "unrecognized data type name \"%s\""
+msgstr "không nhận ra kiểu dữ liệu \"%s\""
+
+#: variable.c:517 variable.c:525 variable.c:542 variable.c:545
+#, c-format
+msgid "multidimensional arrays are not supported"
+msgstr "mảng đa chiều không được hỗ trợ"
+
+#: variable.c:534
+#, c-format
+msgid ""
+"multilevel pointers (more than 2 levels) are not supported; found %d level"
+msgid_plural ""
+"multilevel pointers (more than 2 levels) are not supported; found %d levels"
+msgstr[0] ""
+"các con trỏ đa cấp (nhiều hơn 2 cấp) không được hỗ trợ; đã tìm thấy %d cấp"
+
+#: variable.c:539
+#, c-format
+msgid "pointer to pointer is not supported for this data type"
+msgstr "con trỏ đến con trỏ không được hỗ trợ cho kiểu dữ liệu này"
+
+#: variable.c:559
+#, c-format
+msgid "multidimensional arrays for structures are not supported"
+msgstr "mảng đa chiều cho kiểu cấu trúc không được hỗ trợ"
diff --git a/vi/ecpglib.po b/vi/ecpglib.po
new file mode 100644
index 00000000..850b54f2
--- /dev/null
+++ b/vi/ecpglib.po
@@ -0,0 +1,200 @@
+# LANGUAGE message translation file for ecpglib
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the ecpglib (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ecpglib (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-04-23 21:34+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: connect.c:237
+msgid "empty message text"
+msgstr "văn bản tin nhắn trống"
+
+#: connect.c:401 connect.c:430 connect.c:638
+msgid "<DEFAULT>"
+msgstr "<MẶC ĐỊNH>"
+
+#: descriptor.c:834 misc.c:120
+msgid "NULL"
+msgstr "NULL"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:33
+#, c-format
+msgid "no data found on line %d"
+msgstr "không tìm thấy dữ liệu trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:40
+#, c-format
+msgid "out of memory on line %d"
+msgstr "hết bộ nhớ trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:47
+#, c-format
+msgid "unsupported type \"%s\" on line %d"
+msgstr "không hỗ trợ kiểu \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:54
+#, c-format
+msgid "too many arguments on line %d"
+msgstr "quá nhiều đối số trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:61
+#, c-format
+msgid "too few arguments on line %d"
+msgstr "quá ít đối số trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:68
+#, c-format
+msgid "invalid input syntax for type int: \"%s\", on line %d"
+msgstr "cú pháp nhập không hợp lệ cho kiểu int: \"%s\", trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:75
+#, c-format
+msgid "invalid input syntax for type unsigned int: \"%s\", on line %d"
+msgstr "cú pháp nhập không hợp lệ cho kiểu unsigned int: \"%s\", trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:82
+#, c-format
+msgid "invalid input syntax for floating-point type: \"%s\", on line %d"
+msgstr "cú pháp nhập không hợp lệ cho kiểu dấu phẩy động: \"%s\", trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:90
+#, c-format
+msgid "invalid syntax for type boolean: \"%s\", on line %d"
+msgstr "cú pháp không hợp lệ cho kiểu boolean: \"%s\", trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:95
+#, c-format
+msgid "could not convert boolean value: size mismatch, on line %d"
+msgstr "không thể chuyển đổi giá trị boolean: kích thước không khớp, trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:102
+#, c-format
+msgid "empty query on line %d"
+msgstr "truy vấn trống trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:109
+#, c-format
+msgid "null value without indicator on line %d"
+msgstr "giá trị null không có chỉ báo (indicator) trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:116
+#, c-format
+msgid "variable does not have an array type on line %d"
+msgstr "biến không có kiểu mảng trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:123
+#, c-format
+msgid "data read from server is not an array on line %d"
+msgstr "dữ liệu đọc từ server không phải là một mảng trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:130
+#, c-format
+msgid "inserting an array of variables is not supported on line %d"
+msgstr "chèn một mảng các biến không được hỗ trợ trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:137
+#, c-format
+msgid "connection \"%s\" does not exist on line %d"
+msgstr "kết nối \"%s\" không tồn tại trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:144
+#, c-format
+msgid "not connected to connection \"%s\" on line %d"
+msgstr "chưa kết nối tới kết nối \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:151
+#, c-format
+msgid "invalid statement name \"%s\" on line %d"
+msgstr "tên statement không hợp lệ \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:158
+#, c-format
+msgid "descriptor \"%s\" not found on line %d"
+msgstr "không tìm thấy descriptor \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:165
+#, c-format
+msgid "descriptor index out of range on line %d"
+msgstr "chỉ mục của descriptor nằm ngoài phạm vi trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:172
+#, c-format
+msgid "unrecognized descriptor item \"%s\" on line %d"
+msgstr "không nhận ra descriptor item \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:179
+#, c-format
+msgid "variable does not have a numeric type on line %d"
+msgstr "biến số không có kiểu numeric trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:186
+#, c-format
+msgid "variable does not have a character type on line %d"
+msgstr "biến số không có kiểu ký tự trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:193
+#, c-format
+msgid "error in transaction processing on line %d"
+msgstr "lỗi trong xử lý giao dịch trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:200
+#, c-format
+msgid "could not connect to database \"%s\" on line %d"
+msgstr "không thể kết nối với cơ sở dữ liệu \"%s\" trên dòng %d"
+
+#. translator: this string will be truncated at 149 characters expanded.
+#: error.c:207
+#, c-format
+msgid "SQL error %d on line %d"
+msgstr "lỗi SQL %d trên dòng %d"
+
+#: error.c:254
+msgid "the connection to the server was lost"
+msgstr "kết nối với server bị mất"
+
+#: error.c:347
+#, c-format
+msgid "SQL error: %s\n"
+msgstr "lỗi SQL: %s\n"
+
+#: execute.c:1968
+msgid "<empty>"
+msgstr "<trống>"
diff --git a/vi/initdb.po b/vi/initdb.po
new file mode 100644
index 00000000..0a9875fb
--- /dev/null
+++ b/vi/initdb.po
@@ -0,0 +1,1044 @@
+# LANGUAGE message translation file for initdb
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the initdb (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: initdb (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:17+0000\n"
+"PO-Revision-Date: 2018-04-29 00:02+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "không thể xác định thư mục hiện tại: %s"
+
+#: ../../common/exec.c:146
+#, c-format
+msgid "invalid binary \"%s\""
+msgstr "tệp nhị phân không hợp lệ \"%s\""
+
+#: ../../common/exec.c:195
+#, c-format
+msgid "could not read binary \"%s\""
+msgstr "không thể đọc tệp nhị phân \"%s\""
+
+#: ../../common/exec.c:202
+#, c-format
+msgid "could not find a \"%s\" to execute"
+msgstr "không thể tìm thấy file \"%s\" để thực thi"
+
+#: ../../common/exec.c:257 ../../common/exec.c:293
+#, c-format
+msgid "could not change directory to \"%s\": %s"
+msgstr "không thể thay đổi thư mục thành \"%s\": %s"
+
+#: ../../common/exec.c:272
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "không thể đọc symbolic link \"%s\""
+
+#: ../../common/exec.c:523
+#, c-format
+msgid "pclose failed: %s"
+msgstr "pclose lỗi: %s"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
+#, c-format
+msgid "out of memory\n"
+msgstr "hết bộ nhớ\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "không thể nhân đôi con trỏ null (lỗi nội bộ)\n"
+
+#: ../../common/file_utils.c:82 ../../common/file_utils.c:186
+#, c-format
+msgid "%s: could not stat file \"%s\": %s\n"
+msgstr "%s: không thể hiện thị trạng thái tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:162
+#, c-format
+msgid "%s: could not open directory \"%s\": %s\n"
+msgstr "%s: không thể mở thư mục \"%s\": %s\n"
+
+#: ../../common/file_utils.c:198
+#, c-format
+msgid "%s: could not read directory \"%s\": %s\n"
+msgstr "%s: không thể đọc thư mục \"%s\": %s\n"
+
+#: ../../common/file_utils.c:231 ../../common/file_utils.c:291
+#: ../../common/file_utils.c:367
+#, c-format
+msgid "%s: could not open file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:304 ../../common/file_utils.c:376
+#, c-format
+msgid "%s: could not fsync file \"%s\": %s\n"
+msgstr "%s: không thể đồng bộ tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:387
+#, c-format
+msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
+msgstr "%s: không thể đổi tên tệp \"%s\" thành \"%s\": %s\n"
+
+#: ../../common/pgfnames.c:45
+#, c-format
+msgid "could not open directory \"%s\": %s\n"
+msgstr "không thể mở thư mục \"%s\": %s\n"
+
+#: ../../common/pgfnames.c:72
+#, c-format
+msgid "could not read directory \"%s\": %s\n"
+msgstr "không thể đọc thư mục \"%s\": %s\n"
+
+#: ../../common/pgfnames.c:84
+#, c-format
+msgid "could not close directory \"%s\": %s\n"
+msgstr "không thể đóng thư mục \"%s\": %s\n"
+
+#: ../../common/restricted_token.c:68
+#, c-format
+msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
+msgstr ""
+"%s: CẢNH BÁO: không thể tạo restricted tokens trên hệ điều hành hiện tại\n"
+
+#: ../../common/restricted_token.c:77
+#, c-format
+msgid "%s: could not open process token: error code %lu\n"
+msgstr "%s: không thể mở process token: mã lỗi %lu\n"
+
+#: ../../common/restricted_token.c:90
+#, c-format
+msgid "%s: could not allocate SIDs: error code %lu\n"
+msgstr "%s: không thể cấp phát SIDs: mã lỗi %lu\n"
+
+#: ../../common/restricted_token.c:110
+#, c-format
+msgid "%s: could not create restricted token: error code %lu\n"
+msgstr "%s: không thể tạo restricted token: mã lỗi %lu\n"
+
+#: ../../common/restricted_token.c:132
+#, c-format
+msgid "%s: could not start process for command \"%s\": error code %lu\n"
+msgstr "%s: không thể khởi động tiến trình cho câu lệnh \"%s\": mã lỗi %lu\n"
+
+#: ../../common/restricted_token.c:170
+#, c-format
+msgid "%s: could not re-execute with restricted token: error code %lu\n"
+msgstr "%s: không thể thực thi lại với restricted token: mã lỗi %lu\n"
+
+#: ../../common/restricted_token.c:186
+#, c-format
+msgid "%s: could not get exit code from subprocess: error code %lu\n"
+msgstr "%s: không thể lấy giá trị trả về của tiến trình con: mã lỗi %lu\n"
+
+#: ../../common/rmtree.c:77
+#, c-format
+msgid "could not stat file or directory \"%s\": %s\n"
+msgstr "không thể hiển thị trạng thái tệp hoặc thư mục \"%s\": %s\n"
+
+#: ../../common/rmtree.c:104 ../../common/rmtree.c:121
+#, c-format
+msgid "could not remove file or directory \"%s\": %s\n"
+msgstr "không thể xóa tệp hoặc thư mục \"%s\": %s\n"
+
+#: ../../common/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "không thể tra cứu được ID của người dùng có hiệu lực %ld: %s"
+
+#: ../../common/username.c:45
+msgid "user does not exist"
+msgstr "người dùng không tồn tại"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "lỗi tra cứu tên người dùng: mã lỗi %lu"
+
+#: ../../common/wait_error.c:45
+#, c-format
+msgid "command not executable"
+msgstr "câu lệnh không thể thực thi"
+
+#: ../../common/wait_error.c:49
+#, c-format
+msgid "command not found"
+msgstr "không tìm thấy lệnh"
+
+#: ../../common/wait_error.c:54
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "tiến trình con đã thoát với giá trị trả về %d"
+
+#: ../../common/wait_error.c:61
+#, c-format
+msgid "child process was terminated by exception 0x%X"
+msgstr "tiến trình con đã bị kết thúc bởi exception 0x%X"
+
+#: ../../common/wait_error.c:71
+#, c-format
+msgid "child process was terminated by signal %s"
+msgstr "tiến trình con đã bị kết thúc bởi tín hiệu %s"
+
+#: ../../common/wait_error.c:75
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "child process was terminated by signal %d"
+
+#: ../../common/wait_error.c:80
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "tiến trình con đã kết thúc với trạng thái không xác định %d"
+
+#: ../../port/dirmod.c:221
+#, c-format
+msgid "could not set junction for \"%s\": %s\n"
+msgstr "không thể thiết lập junction cho \"%s\": %s\n"
+
+#: ../../port/dirmod.c:298
+#, c-format
+msgid "could not get junction for \"%s\": %s\n"
+msgstr "không thể lấy được junction cho \"%s\": %s\n"
+
+#: initdb.c:339
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: hết bộ nhớ\n"
+
+#: initdb.c:495 initdb.c:1538
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s: không thể mở tệp \"%s\" để đọc: %s\n"
+
+#: initdb.c:551 initdb.c:867 initdb.c:895
+#, c-format
+msgid "%s: could not open file \"%s\" for writing: %s\n"
+msgstr "%s: không thể mở tệp \"%s\" để ghi: %s\n"
+
+#: initdb.c:559 initdb.c:567 initdb.c:874 initdb.c:901
+#, c-format
+msgid "%s: could not write file \"%s\": %s\n"
+msgstr "%s: không thể ghi tệp \"%s\": %s\n"
+
+#: initdb.c:586
+#, c-format
+msgid "%s: could not execute command \"%s\": %s\n"
+msgstr "%s: không thể thực hiện lệnh \"%s\": %s\n"
+
+#: initdb.c:602
+#, c-format
+msgid "%s: removing data directory \"%s\"\n"
+msgstr "%s: đang xoá thư mục dữ liệu \"%s\"\n"
+
+#: initdb.c:605
+#, c-format
+msgid "%s: failed to remove data directory\n"
+msgstr "%s: không thể xóa thư mục dữ liệu\n"
+
+#: initdb.c:611
+#, c-format
+msgid "%s: removing contents of data directory \"%s\"\n"
+msgstr "%s: đang xóa nội dung của thư mục dữ liệu \"%s\"\n"
+
+#: initdb.c:614
+#, c-format
+msgid "%s: failed to remove contents of data directory\n"
+msgstr "%s: không thể xóa nội dung của thư mục dữ liệu\n"
+
+#: initdb.c:620
+#, c-format
+msgid "%s: removing WAL directory \"%s\"\n"
+msgstr "%s: đang xóa thư mục WAL \"%s\"\n"
+
+#: initdb.c:623
+#, c-format
+msgid "%s: failed to remove WAL directory\n"
+msgstr "%s: không thể xóa thư mục WAL\n"
+
+#: initdb.c:629
+#, c-format
+msgid "%s: removing contents of WAL directory \"%s\"\n"
+msgstr "%s: đang xóa nội dung của thư mục WAL \"%s\"\n"
+
+#: initdb.c:632
+#, c-format
+msgid "%s: failed to remove contents of WAL directory\n"
+msgstr "%s: không thể xóa nội dung của thư mục WAL\n"
+
+#: initdb.c:641
+#, c-format
+msgid "%s: data directory \"%s\" not removed at user's request\n"
+msgstr "%s: thư mục dữ liệu \"%s\" không bị xóa theo yêu cầu của người dùng\n"
+
+#: initdb.c:646
+#, c-format
+msgid "%s: WAL directory \"%s\" not removed at user's request\n"
+msgstr "%s: thư mục WAL \"%s\" không bị xóa theo yêu cầu của người dùng\n"
+
+#: initdb.c:667
+#, c-format
+msgid ""
+"%s: cannot be run as root\n"
+"Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n"
+"own the server process.\n"
+msgstr ""
+"%s: không thể chạy dưới quyền root\n"
+"Vui lòng đăng nhập (sử dụng, ví dụ: \"su\") bằng người dùng không có đặc "
+"quyền,\n"
+"người dùng này sẽ sở hữu tiến trình server.\n"
+
+#: initdb.c:703
+#, c-format
+msgid "%s: \"%s\" is not a valid server encoding name\n"
+msgstr "%s: \"%s\" không phải là server encoding hợp lệ\n"
+
+#: initdb.c:823
+#, c-format
+msgid "%s: file \"%s\" does not exist\n"
+msgstr "%s: tệp \"%s\" không tồn tại\n"
+
+#: initdb.c:825 initdb.c:834 initdb.c:844
+#, c-format
+msgid ""
+"This might mean you have a corrupted installation or identified\n"
+"the wrong directory with the invocation option -L.\n"
+msgstr ""
+"Điều này có nghĩa là bạn đã bị lỗi trong quá trình cài đặt hoặc \n"
+"chỉ định sai thư mục trong tùy chọn -L.\n"
+
+#: initdb.c:831
+#, c-format
+msgid "%s: could not access file \"%s\": %s\n"
+msgstr "%s: không thể truy cập tệp \"%s\": %s\n"
+
+#: initdb.c:842
+#, c-format
+msgid "%s: file \"%s\" is not a regular file\n"
+msgstr "%s: tệp \"%s\" không phải là tệp thông thường\n"
+
+#: initdb.c:987
+#, c-format
+msgid "selecting default max_connections ... "
+msgstr "đang chọn giá trị mặc định cho max_connections ... "
+
+#: initdb.c:1017
+#, c-format
+msgid "selecting default shared_buffers ... "
+msgstr "đang chọn giá trị mặc định cho shared_buffers ... "
+
+#: initdb.c:1050
+#, c-format
+msgid "selecting dynamic shared memory implementation ... "
+msgstr "đang chọn triển khai bộ nhớ chia sẻ động (DSM) ... "
+
+#: initdb.c:1085
+msgid "creating configuration files ... "
+msgstr "đang tạo tệp cấu hình ... "
+
+#: initdb.c:1239 initdb.c:1259 initdb.c:1346 initdb.c:1362
+#, c-format
+msgid "%s: could not change permissions of \"%s\": %s\n"
+msgstr "%s: không thể thay đổi quyền của \"%s\": %s\n"
+
+#: initdb.c:1385
+#, c-format
+msgid "running bootstrap script ... "
+msgstr "đang chạy tập lệnh khởi động ... "
+
+#: initdb.c:1398
+#, c-format
+msgid ""
+"%s: input file \"%s\" does not belong to PostgreSQL %s\n"
+"Check your installation or specify the correct path using the option -L.\n"
+msgstr ""
+"%s: tệp đầu vào \"%s\" không thuộc về PostgreSQL %s\n"
+"Kiểm tra cài đặt của bạn hoặc chỉ định đường dẫn đúng bằng tùy chọn -L.\n"
+
+#: initdb.c:1515
+msgid "Enter new superuser password: "
+msgstr "Nhập mật khẩu cho superuser mới: "
+
+#: initdb.c:1516
+msgid "Enter it again: "
+msgstr "Nhập lại: "
+
+#: initdb.c:1519
+#, c-format
+msgid "Passwords didn't match.\n"
+msgstr "Mật khẩu không khớp.\n"
+
+#: initdb.c:1545
+#, c-format
+msgid "%s: could not read password from file \"%s\": %s\n"
+msgstr "%s: không thể đọc mật khẩu từ tệp \"%s\": %s\n"
+
+#: initdb.c:1548
+#, c-format
+msgid "%s: password file \"%s\" is empty\n"
+msgstr "%s: tệp mật khẩu \"%s\" trống\n"
+
+#: initdb.c:2123
+#, c-format
+msgid "caught signal\n"
+msgstr "nhận được tín hiệu\n"
+
+#: initdb.c:2129
+#, c-format
+msgid "could not write to child process: %s\n"
+msgstr "không thể ghi tới tiến trình con: %s\n"
+
+#: initdb.c:2137
+#, c-format
+msgid "ok\n"
+msgstr "ok\n"
+
+#: initdb.c:2227
+#, c-format
+msgid "%s: setlocale() failed\n"
+msgstr "%s: setlocale() lỗi\n"
+
+#: initdb.c:2249
+#, c-format
+msgid "%s: failed to restore old locale \"%s\"\n"
+msgstr "%s: lỗi khi khôi phục ngôn ngữ cũ \"%s\"\n"
+
+#: initdb.c:2259
+#, c-format
+msgid "%s: invalid locale name \"%s\"\n"
+msgstr "%s: tên ngôn ngữ không hợp lệ \"%s\"\n"
+
+#: initdb.c:2271
+#, c-format
+msgid ""
+"%s: invalid locale settings; check LANG and LC_* environment variables\n"
+msgstr ""
+"%s: cài đặt ngôn ngữ không hợp lệ; kiểm tra biến môi trường LANG và LC_ *\n"
+
+#: initdb.c:2299
+#, c-format
+msgid "%s: encoding mismatch\n"
+msgstr "%s: mã hóa không khớp\n"
+
+#: initdb.c:2301
+#, c-format
+msgid ""
+"The encoding you selected (%s) and the encoding that the\n"
+"selected locale uses (%s) do not match. This would lead to\n"
+"misbehavior in various character string processing functions.\n"
+"Rerun %s and either do not specify an encoding explicitly,\n"
+"or choose a matching combination.\n"
+msgstr ""
+"Mã hóa bạn đã chọn (%s) và mã hóa mà ngôn ngữ được chọn \n"
+"sử dụng (%s) không khớp. Điều này có thể dãn đến xử lý không \n"
+"đúng trong các hàm xử lý chuỗi ký tự. Chạy lại lệnh %s và không \n"
+"chỉ định mã hóa, hoặc chọn mã hóa phù hợp.\n"
+
+#: initdb.c:2373
+#, c-format
+msgid ""
+"%s initializes a PostgreSQL database cluster.\n"
+"\n"
+msgstr ""
+"%s khởi tạo thư mục dữ liệu cho PostgreSQL.\n"
+"\n"
+
+#: initdb.c:2374
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: initdb.c:2375
+#, c-format
+msgid " %s [OPTION]... [DATADIR]\n"
+msgstr " %s [OPTION]... [DATADIR]\n"
+
+#: initdb.c:2376
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tùy chọn:\n"
+
+#: initdb.c:2377
+#, c-format
+msgid ""
+" -A, --auth=METHOD default authentication method for local "
+"connections\n"
+msgstr ""
+" -A, --auth=METHOD phương pháp xác thực mặc định cho kết nối cục "
+"bộ\n"
+
+#: initdb.c:2378
+#, c-format
+msgid ""
+" --auth-host=METHOD default authentication method for local TCP/IP "
+"connections\n"
+msgstr ""
+" --auth-host=METHOD phương thức xác thực mặc định cho các kết nối "
+"TCP/IP cục bộ\n"
+
+#: initdb.c:2379
+#, c-format
+msgid ""
+" --auth-local=METHOD default authentication method for local-socket "
+"connections\n"
+msgstr ""
+" --auth-local=METHOD phương thức xác thực mặc định cho các kết nối "
+"socket cục bộ\n"
+
+#: initdb.c:2380
+#, c-format
+msgid " [-D, --pgdata=]DATADIR location for this database cluster\n"
+msgstr " [-D, --pgdata=]DATADIR vị trí cho thư mục cơ sở dữ liệu này\n"
+
+#: initdb.c:2381
+#, c-format
+msgid " -E, --encoding=ENCODING set default encoding for new databases\n"
+msgstr ""
+" -E, --encoding=ENCODING đặt mã hóa mặc định cho cơ sở dữ liệu mới\n"
+
+#: initdb.c:2382
+#, c-format
+msgid ""
+" -g, --allow-group-access allow group read/execute on data directory\n"
+msgstr ""
+" -g, --allow-group-access cho phép đọc/thực thi theo nhóm trên thư mục dữ "
+"liệu\n"
+
+#: initdb.c:2383
+#, c-format
+msgid " --locale=LOCALE set default locale for new databases\n"
+msgstr ""
+" --locale=LOCALE đặt ngôn ngữ mặc định cho cơ sở dữ liệu mới\n"
+
+#: initdb.c:2384
+#, c-format
+msgid ""
+" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
+" --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n"
+" set default locale in the respective category "
+"for\n"
+" new databases (default taken from environment)\n"
+msgstr ""
+" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
+" --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n"
+" đặt ngôn ngữ mặc định trong danh mục tương "
+"ứng \n"
+" cho sở dữ liệu mới (mặc định được lấy từ môi "
+"trường)\n"
+
+#: initdb.c:2388
+#, c-format
+msgid " --no-locale equivalent to --locale=C\n"
+msgstr " --no-locale tương đương với --locale=C\n"
+
+#: initdb.c:2389
+#, c-format
+msgid ""
+" --pwfile=FILE read password for the new superuser from file\n"
+msgstr " --pwfile=FILE đặt mật khẩu cho superuser mới từ tệp\n"
+
+#: initdb.c:2390
+#, c-format
+msgid ""
+" -T, --text-search-config=CFG\n"
+" default text search configuration\n"
+msgstr ""
+" -T, --text-search-config=CFG\n"
+" cấu hình tìm kiếm văn bản mặc định\n"
+
+#: initdb.c:2392
+#, c-format
+msgid " -U, --username=NAME database superuser name\n"
+msgstr " -U, --username=NAME tên superuser cơ sở dữ liệu\n"
+
+#: initdb.c:2393
+#, c-format
+msgid ""
+" -W, --pwprompt prompt for a password for the new superuser\n"
+msgstr " -W, --pwprompt yêu cầu nhập mật khẩu cho superuser mới\n"
+
+#: initdb.c:2394
+#, c-format
+msgid ""
+" -X, --waldir=WALDIR location for the write-ahead log directory\n"
+msgstr ""
+" -X, --waldir=WALDIR chỉ định vị trí cho thư mục write-ahead log "
+"(WAL)\n"
+
+#: initdb.c:2395
+#, c-format
+msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n"
+msgstr ""
+" --wal-segsize=SIZE kích thước của từng tệp WAL, tính bằng "
+"megabyte\n"
+
+#: initdb.c:2396
+#, c-format
+msgid ""
+"\n"
+"Less commonly used options:\n"
+msgstr ""
+"\n"
+"Các tùy chọn ít được sử dụng hơn:\n"
+
+#: initdb.c:2397
+#, c-format
+msgid " -d, --debug generate lots of debugging output\n"
+msgstr ""
+" -d, --debug xuất nhiều thông tin debug\n"
+" \n"
+
+#: initdb.c:2398
+#, c-format
+msgid " -k, --data-checksums use data page checksums\n"
+msgstr " -k, --data-checksums sử dụng checksums cho page dữ liệu\n"
+
+#: initdb.c:2399
+#, c-format
+msgid " -L DIRECTORY where to find the input files\n"
+msgstr " -L DIRECTORY nơi để tìm các tập tin đầu vào\n"
+
+#: initdb.c:2400
+#, c-format
+msgid " -n, --no-clean do not clean up after errors\n"
+msgstr " -n, --no-clean không dọn dẹp sau khi lỗi\n"
+
+#: initdb.c:2401
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written safely to "
+"disk\n"
+msgstr ""
+" -N, --no-sync không thực hiện đồng bộ (sync) dữ liệu xuống "
+"đĩa luôn\n"
+
+#: initdb.c:2402
+#, c-format
+msgid " -s, --show show internal settings\n"
+msgstr " -s, --show hiển thị thiết lập nội bộ\n"
+
+#: initdb.c:2403
+#, c-format
+msgid " -S, --sync-only only sync data directory\n"
+msgstr " -S, --sync-only chỉ đồng bộ thư mục cơ sở dữ liệu\n"
+
+#: initdb.c:2404
+#, c-format
+msgid ""
+"\n"
+"Other options:\n"
+msgstr ""
+"\n"
+"Các tùy chọn khác:\n"
+
+#: initdb.c:2405
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr ""
+" -V, --version hiển thị thông tin phiên bản, sau đó thoát\n"
+
+#: initdb.c:2406
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr ""
+" -?, --help hiển thị nội dung hướng dẫn này, sau đó thoát\n"
+
+#: initdb.c:2407
+#, c-format
+msgid ""
+"\n"
+"If the data directory is not specified, the environment variable PGDATA\n"
+"is used.\n"
+msgstr ""
+"\n"
+"Nếu thư mục dữ liệu không được chỉ định, thì biến môi trường PGDATA\n"
+"sẽ được sử dụng.\n"
+
+#: initdb.c:2409
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr ""
+"\n"
+"Báo cáo bugs qua email <pgsql-bugs@postgresql.org>.\n"
+
+#: initdb.c:2417
+msgid ""
+"\n"
+"WARNING: enabling \"trust\" authentication for local connections\n"
+"You can change this by editing pg_hba.conf or using the option -A, or\n"
+"--auth-local and --auth-host, the next time you run initdb.\n"
+msgstr ""
+"\n"
+"CẢNH BÁO: đã thiết lập xác thực \"trust\" cho kết nối cục bộ\n"
+"Bạn có thể thay đổi điều này bằng cách chỉnh sửa pg_hba.conf hoặc sử dụng "
+"tùy chọn -A,\n"
+"hoặc --auth-local và --auth-host cho lần chạy initdb sau.\n"
+
+#: initdb.c:2439
+#, c-format
+msgid "%s: invalid authentication method \"%s\" for \"%s\" connections\n"
+msgstr "%s: phương pháp xác thực không hợp lệ \"%s\" cho kết nối \"%s\"\n"
+
+#: initdb.c:2455
+#, c-format
+msgid ""
+"%s: must specify a password for the superuser to enable %s authentication\n"
+msgstr "%s: phải chỉ định mật khẩu cho superuser để thiết lập xác thực %s\n"
+
+#: initdb.c:2483
+#, c-format
+msgid ""
+"%s: no data directory specified\n"
+"You must identify the directory where the data for this database system\n"
+"will reside. Do this with either the invocation option -D or the\n"
+"environment variable PGDATA.\n"
+msgstr ""
+"%s: không có thư mục dữ liệu nào được chỉ định\n"
+"Bạn phải xác định thư mục nơi chứa dữ liệu cho hệ thống cơ sở dữ liệu này.\n"
+"Bạn có thể làm điều này với tùy chọn gọi -D hoặc\n"
+"biến môi trường PGDATA.\n"
+
+#: initdb.c:2521
+#, c-format
+msgid ""
+"The program \"postgres\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
+"Check your installation.\n"
+msgstr ""
+"Chương trình \"postgres\" là cần thiết bởi %s nhưng không được tìm thấy\n"
+"trong cùng thư mục với \"%s\".\n"
+"Xin vui lòng kiểm tra cài đặt của bạn.\n"
+
+#: initdb.c:2528
+#, c-format
+msgid ""
+"The program \"postgres\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
+"Check your installation.\n"
+msgstr ""
+"Chương trình \"postgres\" được tìm thấy bởi \"%s\"\n"
+"nhưng không cùng phiên bản với %s.\n"
+"Xin vui lòng kiểm tra cài đặt của bạn.\n"
+
+#: initdb.c:2547
+#, c-format
+msgid "%s: input file location must be an absolute path\n"
+msgstr "%s: vị trí tệp đầu vào phải là đường dẫn tuyệt đối\n"
+
+#: initdb.c:2564
+#, c-format
+msgid "The database cluster will be initialized with locale \"%s\".\n"
+msgstr "database cluster sẽ được khởi tạo với ngôn ngữ \"%s\".\n"
+
+#: initdb.c:2567
+#, c-format
+msgid ""
+"The database cluster will be initialized with locales\n"
+" COLLATE: %s\n"
+" CTYPE: %s\n"
+" MESSAGES: %s\n"
+" MONETARY: %s\n"
+" NUMERIC: %s\n"
+" TIME: %s\n"
+msgstr ""
+"database cluster sẽ được khởi tạo bằng ngôn ngữ\n"
+" COLLATE: %s\n"
+" CTYPE: %s\n"
+" MESSAGES: %s\n"
+" MONETARY: %s\n"
+" NUMERIC: %s\n"
+" TIME: %s\n"
+
+#: initdb.c:2591
+#, c-format
+msgid "%s: could not find suitable encoding for locale \"%s\"\n"
+msgstr "%s: không thể tìm thấy encoding phù hợp cho ngôn ngữ \"%s\"\n"
+
+#: initdb.c:2593
+#, c-format
+msgid "Rerun %s with the -E option.\n"
+msgstr "Chạy lại %s với tùy chọn -E.\n"
+
+#: initdb.c:2594 initdb.c:3235 initdb.c:3256
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: initdb.c:2607
+#, c-format
+msgid ""
+"Encoding \"%s\" implied by locale is not allowed as a server-side "
+"encoding.\n"
+"The default database encoding will be set to \"%s\" instead.\n"
+msgstr ""
+"Encoding \"%s\" được ngụ ý bởi ngôn ngữ không được phép làm encoding cho "
+"server.\n"
+"Thay vào đó, mặc định encoding cho cơ sở dữ liệu sẽ được đặt thành \"%s\".\n"
+
+#: initdb.c:2613
+#, c-format
+msgid "%s: locale \"%s\" requires unsupported encoding \"%s\"\n"
+msgstr "%s: ngôn ngữ \"%s\" yêu cầu encoding không được hỗ trợ \"%s\"\n"
+
+#: initdb.c:2616
+#, c-format
+msgid ""
+"Encoding \"%s\" is not allowed as a server-side encoding.\n"
+"Rerun %s with a different locale selection.\n"
+msgstr ""
+"Encoding \"%s\" không được cho phép làm encoding cho server.\n"
+"Chạy lại %s với một lựa chọn ngôn ngữ khác.\n"
+
+#: initdb.c:2625
+#, c-format
+msgid "The default database encoding has accordingly been set to \"%s\".\n"
+msgstr "Mặc định encoding cho cơ sở dữ liệu đã được đặt thành \"%s\".\n"
+
+#: initdb.c:2695
+#, c-format
+msgid ""
+"%s: could not find suitable text search configuration for locale \"%s\"\n"
+msgstr ""
+"%s: không thể tìm thấy cấu hình tìm kiếm văn bản phù hợp cho ngôn ngữ \"%s"
+"\"\n"
+
+#: initdb.c:2706
+#, c-format
+msgid ""
+"%s: warning: suitable text search configuration for locale \"%s\" is "
+"unknown\n"
+msgstr ""
+"%s: cảnh báo: cấu hình tìm kiếm văn bản phù hợp cho ngôn ngữ \"%s\" không "
+"xác định\n"
+
+#: initdb.c:2711
+#, c-format
+msgid ""
+"%s: warning: specified text search configuration \"%s\" might not match "
+"locale \"%s\"\n"
+msgstr ""
+"%s: cảnh báo: cấu hình tìm kiếm văn bản được chỉ định \"%s\" có thể không "
+"khớp với ngôn ngữ \"%s\"\n"
+
+#: initdb.c:2716
+#, c-format
+msgid "The default text search configuration will be set to \"%s\".\n"
+msgstr "Cấu hình tìm kiếm văn bản mặc định sẽ được đặt thành \"%s\".\n"
+
+#: initdb.c:2760 initdb.c:2846
+#, c-format
+msgid "creating directory %s ... "
+msgstr "đang tạo thư mục %s ... "
+
+#: initdb.c:2766 initdb.c:2852 initdb.c:2920 initdb.c:2982
+#, c-format
+msgid "%s: could not create directory \"%s\": %s\n"
+msgstr "%s: không thể tạo thư mục \"%s\": %s\n"
+
+#: initdb.c:2778 initdb.c:2864
+#, c-format
+msgid "fixing permissions on existing directory %s ... "
+msgstr "đang sửa các quyền trên thư mục hiện tại %s ... "
+
+#: initdb.c:2784 initdb.c:2870
+#, c-format
+msgid "%s: could not change permissions of directory \"%s\": %s\n"
+msgstr "%s: không thể thay đổi quyền của thư mục \"%s\": %s\n"
+
+#: initdb.c:2799 initdb.c:2885
+#, c-format
+msgid "%s: directory \"%s\" exists but is not empty\n"
+msgstr "%s: thư mục \"%s\" tồn tại nhưng không trống\n"
+
+#: initdb.c:2805
+#, c-format
+msgid ""
+"If you want to create a new database system, either remove or empty\n"
+"the directory \"%s\" or run %s\n"
+"with an argument other than \"%s\".\n"
+msgstr ""
+"Nếu bạn muốn tạo hệ thống cơ sở dữ liệu mới, hãy xóa hoặc làm trống\n"
+"thư mục \"%s\" hoặc chạy %s\n"
+"với một đối số khác với \"%s\".\n"
+
+#: initdb.c:2813 initdb.c:2898 initdb.c:3269
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s: không thể truy cập thư mục \"%s\": %s\n"
+
+#: initdb.c:2837
+#, c-format
+msgid "%s: WAL directory location must be an absolute path\n"
+msgstr "%s: Vị trí thư mục WAL phải là đường dẫn tuyệt đối\n"
+
+#: initdb.c:2891
+#, c-format
+msgid ""
+"If you want to store the WAL there, either remove or empty the directory\n"
+"\"%s\".\n"
+msgstr ""
+"Nếu bạn muốn lưu trữ WAL ở thư mục đã chỉ định, hãy xóa hoặc làm trống thư "
+"mục\n"
+"\"%s\".\n"
+
+#: initdb.c:2906
+#, c-format
+msgid "%s: could not create symbolic link \"%s\": %s\n"
+msgstr "%s: không thể tạo symbolic link \"%s\": %s\n"
+
+#: initdb.c:2911
+#, c-format
+msgid "%s: symlinks are not supported on this platform"
+msgstr "%s: symlinks không được hỗ trợ trên hệ điều hành này"
+
+#: initdb.c:2935
+#, c-format
+msgid ""
+"It contains a dot-prefixed/invisible file, perhaps due to it being a mount "
+"point.\n"
+msgstr ""
+"Đường dẫn chứa tập tin có tiền tố . hoặc vô hình, có lẽ do nó là một mount "
+"point.\n"
+
+#: initdb.c:2938
+#, c-format
+msgid ""
+"It contains a lost+found directory, perhaps due to it being a mount point.\n"
+msgstr "Đường dẫn chứa thư mục lost+found, có lẽ do nó là một mount point.\n"
+
+#: initdb.c:2941
+#, c-format
+msgid ""
+"Using a mount point directly as the data directory is not recommended.\n"
+"Create a subdirectory under the mount point.\n"
+msgstr ""
+"Sử dụng trực tiếp mount point cho thư mục dữ liệu là không được khuyến "
+"nghị.\n"
+"Tạo một thư mục con dưới mount point.\n"
+
+#: initdb.c:2967
+#, c-format
+msgid "creating subdirectories ... "
+msgstr "tạo thư mục con ... "
+
+#: initdb.c:3014
+msgid "performing post-bootstrap initialization ... "
+msgstr "thực hiện khởi tạo sau-bootstrap ... "
+
+#: initdb.c:3173
+#, c-format
+msgid "Running in debug mode.\n"
+msgstr "Chạy trong chế độ debug.\n"
+
+#: initdb.c:3177
+#, c-format
+msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n"
+msgstr "Chạy ở chế độ không dọn dẹp. lỗi xảy ra sẽ khộng được dọn dẹp.\n"
+
+#: initdb.c:3254
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: quá nhiều đối số cho câu lệnh (đầu tiên là \"%s\")\n"
+
+#: initdb.c:3274 initdb.c:3367
+msgid "syncing data to disk ... "
+msgstr "đồng bộ dữ liệu xuống đĩa cứng ... "
+
+#: initdb.c:3283
+#, c-format
+msgid "%s: password prompt and password file cannot be specified together\n"
+msgstr "%s: không thể chỉ định yêu cầu mật khẩu và tệp mật khẩu cùng lúc\n"
+
+#: initdb.c:3309
+#, c-format
+msgid "%s: argument of --wal-segsize must be a number\n"
+msgstr "%s: đối số của --wal-segsize phải là một số\n"
+
+#: initdb.c:3316
+#, c-format
+msgid ""
+"%s: argument of --wal-segsize must be a power of 2 between 1 and 1024\n"
+msgstr "%s: đối số của --wal-segsize phải là lũy thừa của 2 từ 1 đến 1024\n"
+
+#: initdb.c:3334
+#, c-format
+msgid ""
+"%s: superuser name \"%s\" is disallowed; role names cannot begin with \"pg_"
+"\"\n"
+msgstr ""
+"%s: tên superuser \"%s\" không được phép, tên role không thể bắt đầu bằng "
+"\"pg_\"\n"
+
+#: initdb.c:3338
+#, c-format
+msgid ""
+"The files belonging to this database system will be owned by user \"%s\".\n"
+"This user must also own the server process.\n"
+"\n"
+msgstr ""
+"Các tệp thuộc hệ thống cơ sở dữ liệu này sẽ được sở hữu bởi người dùng \"%s"
+"\".\n"
+"Người dùng này cũng phải sở hữu tiến trình server.\n"
+"\n"
+
+#: initdb.c:3354
+#, c-format
+msgid "Data page checksums are enabled.\n"
+msgstr "Checksums cho page dữ liệu đã được thiết lập.\n"
+
+#: initdb.c:3356
+#, c-format
+msgid "Data page checksums are disabled.\n"
+msgstr "Thiết lập checksums cho page dữ liệu đã bị hủy.\n"
+
+#: initdb.c:3373
+#, c-format
+msgid ""
+"\n"
+"Sync to disk skipped.\n"
+"The data directory might become corrupt if the operating system crashes.\n"
+msgstr ""
+"\n"
+"Đồng bộ hóa xuống đĩa cứng bị bỏ qua.\n"
+"Thư mục dữ liệu có thể bị hỏng nếu hệ điều hành bị sự cố.\n"
+
+#. translator: This is a placeholder in a shell command.
+#: initdb.c:3399
+msgid "logfile"
+msgstr "logfile"
+
+#: initdb.c:3401
+#, c-format
+msgid ""
+"\n"
+"Success. You can now start the database server using:\n"
+"\n"
+" %s\n"
+"\n"
+msgstr ""
+"\n"
+"Thành công. Bây giờ bạn có thể khởi động hệ thống cơ sở dữ liệu bằng cách "
+"sử dụng:\n"
+"\n"
+" %s\n"
+"\n"
diff --git a/vi/pg_archivecleanup.po b/vi/pg_archivecleanup.po
new file mode 100644
index 00000000..e35f8181
--- /dev/null
+++ b/vi/pg_archivecleanup.po
@@ -0,0 +1,183 @@
+# LANGUAGE message translation file for pg_archivecleanup
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_archivecleanup (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-23 02:27+0900\n"
+"PO-Revision-Date: 2018-05-04 22:03+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: pg_archivecleanup.c:72
+#, c-format
+msgid "%s: archive location \"%s\" does not exist\n"
+msgstr "%s: vị trí lưu trữ \"%s\" không tồn tại\n"
+
+#: pg_archivecleanup.c:148
+#, c-format
+msgid "%s: file \"%s\" would be removed\n"
+msgstr "%s: tệp \"%s\" sẽ bị xóa\n"
+
+#: pg_archivecleanup.c:154
+#, c-format
+msgid "%s: removing file \"%s\"\n"
+msgstr "%s: đang xóa tệp \"%s\"\n"
+
+#: pg_archivecleanup.c:160
+#, c-format
+msgid "%s: ERROR: could not remove file \"%s\": %s\n"
+msgstr "%s: LỖI: không thể xóa tệp \"%s\": %s\n"
+
+#: pg_archivecleanup.c:168
+#, c-format
+msgid "%s: could not read archive location \"%s\": %s\n"
+msgstr "%s: không thể đọc vị trí lưu trữ \"%s\": %s\n"
+
+#: pg_archivecleanup.c:171
+#, c-format
+msgid "%s: could not close archive location \"%s\": %s\n"
+msgstr "%s: không thể đóng vị trí lưu trữ \"%s\": %s\n"
+
+#: pg_archivecleanup.c:175
+#, c-format
+msgid "%s: could not open archive location \"%s\": %s\n"
+msgstr "%s: không thể mở vị trí lưu trữ \"%s\": %s\n"
+
+#: pg_archivecleanup.c:248
+#, c-format
+msgid "%s: invalid file name argument\n"
+msgstr "%s: đối số tên tệp không hợp lệ\n"
+
+#: pg_archivecleanup.c:249 pg_archivecleanup.c:321 pg_archivecleanup.c:342
+#: pg_archivecleanup.c:354 pg_archivecleanup.c:361
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_archivecleanup.c:262
+#, c-format
+msgid ""
+"%s removes older WAL files from PostgreSQL archives.\n"
+"\n"
+msgstr "%s xóa các tệp WAL cũ hơn khỏi lưu trữ PostgreSQL.\n"
+
+#: pg_archivecleanup.c:263
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: pg_archivecleanup.c:264
+#, c-format
+msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n"
+msgstr " %s [Tùy chọn]... ARCHIVELOCATION OLDESTKEPTWALFILE\n"
+
+#: pg_archivecleanup.c:265
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tùy chọn:\n"
+
+#: pg_archivecleanup.c:266
+#, c-format
+msgid " -d generate debug output (verbose mode)\n"
+msgstr " -d xuất debug log (chế độ chi tiết)\n"
+
+#: pg_archivecleanup.c:267
+#, c-format
+msgid ""
+" -n dry run, show the names of the files that would be "
+"removed\n"
+msgstr " -n chạy khô, hiển thị tên của các tệp sẽ bị xóa\n"
+
+#: pg_archivecleanup.c:268
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version xuất thông tin bản, sau đó kết thúc\n"
+
+#: pg_archivecleanup.c:269
+#, c-format
+msgid " -x EXT clean up files if they have this extension\n"
+msgstr " -x EXT dọn dẹp các tập tin nếu chúng có phần mở rộng này\n"
+
+#: pg_archivecleanup.c:270
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help hiển thị trợ giúp này, sau đó thoát\n"
+
+#: pg_archivecleanup.c:271
+#, c-format
+msgid ""
+"\n"
+"For use as archive_cleanup_command in recovery.conf when standby_mode = "
+"on:\n"
+" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION "
+"%%r'\n"
+"e.g.\n"
+" archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir "
+"%%r'\n"
+msgstr ""
+"\n"
+"Để sử dụng như archive_cleanup_command trong recovery.conf khi "
+"standby_mode = on:\n"
+" archive_cleanup_command = 'pg_archivecleanup [TÙY CHỌN] ... "
+"ARCHIVELOCATION %%r'\n"
+"ví dụ.\n"
+" archive_cleanup_command = 'pg_archivecleanup/mnt/server/archiverdir "
+"%%r'\n"
+
+#: pg_archivecleanup.c:276
+#, c-format
+msgid ""
+"\n"
+"Or for use as a standalone archive cleaner:\n"
+"e.g.\n"
+" pg_archivecleanup /mnt/server/archiverdir "
+"000000010000000000000010.00000020.backup\n"
+msgstr ""
+"\n"
+"Hoặc để sử dụng như một trình dọn dẹp lưu trữ độc lập:\n"
+"ví dụ.\n"
+" pg_archivecleanup /mnt/server/archiverdir "
+"000000010000000000000010.00000020.backup\n"
+
+#: pg_archivecleanup.c:280
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr ""
+"\n"
+"Báo cáo bugs qua email <pgsql-bugs@postgresql.org>.\n"
+
+#: pg_archivecleanup.c:341
+#, c-format
+msgid "%s: must specify archive location\n"
+msgstr "%s: phải chỉ định vị trí lưu trữ\n"
+
+#: pg_archivecleanup.c:353
+#, c-format
+msgid "%s: must specify oldest kept WAL file\n"
+msgstr "%s: phải chỉ định tệp WAL được giữ lâu nhất\n"
+
+#: pg_archivecleanup.c:360
+#, c-format
+msgid "%s: too many command-line arguments\n"
+msgstr "%s: có quá nhiều đối số dòng lệnh\n"
+
+#: pg_archivecleanup.c:379
+#, c-format
+msgid "%s: keeping WAL file \"%s\" and later\n"
+msgstr "%s: giữ tệp WAL \"%s\" và những tệp tiếp theo\n"
diff --git a/vi/pg_basebackup.po b/vi/pg_basebackup.po
new file mode 100644
index 00000000..19fcce3c
--- /dev/null
+++ b/vi/pg_basebackup.po
@@ -0,0 +1,1520 @@
+# LANGUAGE message translation file for pg_basebackup
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_basebackup (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_basebackup (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:16+0000\n"
+"PO-Revision-Date: 2018-05-06 01:24+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98
+#, c-format
+msgid "out of memory\n"
+msgstr "hết bộ nhớ\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "không thể nhân đôi con trỏ null (lỗi nội bộ)\n"
+
+#: ../../common/file_utils.c:82 ../../common/file_utils.c:186
+#: pg_receivewal.c:268 pg_recvlogical.c:354
+#, c-format
+msgid "%s: could not stat file \"%s\": %s\n"
+msgstr "%s: không thể lấy thông tin trạng thái tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:162 pg_receivewal.c:169
+#, c-format
+msgid "%s: could not open directory \"%s\": %s\n"
+msgstr "%s: không thể mở thư mục \"%s\": %s\n"
+
+#: ../../common/file_utils.c:198 pg_receivewal.c:336
+#, c-format
+msgid "%s: could not read directory \"%s\": %s\n"
+msgstr "%s: không thể đọc thư mục \"%s\": %s\n"
+
+#: ../../common/file_utils.c:231 ../../common/file_utils.c:291
+#: ../../common/file_utils.c:367
+#, c-format
+msgid "%s: could not open file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:304 ../../common/file_utils.c:376 receivelog.c:788
+#: receivelog.c:1045
+#, c-format
+msgid "%s: could not fsync file \"%s\": %s\n"
+msgstr "%s: không thể đồng bộ (fsync) tệp \"%s\": %s\n"
+
+#: ../../common/file_utils.c:387
+#, c-format
+msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
+msgstr "%s: không thể đổi tên tệp \"%s\" thành \"%s\": %s\n"
+
+#: pg_basebackup.c:166
+#, c-format
+msgid "%s: removing data directory \"%s\"\n"
+msgstr "%s: đang xóa thư mục \"%s\"\n"
+
+#: pg_basebackup.c:169
+#, c-format
+msgid "%s: failed to remove data directory\n"
+msgstr "%s: không thể xóa thư mục dữ liệu\n"
+
+#: pg_basebackup.c:175
+#, c-format
+msgid "%s: removing contents of data directory \"%s\"\n"
+msgstr "%s: đang xóa nội dung của thư mục dữ liệu \"%s\"\n"
+
+#: pg_basebackup.c:178
+#, c-format
+msgid "%s: failed to remove contents of data directory\n"
+msgstr "%s: không thể xóa nội dung thư mục dữ liệu\n"
+
+#: pg_basebackup.c:184
+#, c-format
+msgid "%s: removing WAL directory \"%s\"\n"
+msgstr "%s: đang xóa thư mục WAL \"%s\"\n"
+
+#: pg_basebackup.c:187
+#, c-format
+msgid "%s: failed to remove WAL directory\n"
+msgstr "%s: không thể xóa thư mục WAL\n"
+
+#: pg_basebackup.c:193
+#, c-format
+msgid "%s: removing contents of WAL directory \"%s\"\n"
+msgstr "%s: đang xóa nội dung thư mục WAL \"%s\"\n"
+
+#: pg_basebackup.c:196
+#, c-format
+msgid "%s: failed to remove contents of WAL directory\n"
+msgstr "%s: không thể xóa nội dung thư mục WAL\n"
+
+#: pg_basebackup.c:204
+#, c-format
+msgid "%s: data directory \"%s\" not removed at user's request\n"
+msgstr "%s: thư mục dữ liệu \"%s\" không bị xóa theo yêu cầu của người dùng\n"
+
+#: pg_basebackup.c:209
+#, c-format
+msgid "%s: WAL directory \"%s\" not removed at user's request\n"
+msgstr "%s: thư mục WAL \"%s\" không bị xóa theo yêu cầu của người dùng\n"
+
+#: pg_basebackup.c:215
+#, c-format
+msgid "%s: changes to tablespace directories will not be undone\n"
+msgstr "%s: các thay đổi đối với thư mục tablespace sẽ không được hoàn tác\n"
+
+#: pg_basebackup.c:257
+#, c-format
+msgid "%s: directory name too long\n"
+msgstr "%s: tên thư mục quá dài\n"
+
+#: pg_basebackup.c:267
+#, c-format
+msgid "%s: multiple \"=\" signs in tablespace mapping\n"
+msgstr "%s: nhiều dấu \"=\" trong ánh xạ tablespace\n"
+
+#: pg_basebackup.c:280
+#, c-format
+msgid ""
+"%s: invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"\n"
+msgstr ""
+"%s: định dạng ánh xạ tablespace không hợp lệ \"%s\", phải là \"OLDDIR=NEWDIR"
+"\"\n"
+
+#: pg_basebackup.c:293
+#, c-format
+msgid "%s: old directory is not an absolute path in tablespace mapping: %s\n"
+msgstr ""
+"%s: thư mục cũ không phải là đường dẫn tuyệt đối trong ánh xạ tablespace: "
+"%s\n"
+
+#: pg_basebackup.c:300
+#, c-format
+msgid "%s: new directory is not an absolute path in tablespace mapping: %s\n"
+msgstr ""
+"%s: thư mục mới không phải là đường dẫn tuyệt đối trong ánh xạ tablespace: "
+"%s\n"
+
+#: pg_basebackup.c:339
+#, c-format
+msgid ""
+"%s takes a base backup of a running PostgreSQL server.\n"
+"\n"
+msgstr ""
+"%s lấy bản sao lưu cơ sở của PostgreSQL server đang chạy.\n"
+"\n"
+
+#: pg_basebackup.c:341 pg_receivewal.c:79 pg_recvlogical.c:78
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: pg_basebackup.c:342 pg_receivewal.c:80 pg_recvlogical.c:79
+#, c-format
+msgid " %s [OPTION]...\n"
+msgstr " %s [TÙYCHỌN]...\n"
+
+#: pg_basebackup.c:343
+#, c-format
+msgid ""
+"\n"
+"Options controlling the output:\n"
+msgstr ""
+"\n"
+"Tùy chọn kiểm soát đầu ra:\n"
+
+#: pg_basebackup.c:344
+#, c-format
+msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n"
+msgstr " -D, --pgdata=DIRECTORY chỉ định thư mục lưu bản sao lưu cơ sở\n"
+
+#: pg_basebackup.c:345
+#, c-format
+msgid " -F, --format=p|t output format (plain (default), tar)\n"
+msgstr " -F, --format=p|t định dạng đầu ra (plain (mặc định), tar)\n"
+
+#: pg_basebackup.c:346
+#, c-format
+msgid ""
+" -r, --max-rate=RATE maximum transfer rate to transfer data directory\n"
+" (in kB/s, or use suffix \"k\" or \"M\")\n"
+msgstr ""
+" -r, --max-rate=RATE tốc độ truyền tối đa khi chuyển thư mục dữ liệu\n"
+" (đơn vị kB/s, hoặc sử dụng hậu tố \"k\" hay \"M\")\n"
+
+#: pg_basebackup.c:348
+#, c-format
+msgid ""
+" -R, --write-recovery-conf\n"
+" write recovery.conf for replication\n"
+msgstr ""
+" -R, --write-recovery-conf\n"
+" viết tệp recovery.conf cho replication\n"
+
+#: pg_basebackup.c:350
+#, c-format
+msgid ""
+" -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+" relocate tablespace in OLDDIR to NEWDIR\n"
+msgstr ""
+" -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
+" định vị lại tablespace trong OLDDIR thành NEWDIR\n"
+
+#: pg_basebackup.c:352
+#, c-format
+msgid " --waldir=WALDIR location for the write-ahead log directory\n"
+msgstr " --waldir=WALDIR chỉ định cho thư mục WAL\n"
+
+#: pg_basebackup.c:353
+#, c-format
+msgid ""
+" -X, --wal-method=none|fetch|stream\n"
+" include required WAL files with specified method\n"
+msgstr ""
+" -X, --wal-method=none|fetch|stream\n"
+" lưu các tệp WAL được yêu cầu với phương thức\n"
+" được chỉ định\n"
+
+#: pg_basebackup.c:355
+#, c-format
+msgid " -z, --gzip compress tar output\n"
+msgstr " -z, --gzip nén đầu ra định dạng tar\n"
+
+#: pg_basebackup.c:356
+#, c-format
+msgid ""
+" -Z, --compress=0-9 compress tar output with given compression level\n"
+msgstr ""
+" -Z, --compress=0-9 nén đầu ra định dạng tar với mức nén nhất định\n"
+
+#: pg_basebackup.c:357
+#, c-format
+msgid ""
+"\n"
+"General options:\n"
+msgstr ""
+"\n"
+"Tùy chọn chung:\n"
+
+#: pg_basebackup.c:358
+#, c-format
+msgid ""
+" -c, --checkpoint=fast|spread\n"
+" set fast or spread checkpointing\n"
+msgstr ""
+" -c, --checkpoint=fast|spread\n"
+" thiết lập chế độ checkpoint là nhanh(fast)\n"
+" hay dàn trải(spread)\n"
+
+#: pg_basebackup.c:360
+#, c-format
+msgid " -C, --create-slot create replication slot\n"
+msgstr " -C, --create-slot tạo slot cho replication\n"
+
+#: pg_basebackup.c:361
+#, c-format
+msgid " -l, --label=LABEL set backup label\n"
+msgstr " -l, --label=LABEL chỉ định backup label\n"
+
+#: pg_basebackup.c:362
+#, c-format
+msgid " -n, --no-clean do not clean up after errors\n"
+msgstr " -n, --no-clean không dọn dẹp sau khi có lỗi\n"
+
+#: pg_basebackup.c:363
+#, c-format
+msgid ""
+" -N, --no-sync do not wait for changes to be written safely to "
+"disk\n"
+msgstr ""
+" -N, --no-sync không đợi những thay đổi được ghi một cách an toàn\n"
+" vào đĩa\n"
+
+#: pg_basebackup.c:364
+#, c-format
+msgid " -P, --progress show progress information\n"
+msgstr " -P, --progress hiển thị thông tin về tiến độ\n"
+
+#: pg_basebackup.c:365 pg_receivewal.c:89
+#, c-format
+msgid " -S, --slot=SLOTNAME replication slot to use\n"
+msgstr " -S, --slot=SLOTNAME chỉ định replication slot\n"
+
+#: pg_basebackup.c:366
+#, c-format
+msgid ""
+" --no-slot prevent creation of temporary replication slot\n"
+msgstr ""
+" --no-slot ngăn chặn tạo ra các slot tạm thời cho replication\n"
+
+#: pg_basebackup.c:367
+#, c-format
+msgid ""
+" -k, --no-verify-checksums\n"
+" do not verify checksums\n"
+msgstr ""
+" -k, --no-verify-checksums\n"
+" không xác minh checksum\n"
+
+#: pg_basebackup.c:369 pg_receivewal.c:91 pg_recvlogical.c:99
+#, c-format
+msgid " -v, --verbose output verbose messages\n"
+msgstr " -v, --verbose xuất thông báo chi tiết\n"
+
+#: pg_basebackup.c:370 pg_receivewal.c:92 pg_recvlogical.c:100
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version hiển thị thông tin phiên bản, sau đó thoát\n"
+
+#: pg_basebackup.c:371 pg_receivewal.c:94 pg_recvlogical.c:101
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help hiển thị trợ giúp này, sau đó thoát\n"
+
+#: pg_basebackup.c:372 pg_receivewal.c:95 pg_recvlogical.c:102
+#, c-format
+msgid ""
+"\n"
+"Connection options:\n"
+msgstr ""
+"\n"
+"Tùy chọn kết nối:\n"
+
+#: pg_basebackup.c:373 pg_receivewal.c:96
+#, c-format
+msgid " -d, --dbname=CONNSTR connection string\n"
+msgstr " -d, --dbname=CONNSTR chuỗi kết nối\n"
+
+#: pg_basebackup.c:374 pg_receivewal.c:97 pg_recvlogical.c:104
+#, c-format
+msgid " -h, --host=HOSTNAME database server host or socket directory\n"
+msgstr " -h, --host=HOSTNAME host của database server hay thư mục socket\n"
+
+#: pg_basebackup.c:375 pg_receivewal.c:98 pg_recvlogical.c:105
+#, c-format
+msgid " -p, --port=PORT database server port number\n"
+msgstr " -p, --port=PORT số port của database server\n"
+
+#: pg_basebackup.c:376
+#, c-format
+msgid ""
+" -s, --status-interval=INTERVAL\n"
+" time between status packets sent to server (in "
+"seconds)\n"
+msgstr ""
+" -s, --status-interval=INTERVAL\n"
+" thời gian giữa các gói trạng thái được gửi tới\n"
+" server (tính bằng giây)\n"
+
+#: pg_basebackup.c:378 pg_receivewal.c:99 pg_recvlogical.c:106
+#, c-format
+msgid " -U, --username=NAME connect as specified database user\n"
+msgstr ""
+" -U, --username=NAME kết nối với người dùng cơ sở dữ liệu được chỉ định\n"
+
+#: pg_basebackup.c:379 pg_receivewal.c:100 pg_recvlogical.c:107
+#, c-format
+msgid " -w, --no-password never prompt for password\n"
+msgstr " -w, --no-password không bao giờ nhắc mật khẩu\n"
+
+#: pg_basebackup.c:380 pg_receivewal.c:101 pg_recvlogical.c:108
+#, c-format
+msgid ""
+" -W, --password force password prompt (should happen "
+"automatically)\n"
+msgstr " -W, --password yêu cầu nhập mật khẩu (sẽ xảy ra tự động)\n"
+
+#: pg_basebackup.c:381 pg_receivewal.c:105 pg_recvlogical.c:109
+#, c-format
+msgid ""
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr ""
+"\n"
+"Báo cáo lỗi tới <pgsql-bugs@postgresql.org>.\n"
+
+#: pg_basebackup.c:424
+#, c-format
+msgid "%s: could not read from ready pipe: %s\n"
+msgstr "%s: không thể đọc từ pipe đã sẵn sàng: %s\n"
+
+#: pg_basebackup.c:432 pg_basebackup.c:563 pg_basebackup.c:2064
+#: streamutil.c:458
+#, c-format
+msgid "%s: could not parse write-ahead log location \"%s\"\n"
+msgstr "%s: không thể phân tích cú pháp vị trí WAL \"%s\"\n"
+
+#: pg_basebackup.c:526 pg_receivewal.c:443
+#, c-format
+msgid "%s: could not finish writing WAL files: %s\n"
+msgstr "%s: không thể kết thúc việc ghi tệp WAL: %s\n"
+
+#: pg_basebackup.c:576
+#, c-format
+msgid "%s: could not create pipe for background process: %s\n"
+msgstr "%s: không thể tạo pipe cho tiến trình nền: %s\n"
+
+#: pg_basebackup.c:612
+#, c-format
+msgid "%s: created temporary replication slot \"%s\"\n"
+msgstr "%s: đã tạo slot tạm thời cho replication \"%s\"\n"
+
+#: pg_basebackup.c:615
+#, c-format
+msgid "%s: created replication slot \"%s\"\n"
+msgstr "%s: đã tạo replication slot \"%s\"\n"
+
+#: pg_basebackup.c:636 pg_basebackup.c:692 pg_basebackup.c:1462
+#, c-format
+msgid "%s: could not create directory \"%s\": %s\n"
+msgstr "%s: không thể tạo thư mục \"%s\": %s\n"
+
+#: pg_basebackup.c:655
+#, c-format
+msgid "%s: could not create background process: %s\n"
+msgstr "%s: không thể tạo tiến trình nền: %s\n"
+
+#: pg_basebackup.c:667
+#, c-format
+msgid "%s: could not create background thread: %s\n"
+msgstr "%s: không thể tạo luồng nền: %s\n"
+
+#: pg_basebackup.c:715
+#, c-format
+msgid "%s: directory \"%s\" exists but is not empty\n"
+msgstr "%s: thư mục \"%s\" tồn tại nhưng không trống\n"
+
+#: pg_basebackup.c:723
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s: không thể truy cập thư mục \"%s\": %s\n"
+
+#: pg_basebackup.c:785
+#, c-format
+msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
+msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
+msgstr[0] "%*s/%s kB (100%%), %d/%d tablespaces %*s"
+
+#: pg_basebackup.c:797
+#, c-format
+msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
+msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
+msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
+
+#: pg_basebackup.c:813
+#, c-format
+msgid "%*s/%s kB (%d%%), %d/%d tablespace"
+msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
+msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace"
+
+#: pg_basebackup.c:838
+#, c-format
+msgid "%s: transfer rate \"%s\" is not a valid value\n"
+msgstr "%s: tốc độ truyền \"%s\" không phải là giá trị hợp lệ\n"
+
+#: pg_basebackup.c:845
+#, c-format
+msgid "%s: invalid transfer rate \"%s\": %s\n"
+msgstr "%s: tốc độ truyền không hợp lệ \"%s\": %s\n"
+
+#: pg_basebackup.c:855
+#, c-format
+msgid "%s: transfer rate must be greater than zero\n"
+msgstr "%s: tốc độ truyền phải lớn hơn 0\n"
+
+#: pg_basebackup.c:889
+#, c-format
+msgid "%s: invalid --max-rate unit: \"%s\"\n"
+msgstr "%s: đơn vị --max-rate không hợp lệ: \"%s\"\n"
+
+#: pg_basebackup.c:898
+#, c-format
+msgid "%s: transfer rate \"%s\" exceeds integer range\n"
+msgstr "%s: tốc độ truyền \"%s\" vượt quá phạm vi integer\n"
+
+#: pg_basebackup.c:910
+#, c-format
+msgid "%s: transfer rate \"%s\" is out of range\n"
+msgstr "%s: tốc độ truyền \"%s\" ngoài phạm vi\n"
+
+#: pg_basebackup.c:934
+#, c-format
+msgid "%s: could not write to compressed file \"%s\": %s\n"
+msgstr "%s: không thể ghi vào tệp nén \"%s\": %s\n"
+
+#: pg_basebackup.c:944 pg_basebackup.c:1556 pg_basebackup.c:1722
+#, c-format
+msgid "%s: could not write to file \"%s\": %s\n"
+msgstr "%s: không thể ghi vào tệp \"%s\": %s\n"
+
+#: pg_basebackup.c:1003 pg_basebackup.c:1024 pg_basebackup.c:1052
+#, c-format
+msgid "%s: could not set compression level %d: %s\n"
+msgstr "%s: không thể thiết lập mức nén %d: %s\n"
+
+#: pg_basebackup.c:1073
+#, c-format
+msgid "%s: could not create compressed file \"%s\": %s\n"
+msgstr "%s: không thể tạo tệp nén \"%s\": %s\n"
+
+#: pg_basebackup.c:1084 pg_basebackup.c:1516 pg_basebackup.c:1715
+#, c-format
+msgid "%s: could not create file \"%s\": %s\n"
+msgstr "%s: không thể tạo tệp \"%s\": %s\n"
+
+#: pg_basebackup.c:1096 pg_basebackup.c:1369
+#, c-format
+msgid "%s: could not get COPY data stream: %s"
+msgstr "%s: không thể nhận luồng dữ liệu COPY: %s"
+
+#: pg_basebackup.c:1153
+#, c-format
+msgid "%s: could not close compressed file \"%s\": %s\n"
+msgstr "%s: không thể đóng tệp nén \"%s\": %s\n"
+
+#: pg_basebackup.c:1166 pg_recvlogical.c:632 receivelog.c:224 receivelog.c:309
+#: receivelog.c:698
+#, c-format
+msgid "%s: could not close file \"%s\": %s\n"
+msgstr "%s: không thể đóng tệp \"%s\": %s\n"
+
+#: pg_basebackup.c:1177 pg_basebackup.c:1398 pg_recvlogical.c:454
+#: receivelog.c:993
+#, c-format
+msgid "%s: could not read COPY data: %s"
+msgstr "%s: không thể đọc dữ liệu COPY: %s"
+
+#: pg_basebackup.c:1412
+#, c-format
+msgid "%s: invalid tar block header size: %d\n"
+msgstr "%s: kích thước tiêu đề khối tar không hợp lệ: %d\n"
+
+#: pg_basebackup.c:1470
+#, c-format
+msgid "%s: could not set permissions on directory \"%s\": %s\n"
+msgstr "%s: không thể đặt quyền cho thư mục \"%s\": %s\n"
+
+#: pg_basebackup.c:1494
+#, c-format
+msgid "%s: could not create symbolic link from \"%s\" to \"%s\": %s\n"
+msgstr "%s: không thể tạo symbolic link từ \"%s\" tới \"%s\": %s\n"
+
+#: pg_basebackup.c:1503
+#, c-format
+msgid "%s: unrecognized link indicator \"%c\"\n"
+msgstr "%s: không thể nhận ra liên kết indicator \"%c\"\n"
+
+#: pg_basebackup.c:1523
+#, c-format
+msgid "%s: could not set permissions on file \"%s\": %s\n"
+msgstr "%s: không thể đặt quyền đối với tệp \"%s\": %s\n"
+
+#: pg_basebackup.c:1582
+#, c-format
+msgid "%s: COPY stream ended before last file was finished\n"
+msgstr "%s: Dòng COPY đã kết thúc trước khi tệp cuối cùng được hoàn tất\n"
+
+#: pg_basebackup.c:1610 pg_basebackup.c:1630 pg_basebackup.c:1637
+#: pg_basebackup.c:1690
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: hết bộ nhớ\n"
+
+#: pg_basebackup.c:1763
+#, c-format
+msgid "%s: incompatible server version %s\n"
+msgstr "%s: phiên bản server không tương thích %s\n"
+
+#: pg_basebackup.c:1778
+#, c-format
+msgid "HINT: use -X none or -X fetch to disable log streaming\n"
+msgstr "Gợi ý: sử dụng -X none hay -X fetch để tắt tính năng log streaming\n"
+
+#: pg_basebackup.c:1804
+#, c-format
+msgid "%s: initiating base backup, waiting for checkpoint to complete\n"
+msgstr "%s: bắt đầu sao lưu cơ sở, chờ checkpoint để hoàn thành\n"
+
+#: pg_basebackup.c:1829 pg_recvlogical.c:271 receivelog.c:493 receivelog.c:546
+#: receivelog.c:586 streamutil.c:428 streamutil.c:542 streamutil.c:588
+#, c-format
+msgid "%s: could not send replication command \"%s\": %s"
+msgstr "%s: không thể gửi lệnh replication \"%s\": %s"
+
+#: pg_basebackup.c:1840
+#, c-format
+msgid "%s: could not initiate base backup: %s"
+msgstr "%s: không thể bắt đầu sao lưu cơ sở: %s"
+
+#: pg_basebackup.c:1847
+#, c-format
+msgid ""
+"%s: server returned unexpected response to BASE_BACKUP command; got %d rows "
+"and %d fields, expected %d rows and %d fields\n"
+msgstr ""
+"%s: server trả về phản hồi không mong muốn cho lệnh BASE_BACKUP, có %d hàng "
+"và %d trường, dự kiến %d hàng và %d trường\n"
+
+#: pg_basebackup.c:1855
+#, c-format
+msgid "%s: checkpoint completed\n"
+msgstr "%s: checkpoint hoàn thành\n"
+
+#: pg_basebackup.c:1870
+#, c-format
+msgid "%s: write-ahead log start point: %s on timeline %u\n"
+msgstr "%s: Điểm bắt đầu WAL: %s ở timeline %u\n"
+
+#: pg_basebackup.c:1879
+#, c-format
+msgid "%s: could not get backup header: %s"
+msgstr "%s: không thể lấy tiêu đề backup: %s"
+
+#: pg_basebackup.c:1885
+#, c-format
+msgid "%s: no data returned from server\n"
+msgstr "%s: không có dữ liệu nào được trả về từ server\n"
+
+#: pg_basebackup.c:1917
+#, c-format
+msgid "%s: can only write single tablespace to stdout, database has %d\n"
+msgstr "%s: chỉ có thể ghi tablespace đơn qua stdout, cơ sở dữ liệu có %d\n"
+
+#: pg_basebackup.c:1929
+#, c-format
+msgid "%s: starting background WAL receiver\n"
+msgstr "%s: khởi động tiến trình nền để nhận WAL\n"
+
+#: pg_basebackup.c:1961
+#, c-format
+msgid "%s: could not get write-ahead log end position from server: %s"
+msgstr "%s: không thể nhận được vị trí kết thúc WAL từ server: %s"
+
+#: pg_basebackup.c:1968
+#, c-format
+msgid "%s: no write-ahead log end position returned from server\n"
+msgstr "%s: vị trí cuối của WAL không được trả về từ server\n"
+
+#: pg_basebackup.c:1974
+#, c-format
+msgid "%s: write-ahead log end point: %s\n"
+msgstr "%s: điểm kết thúc WAL: %s\n"
+
+#: pg_basebackup.c:1985
+#, c-format
+msgid "%s: checksum error occured\n"
+msgstr "%s: xảy ra lỗi checksum\n"
+
+#: pg_basebackup.c:1991
+#, c-format
+msgid "%s: final receive failed: %s"
+msgstr "%s: lỗi khi nhận cuối cùng: %s"
+
+#: pg_basebackup.c:2016
+#, c-format
+msgid "%s: waiting for background process to finish streaming ...\n"
+msgstr "%s: đang chờ tiến trình nền hoàn thành truyền ...\n"
+
+#: pg_basebackup.c:2022
+#, c-format
+msgid "%s: could not send command to background pipe: %s\n"
+msgstr "%s: không thể gửi lệnh tới pipe của tiến trình nền: %s\n"
+
+#: pg_basebackup.c:2031
+#, c-format
+msgid "%s: could not wait for child process: %s\n"
+msgstr "%s: không thể chờ tiến trình con: %s\n"
+
+#: pg_basebackup.c:2037
+#, c-format
+msgid "%s: child %d died, expected %d\n"
+msgstr "%s: tiến trình con %d bị kết thúc, kỳ vọng %d\n"
+
+#: pg_basebackup.c:2043
+#, c-format
+msgid "%s: child process did not exit normally\n"
+msgstr "%s: tiến trình con kết thúc không bình thường\n"
+
+#: pg_basebackup.c:2049
+#, c-format
+msgid "%s: child process exited with error %d\n"
+msgstr "%s: tiến trình con đã thoát với lỗi %d\n"
+
+#: pg_basebackup.c:2076
+#, c-format
+msgid "%s: could not wait for child thread: %s\n"
+msgstr "%s: không thể đợi luồng con: %s\n"
+
+#: pg_basebackup.c:2083
+#, c-format
+msgid "%s: could not get child thread exit status: %s\n"
+msgstr "%s: không thể nhận được trạng thái kết thúc của luồng con: %s\n"
+
+#: pg_basebackup.c:2089
+#, c-format
+msgid "%s: child thread exited with error %u\n"
+msgstr "%s: luồng con kết thúc với lỗi %u\n"
+
+#: pg_basebackup.c:2127
+#, c-format
+msgid "%s: base backup completed\n"
+msgstr "%s: sao lưu cơ sở đã hoàn thành\n"
+
+#: pg_basebackup.c:2208
+#, c-format
+msgid "%s: invalid output format \"%s\", must be \"plain\" or \"tar\"\n"
+msgstr ""
+"%s: định dạng đầu ra không hợp lệ \"%s\", phải là \"plain\" hoặc \"tar\"\n"
+
+#: pg_basebackup.c:2253
+#, c-format
+msgid ""
+"%s: invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or "
+"\"none\"\n"
+msgstr ""
+"%s: tùy chọn phương thức wal không hợp lệ \"%s\", phải là \"fetch\", \"stream"
+"\" hoặc \"none\"\n"
+
+#: pg_basebackup.c:2281 pg_receivewal.c:585
+#, c-format
+msgid "%s: invalid compression level \"%s\"\n"
+msgstr "%s: mức độ nén không hợp lệ \"%s\"\n"
+
+#: pg_basebackup.c:2293
+#, c-format
+msgid ""
+"%s: invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"\n"
+msgstr ""
+"%s: đối số cho checkpoint không hợp lệ \"%s\", phải là \"fast\" hoặc \"spread"
+"\"\n"
+
+#: pg_basebackup.c:2320 pg_receivewal.c:557 pg_recvlogical.c:826
+#, c-format
+msgid "%s: invalid status interval \"%s\"\n"
+msgstr "%s: giá trị status-interval không hợp lệ \"%s\"\n"
+
+#: pg_basebackup.c:2339 pg_basebackup.c:2353 pg_basebackup.c:2364
+#: pg_basebackup.c:2377 pg_basebackup.c:2387 pg_basebackup.c:2397
+#: pg_basebackup.c:2409 pg_basebackup.c:2423 pg_basebackup.c:2433
+#: pg_basebackup.c:2446 pg_basebackup.c:2457 pg_receivewal.c:611
+#: pg_receivewal.c:625 pg_receivewal.c:633 pg_receivewal.c:643
+#: pg_receivewal.c:651 pg_receivewal.c:662 pg_recvlogical.c:853
+#: pg_recvlogical.c:867 pg_recvlogical.c:878 pg_recvlogical.c:886
+#: pg_recvlogical.c:894 pg_recvlogical.c:902 pg_recvlogical.c:910
+#: pg_recvlogical.c:918 pg_recvlogical.c:928
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_basebackup.c:2351 pg_receivewal.c:623 pg_recvlogical.c:865
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: quá nhiều đối số dòng lệnh (đầu tiên là \"%s\")\n"
+
+#: pg_basebackup.c:2363 pg_receivewal.c:661
+#, c-format
+msgid "%s: no target directory specified\n"
+msgstr "%s: không có thư mục đích được chỉ định\n"
+
+#: pg_basebackup.c:2375
+#, c-format
+msgid "%s: only tar mode backups can be compressed\n"
+msgstr "%s: chỉ có chế độ backup dạng tar mới có thể được nén\n"
+
+#: pg_basebackup.c:2385
+#, c-format
+msgid "%s: cannot stream write-ahead logs in tar mode to stdout\n"
+msgstr "%s: không thể truyền WAL ở chế độ tar qua stdout\n"
+
+#: pg_basebackup.c:2395
+#, c-format
+msgid "%s: replication slots can only be used with WAL streaming\n"
+msgstr ""
+"%s: các replication slots chỉ có thể được sử dụng với việc truyền WAL\n"
+
+#: pg_basebackup.c:2407
+#, c-format
+msgid "%s: --no-slot cannot be used with slot name\n"
+msgstr "%s: --no-slot không thể được sử dụng với tên slot\n"
+
+#: pg_basebackup.c:2421
+#, c-format
+msgid "%s: --create-slot needs a slot to be specified using --slot\n"
+msgstr "%s: --create-slot cần một slot được chỉ định để sử dụng --slot\n"
+
+#: pg_basebackup.c:2431
+#, c-format
+msgid "%s: --create-slot and --no-slot are incompatible options\n"
+msgstr "%s: --create-slot và --no-slot là các tùy chọn không tương thích\n"
+
+#: pg_basebackup.c:2444
+#, c-format
+msgid "%s: WAL directory location can only be specified in plain mode\n"
+msgstr "%s: Vị trí thư mục WAL chỉ được chỉ định ở chế độ plain\n"
+
+#: pg_basebackup.c:2455
+#, c-format
+msgid "%s: WAL directory location must be an absolute path\n"
+msgstr "%s: Vị trí thư mục WAL phải là đường dẫn tuyệt đối\n"
+
+#: pg_basebackup.c:2467 pg_receivewal.c:671
+#, c-format
+msgid "%s: this build does not support compression\n"
+msgstr "%s: phiên bản binary này không hỗ trợ nén\n"
+
+#: pg_basebackup.c:2521
+#, c-format
+msgid "%s: could not create symbolic link \"%s\": %s\n"
+msgstr "%s: không thể tạo symbolic link \"%s\": %s\n"
+
+#: pg_basebackup.c:2526
+#, c-format
+msgid "%s: symlinks are not supported on this platform\n"
+msgstr "%s: symlink không được hỗ trợ trên hệ điều hành này\n"
+
+#: pg_receivewal.c:77
+#, c-format
+msgid ""
+"%s receives PostgreSQL streaming write-ahead logs.\n"
+"\n"
+msgstr ""
+"%s nhận PostgreSQL WAL.\n"
+"\n"
+
+#: pg_receivewal.c:81 pg_recvlogical.c:84
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tùy chọn:\n"
+
+#: pg_receivewal.c:82
+#, c-format
+msgid ""
+" -D, --directory=DIR receive write-ahead log files into this directory\n"
+msgstr " -D, --directory=DIR nhận tệp WAL vào thư mục này\n"
+
+#: pg_receivewal.c:83 pg_recvlogical.c:85
+#, c-format
+msgid " -E, --endpos=LSN exit after receiving the specified LSN\n"
+msgstr ""
+" -E, --endpos=LSN kết thúc trước khi nhật LSN đã được chỉ định\n"
+
+#: pg_receivewal.c:84 pg_recvlogical.c:89
+#, c-format
+msgid ""
+" --if-not-exists do not error if slot already exists when creating a "
+"slot\n"
+msgstr " --if-not-exists không xuất lỗi khi tạo slot đã có sẵn\n"
+
+#: pg_receivewal.c:85 pg_recvlogical.c:91
+#, c-format
+msgid " -n, --no-loop do not loop on connection lost\n"
+msgstr " -n, --no-loop không lặp khi bị mất kết nối\n"
+
+#: pg_receivewal.c:86
+#, c-format
+msgid ""
+" --no-sync do not wait for changes to be written safely to "
+"disk\n"
+msgstr ""
+" --no-sync không đợi những thay đổi được ghi một cách an toàn\n"
+" vào đĩa\n"
+
+#: pg_receivewal.c:87 pg_recvlogical.c:96
+#, c-format
+msgid ""
+" -s, --status-interval=SECS\n"
+" time between status packets sent to server "
+"(default: %d)\n"
+msgstr ""
+" -s, --status-interval=SECS\n"
+" thời gian giữa các gói trạng thái được gửi tới\n"
+" server (mặc định: %d)\n"
+
+#: pg_receivewal.c:90
+#, c-format
+msgid ""
+" --synchronous flush write-ahead log immediately after writing\n"
+msgstr " --synchronous flush WAL ngay sau khi write\n"
+
+#: pg_receivewal.c:93
+#, c-format
+msgid " -Z, --compress=0-9 compress logs with given compression level\n"
+msgstr " -Z, --compress=0-9 nén log với mức độ nén được chỉ định\n"
+
+#: pg_receivewal.c:102
+#, c-format
+msgid ""
+"\n"
+"Optional actions:\n"
+msgstr ""
+"\n"
+"Tác vụ tùy chọn:\n"
+
+#: pg_receivewal.c:103 pg_recvlogical.c:81
+#, c-format
+msgid ""
+" --create-slot create a new replication slot (for the slot's name "
+"see --slot)\n"
+msgstr ""
+" --create-slot tạo replication slot mới (về tên slot xem --slot)\n"
+
+#: pg_receivewal.c:104 pg_recvlogical.c:82
+#, c-format
+msgid ""
+" --drop-slot drop the replication slot (for the slot's name see "
+"--slot)\n"
+msgstr ""
+" --drop-slot xóa replication slot (về tên slot xem --slot)\n"
+
+#: pg_receivewal.c:116
+#, c-format
+msgid "%s: finished segment at %X/%X (timeline %u)\n"
+msgstr "%s: kết thúc phân đoạn tại %X/%X (timeline %u)\n"
+
+#: pg_receivewal.c:123
+#, c-format
+msgid "%s: stopped streaming at %X/%X (timeline %u)\n"
+msgstr "%s: kết thúc truyền tại %X/%X (timeline %u)\n"
+
+#: pg_receivewal.c:139
+#, c-format
+msgid "%s: switched to timeline %u at %X/%X\n"
+msgstr "%s: chuyển qua timeline %u tại %X/%X\n"
+
+#: pg_receivewal.c:149
+#, c-format
+msgid "%s: received interrupt signal, exiting\n"
+msgstr "%s: nhận được tín hiệu ngắt, đang thoát\n"
+
+#: pg_receivewal.c:187
+#, c-format
+msgid "%s: could not close directory \"%s\": %s\n"
+msgstr "%s: không thể đóng thư mục \"%s\": %s\n"
+
+#: pg_receivewal.c:276
+#, c-format
+msgid "%s: segment file \"%s\" has incorrect size %d, skipping\n"
+msgstr "%s: tệp phân đoạn \"%s\" có kích thước không đúng %d, bỏ qua\n"
+
+#: pg_receivewal.c:293
+#, c-format
+msgid "%s: could not open compressed file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp nén \"%s\": %s\n"
+
+#: pg_receivewal.c:299
+#, c-format
+msgid "%s: could not seek in compressed file \"%s\": %s\n"
+msgstr "%s: không thể tìm kiếm trong tệp nén \"%s\": %s\n"
+
+#: pg_receivewal.c:305
+#, c-format
+msgid "%s: could not read compressed file \"%s\": %s\n"
+msgstr "%s: không thể đọc tệp nén \"%s\": %s\n"
+
+#: pg_receivewal.c:317
+#, c-format
+msgid ""
+"%s: compressed segment file \"%s\" has incorrect uncompressed size %d, "
+"skipping\n"
+msgstr ""
+"%s: tệp phân đoạn nén \"%s\" có kích thước giải nén không đúng %d, bỏ qua\n"
+
+#: pg_receivewal.c:423
+#, c-format
+msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
+msgstr "%s: bắt đầu truyền log tại %X/%X (timeline %u)\n"
+
+#: pg_receivewal.c:538 pg_recvlogical.c:763
+#, c-format
+msgid "%s: invalid port number \"%s\"\n"
+msgstr "%s: số port không hợp lệ \"%s\"\n"
+
+#: pg_receivewal.c:569 pg_recvlogical.c:793
+#, c-format
+msgid "%s: could not parse end position \"%s\"\n"
+msgstr "%s: không thể phân tích cú pháp vị trí kết thúc \"%s\"\n"
+
+#: pg_receivewal.c:632
+#, c-format
+msgid "%s: cannot use --create-slot together with --drop-slot\n"
+msgstr "%s: không thể sử dụng --create-slot cùng với --drop-slot\n"
+
+#. translator: second %s is an option name
+#: pg_receivewal.c:641
+#, c-format
+msgid "%s: %s needs a slot to be specified using --slot\n"
+msgstr "%s: %s cần một slot được chỉ định để sử dụng --slot\n"
+
+#: pg_receivewal.c:650
+#, c-format
+msgid "%s: cannot use --synchronous together with --no-sync\n"
+msgstr "%s: không thể sử dụng --synchronous cùng với --no-sync\n"
+
+#: pg_receivewal.c:728
+#, c-format
+msgid ""
+"%s: replication connection using slot \"%s\" is unexpectedly database "
+"specific\n"
+msgstr ""
+"%s: kết nối replication sử dụng slot \"%s\" không mong đợi database-"
+"specific\n"
+
+#: pg_receivewal.c:740 pg_recvlogical.c:978
+#, c-format
+msgid "%s: dropping replication slot \"%s\"\n"
+msgstr "%s: đang xóa replication slot \"%s\"\n"
+
+#: pg_receivewal.c:753 pg_recvlogical.c:990
+#, c-format
+msgid "%s: creating replication slot \"%s\"\n"
+msgstr "%s: đang tạo replication slot \"%s\"\n"
+
+#: pg_receivewal.c:780 pg_recvlogical.c:1016
+#, c-format
+msgid "%s: disconnected\n"
+msgstr "%s: đã ngắt kết nối\n"
+
+#. translator: check source for value for %d
+#: pg_receivewal.c:787 pg_recvlogical.c:1023
+#, c-format
+msgid "%s: disconnected; waiting %d seconds to try again\n"
+msgstr "%s: đã ngắt kết nối; đợi %d giây để thử lại\n"
+
+#: pg_recvlogical.c:76
+#, c-format
+msgid ""
+"%s controls PostgreSQL logical decoding streams.\n"
+"\n"
+msgstr ""
+"%s kiểm soát luồng PostgreSQL logical decoding.\n"
+"\n"
+
+#: pg_recvlogical.c:80
+#, c-format
+msgid ""
+"\n"
+"Action to be performed:\n"
+msgstr ""
+"\n"
+"Hành động được thực hiện:\n"
+
+#: pg_recvlogical.c:83
+#, c-format
+msgid ""
+" --start start streaming in a replication slot (for the "
+"slot's name see --slot)\n"
+msgstr ""
+" --start bắt đầu truyền trong một replication slot\n"
+" (về tên slot xem --slot)\n"
+
+#: pg_recvlogical.c:86
+#, c-format
+msgid " -f, --file=FILE receive log into this file, - for stdout\n"
+msgstr " -f, --file=FILE nhận log vào tệp này, - cho stdout\n"
+
+#: pg_recvlogical.c:87
+#, c-format
+msgid ""
+" -F --fsync-interval=SECS\n"
+" time between fsyncs to the output file (default: "
+"%d)\n"
+msgstr ""
+" -F --fsync-interval=SECS\n"
+" thời gian giữa các fsync cho tệp xuất (mặc định: "
+"%d)\n"
+
+#: pg_recvlogical.c:90
+#, c-format
+msgid ""
+" -I, --startpos=LSN where in an existing slot should the streaming "
+"start\n"
+msgstr " -I, --startpos=LSN nơi trong một slot cho điểm bắt đầu truyền\n"
+
+#: pg_recvlogical.c:92
+#, c-format
+msgid ""
+" -o, --option=NAME[=VALUE]\n"
+" pass option NAME with optional value VALUE to the\n"
+" output plugin\n"
+msgstr ""
+" -o, --option=NAME[=VALUE]\n"
+" đặt tùy chọn NAME với giá trị tùy chọn VALUE vào\n"
+" plugin đầu ra\n"
+
+#: pg_recvlogical.c:95
+#, c-format
+msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n"
+msgstr ""
+" -P, --plugin=PLUGIN sử dụng plugin đầu ra là PLUGIN (mặc định: %s)\n"
+
+#: pg_recvlogical.c:98
+#, c-format
+msgid " -S, --slot=SLOTNAME name of the logical replication slot\n"
+msgstr " -S, --slot=SLOTNAME tên của logical replication slot\n"
+
+#: pg_recvlogical.c:103
+#, c-format
+msgid " -d, --dbname=DBNAME database to connect to\n"
+msgstr " -d, --dbname=DBNAME cở sở dữ liệu kết nối tới\n"
+
+#: pg_recvlogical.c:136
+#, c-format
+msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
+msgstr "%s: xác nhận ghi đến %X/%X, flush đến %X/%X (slot %s)\n"
+
+#: pg_recvlogical.c:161 receivelog.c:352
+#, c-format
+msgid "%s: could not send feedback packet: %s"
+msgstr "%s: không thể gửi gói phản hồi: %s"
+
+#: pg_recvlogical.c:200
+#, c-format
+msgid "%s: could not fsync log file \"%s\": %s\n"
+msgstr "%s: không thể fsync tệp log \"%s\": %s\n"
+
+#: pg_recvlogical.c:239
+#, c-format
+msgid "%s: starting log streaming at %X/%X (slot %s)\n"
+msgstr "%s: bắt đầu truyền log ở %X /%X (slot %s)\n"
+
+#: pg_recvlogical.c:281
+#, c-format
+msgid "%s: streaming initiated\n"
+msgstr "%s: khởi tạo luồng truyền\n"
+
+#: pg_recvlogical.c:347
+#, c-format
+msgid "%s: could not open log file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp log \"%s\": %s\n"
+
+#: pg_recvlogical.c:377 receivelog.c:898
+#, c-format
+msgid "%s: invalid socket: %s"
+msgstr "%s: socket không hợp lệ: %s"
+
+#: pg_recvlogical.c:431 receivelog.c:927
+#, c-format
+msgid "%s: select() failed: %s\n"
+msgstr "%s: lỗi select(): %s\n"
+
+#: pg_recvlogical.c:440 receivelog.c:979
+#, c-format
+msgid "%s: could not receive data from WAL stream: %s"
+msgstr "%s: không thể nhận dữ liệu từ luồng truyền WAL: %s"
+
+#: pg_recvlogical.c:482 pg_recvlogical.c:534 receivelog.c:1024
+#: receivelog.c:1091
+#, c-format
+msgid "%s: streaming header too small: %d\n"
+msgstr "%s: tiêu đề của luồng truyền quá nhỏ: %d\n"
+
+#: pg_recvlogical.c:518 receivelog.c:858
+#, c-format
+msgid "%s: unrecognized streaming header: \"%c\"\n"
+msgstr "%s: không thể xác định tiêu đề luồng truyền: \"%c\"\n"
+
+#: pg_recvlogical.c:574 pg_recvlogical.c:588
+#, c-format
+msgid "%s: could not write %u bytes to log file \"%s\": %s\n"
+msgstr "%s: không thể ghi %u byte vào tệp log \"%s\": %s\n"
+
+#: pg_recvlogical.c:618 receivelog.c:650 receivelog.c:689
+#, c-format
+msgid "%s: unexpected termination of replication stream: %s"
+msgstr "%s: luồng truyền replication kết thúc không mong đợi: %s"
+
+#: pg_recvlogical.c:742
+#, c-format
+msgid "%s: invalid fsync interval \"%s\"\n"
+msgstr "%s: khoảng thời gian fsync không hợp lệ \"%s\"\n"
+
+#: pg_recvlogical.c:783
+#, c-format
+msgid "%s: could not parse start position \"%s\"\n"
+msgstr "%s: không thể phân tích cú pháp vị trí bắt đầu \"%s\"\n"
+
+#: pg_recvlogical.c:877
+#, c-format
+msgid "%s: no slot specified\n"
+msgstr "%s: không có slot nào được chỉ định\n"
+
+#: pg_recvlogical.c:885
+#, c-format
+msgid "%s: no target file specified\n"
+msgstr "%s: không có tệp đích nào được chỉ định\n"
+
+#: pg_recvlogical.c:893
+#, c-format
+msgid "%s: no database specified\n"
+msgstr "%s: không có cơ sở dữ liệu nào được chỉ định\n"
+
+#: pg_recvlogical.c:901
+#, c-format
+msgid "%s: at least one action needs to be specified\n"
+msgstr "%s: cần chỉ định ít nhất một hành động\n"
+
+#: pg_recvlogical.c:909
+#, c-format
+msgid "%s: cannot use --create-slot or --start together with --drop-slot\n"
+msgstr "%s: không thể sử dụng --create-slot hay --start cùng với --drop-slot\n"
+
+#: pg_recvlogical.c:917
+#, c-format
+msgid "%s: cannot use --create-slot or --drop-slot together with --startpos\n"
+msgstr ""
+"%s: không thể sử dụng --create-slot hay --drop-slot cùng với --startpos\n"
+
+#: pg_recvlogical.c:926
+#, c-format
+msgid "%s: --endpos may only be specified with --start\n"
+msgstr "%s: --endpos có thể chỉ được chỉ định với --start\n"
+
+#: pg_recvlogical.c:958
+#, c-format
+msgid "%s: could not establish database-specific replication connection\n"
+msgstr "%s: không thể thiết lập kết nối database-specific replication\n"
+
+#: receivelog.c:71
+#, c-format
+msgid "%s: could not create archive status file \"%s\": %s\n"
+msgstr "%s: không thể tạo tệp trạng thái archive \"%s\": %s\n"
+
+#: receivelog.c:119
+#, c-format
+msgid "%s: could not get size of write-ahead log file \"%s\": %s\n"
+msgstr "%s: không thể xác định được kích thước của tệp WAL \"%s\": %s\n"
+
+#: receivelog.c:130
+#, c-format
+msgid "%s: could not open existing write-ahead log file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp WAL đang tồn tại \"%s\": %s\n"
+
+#: receivelog.c:139
+#, c-format
+msgid "%s: could not fsync existing write-ahead log file \"%s\": %s\n"
+msgstr "%s: không thể đồng bộ (fsync) tệp WAL đang tồn tại \"%s\": %s\n"
+
+#: receivelog.c:154
+#, c-format
+msgid "%s: write-ahead log file \"%s\" has %d byte, should be 0 or %d\n"
+msgid_plural ""
+"%s: write-ahead log file \"%s\" has %d bytes, should be 0 or %d\n"
+msgstr[0] "%s: Tệp WAL \"%s\" có %d byte, phải nên là 0 hoặc %d\n"
+
+#: receivelog.c:170
+#, c-format
+msgid "%s: could not open write-ahead log file \"%s\": %s\n"
+msgstr "%s: không thể mở tệp WAL \"%s\": %s\n"
+
+#: receivelog.c:197
+#, c-format
+msgid "%s: could not determine seek position in file \"%s\": %s\n"
+msgstr "%s: không thể xác định vị trí tìm kiếm trong tệp \"%s\": %s\n"
+
+#: receivelog.c:212
+#, c-format
+msgid "%s: not renaming \"%s%s\", segment is not complete\n"
+msgstr "%s: không đổi tên \"%s%s\", phân đoạn chưa hoàn thành\n"
+
+#: receivelog.c:281
+#, c-format
+msgid "%s: server reported unexpected history file name for timeline %u: %s\n"
+msgstr ""
+"%s: server báo cáo tên tệp lịch sử không mong đợi cho timeline %u: %s\n"
+
+#: receivelog.c:289
+#, c-format
+msgid "%s: could not create timeline history file \"%s\": %s\n"
+msgstr "%s: không thể tạo tệp lịch sử cho timeline \"%s\": %s\n"
+
+#: receivelog.c:296
+#, c-format
+msgid "%s: could not write timeline history file \"%s\": %s\n"
+msgstr "%s: không thể ghi tệp lịch sử timeline \"%s\": %s\n"
+
+#: receivelog.c:386
+#, c-format
+msgid ""
+"%s: incompatible server version %s; client does not support streaming from "
+"server versions older than %s\n"
+msgstr ""
+"%s: phiên bản server không tương thích %s; client không hỗ trợ truyền từ "
+"phiên bản server cũ hơn %s\n"
+
+#: receivelog.c:396
+#, c-format
+msgid ""
+"%s: incompatible server version %s; client does not support streaming from "
+"server versions newer than %s\n"
+msgstr ""
+"%s: phiên bản server không tương thích %s; client không hỗ trợ truyền từ "
+"phiên bản server mới hơn %s\n"
+"\n"
+
+#: receivelog.c:501 streamutil.c:437 streamutil.c:476
+#, c-format
+msgid ""
+"%s: could not identify system: got %d rows and %d fields, expected %d rows "
+"and %d or more fields\n"
+msgstr ""
+"%s: không thể xác định hệ thống: có %d hàng và %d trường, kỳ vọng %d hàng và "
+"%d hay nhiều hơn trường\n"
+
+#: receivelog.c:509
+#, c-format
+msgid ""
+"%s: system identifier does not match between base backup and streaming "
+"connection\n"
+msgstr ""
+"%s: số nhận dạng hệ thống không khớp giữa sao lưu cơ sở và kết nối luồng "
+"truyền\n"
+
+#: receivelog.c:517
+#, c-format
+msgid "%s: starting timeline %u is not present in the server\n"
+msgstr "%s: timeline bắt đầu %u không tồn tại trong server\n"
+
+#: receivelog.c:559
+#, c-format
+msgid ""
+"%s: unexpected response to TIMELINE_HISTORY command: got %d rows and %d "
+"fields, expected %d rows and %d fields\n"
+msgstr ""
+"%s: phản hồi không mong muốn đối với lệnh TIMELINE_HISTORY: có %d hàng và %d "
+"trường, kỳ vọng %d hàng và %d trường\n"
+
+#: receivelog.c:631
+#, c-format
+msgid ""
+"%s: server reported unexpected next timeline %u, following timeline %u\n"
+msgstr ""
+"%s: server báo cáo không mong đợi timeline tiếp theo %u, timeline sau %u\n"
+
+#: receivelog.c:638
+#, c-format
+msgid ""
+"%s: server stopped streaming timeline %u at %X/%X, but reported next "
+"timeline %u to begin at %X/%X\n"
+msgstr ""
+"%s: server ngừng phát timeline %u ở %X/%X, nhưng đã báo cáo timeline tiếp "
+"theo %u để bắt đầu ở %X/%X\n"
+"\n"
+
+#: receivelog.c:680
+#, c-format
+msgid "%s: replication stream was terminated before stop point\n"
+msgstr "%s: luồng replication đã bị chấm dứt trước điểm dừng\n"
+
+#: receivelog.c:729
+#, c-format
+msgid ""
+"%s: unexpected result set after end-of-timeline: got %d rows and %d fields, "
+"expected %d rows and %d fields\n"
+msgstr ""
+"%s: tập hợp kết quả không mong muốn sau end-of-timeline: có %d hàng và %d "
+"trường, kỳ vọng %d hàng và %d trường\n"
+
+#: receivelog.c:739
+#, c-format
+msgid "%s: could not parse next timeline's starting point \"%s\"\n"
+msgstr ""
+"%s: không thể phân tích cú pháp điểm bắt đầu của timeline tiếp theo \"%s\"\n"
+
+#: receivelog.c:1110
+#, c-format
+msgid "%s: received write-ahead log record for offset %u with no file open\n"
+msgstr "%s: đã nhận bản ghi WAL cho offset %u với không tệp mở nào\n"
+
+#: receivelog.c:1121
+#, c-format
+msgid "%s: got WAL data offset %08x, expected %08x\n"
+msgstr "%s: có dữ liệu WAL offset %08x, kỳ vọng %08x\n"
+
+#: receivelog.c:1156
+#, c-format
+msgid "%s: could not write %u bytes to WAL file \"%s\": %s\n"
+msgstr "%s: không thể viết %u byte vào tệp WAL \"%s\": %s\n"
+
+#: receivelog.c:1181 receivelog.c:1222 receivelog.c:1253
+#, c-format
+msgid "%s: could not send copy-end packet: %s"
+msgstr "%s: không thể gửi gói tin copy-end: %s"
+
+#: streamutil.c:161
+msgid "Password: "
+msgstr "Mật khẩu: "
+
+#: streamutil.c:186
+#, c-format
+msgid "%s: could not connect to server\n"
+msgstr "%s: không thể kết nối tới server\n"
+
+#: streamutil.c:204
+#, c-format
+msgid "%s: could not connect to server: %s"
+msgstr "%s: không thể kết nối tới server: %s"
+
+#: streamutil.c:233
+#, c-format
+msgid "%s: could not clear search_path: %s\n"
+msgstr "%s: không thể xóa search_path: %s\n"
+
+#: streamutil.c:250
+#, c-format
+msgid "%s: could not determine server setting for integer_datetimes\n"
+msgstr "%s: không thể xác định thiết lập ở server cho integer_datetimes\n"
+
+#: streamutil.c:259
+#, c-format
+msgid "%s: integer_datetimes compile flag does not match server\n"
+msgstr "%s: flag biên dịch integer_datetimes không khớp với server\n"
+
+#: streamutil.c:303 streamutil.c:375
+#, c-format
+msgid "%s: could not send replication command \"%s\": %s\n"
+msgstr "%s: không thể gửi lệnh replication \"%s\": %s\n"
+
+#: streamutil.c:312
+#, c-format
+msgid ""
+"%s: could not fetch WAL segment size: got %d rows and %d fields, expected %d "
+"rows and %d or more fields\n"
+msgstr ""
+"%s: không thể fetch kích thước phân đoạn WAL: có %d hàng và %d trường, kỳ "
+"vọng %d hàng và %d hoặc nhiều hơn trường\n"
+
+#: streamutil.c:322
+#, c-format
+msgid "%s: WAL segment size could not be parsed\n"
+msgstr "%s: Không thể phân tích cú pháp kích thước phân đoạn WAL\n"
+
+#: streamutil.c:339
+#, c-format
+msgid ""
+"%s: WAL segment size must be a power of two between 1MB and 1GB, but the "
+"remote server reported a value of %d bytes\n"
+msgstr ""
+"%s: kích thước phân đoạn WAL phải là lũy thừa của hai giữa 1MB và 1GB, nhưng "
+"remote server đã báo cáo giá trị %d byte\n"
+
+#: streamutil.c:384
+#, c-format
+msgid ""
+"%s: could not fetch group access flag: got %d rows and %d fields, expected "
+"%d rows and %d or more fields\n"
+msgstr ""
+"%s: không thể fetch cờ truy cập nhóm: có %d hàng và %d trường, kỳ vọng %d "
+"hàng và %d hoặc nhiều hơn trường\n"
+
+#: streamutil.c:393
+#, c-format
+msgid "%s: group access flag could not be parsed: %s\n"
+msgstr "%s: không thể phân tích cú pháp cờ truy cập nhóm: %s\n"
+
+#: streamutil.c:554
+#, c-format
+msgid ""
+"%s: could not create replication slot \"%s\": got %d rows and %d fields, "
+"expected %d rows and %d fields\n"
+msgstr ""
+"%s: không thể tạo replication slot \"%s\": có %d hàng và %d trường, kỳ vọng "
+"%d hàng và %d trường\n"
+
+#: streamutil.c:599
+#, c-format
+msgid ""
+"%s: could not drop replication slot \"%s\": got %d rows and %d fields, "
+"expected %d rows and %d fields\n"
+msgstr ""
+"%s: không thể xóa replication slot \"%s\": có %d hàng và %d trường, kỳ vọng "
+"%d hàng và %d trường\n"
+
+#: walmethods.c:436 walmethods.c:906
+msgid "could not compress data"
+msgstr "không thể nén dữ liệu"
+
+#: walmethods.c:460
+msgid "could not reset compression stream"
+msgstr "không thể đặt lại luồng nén"
+
+#: walmethods.c:562
+msgid "could not initialize compression library"
+msgstr "không thể khởi tạo thư viện nén"
+
+#: walmethods.c:574
+msgid "implementation error: tar files can't have more than one open file"
+msgstr "lỗi triển khai: tệp tar không thể có nhiều hơn một tệp mở"
+
+#: walmethods.c:588
+msgid "could not create tar header"
+msgstr "không thể tạo tiêu đề tar"
+
+#: walmethods.c:602 walmethods.c:640 walmethods.c:829 walmethods.c:840
+msgid "could not change compression parameters"
+msgstr "không thể thay đổi thông số nén"
+
+#: walmethods.c:722
+msgid "unlink not supported with compression"
+msgstr "hủy liên kết không được hỗ trợ với nén"
+
+#: walmethods.c:922
+msgid "could not close compression stream"
+msgstr "không thể đóng luồng nén"
diff --git a/vi/pg_config.po b/vi/pg_config.po
new file mode 100644
index 00000000..cd87cd75
--- /dev/null
+++ b/vi/pg_config.po
@@ -0,0 +1,300 @@
+# LANGUAGE message translation file for pg_config
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_config (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_config (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:15+0000\n"
+"PO-Revision-Date: 2018-05-04 22:18+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: ../../common/config_info.c:130 ../../common/config_info.c:138
+#: ../../common/config_info.c:146 ../../common/config_info.c:154
+#: ../../common/config_info.c:162 ../../common/config_info.c:170
+#: ../../common/config_info.c:178 ../../common/config_info.c:186
+#: ../../common/config_info.c:194
+msgid "not recorded"
+msgstr "không được ghi lại"
+
+#: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "không thể xác định thư mục hiện tại: %s"
+
+#: ../../common/exec.c:146
+#, c-format
+msgid "invalid binary \"%s\""
+msgstr "tệp nhị phân không hợp lệ \"%s\""
+
+#: ../../common/exec.c:195
+#, c-format
+msgid "could not read binary \"%s\""
+msgstr "không thể đọc tệp nhị phân \"%s\""
+
+#: ../../common/exec.c:202
+#, c-format
+msgid "could not find a \"%s\" to execute"
+msgstr "không thể tìm thấy tệp \"%s\" để thực thi"
+
+#: ../../common/exec.c:257 ../../common/exec.c:293
+#, c-format
+msgid "could not change directory to \"%s\": %s"
+msgstr "không thể thay đổi thư mục thành \"%s\": %s"
+
+#: ../../common/exec.c:272
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "không thể đọc symbolic link \"%s\""
+
+#: ../../common/exec.c:523
+#, c-format
+msgid "pclose failed: %s"
+msgstr "pclose lỗi: %s"
+
+#: pg_config.c:74
+#, c-format
+msgid ""
+"\n"
+"%s provides information about the installed version of PostgreSQL.\n"
+"\n"
+msgstr ""
+"\n"
+"%s cung cấp thông tin về phiên bản đã cài đặt của PostgreSQL.\n"
+"\n"
+
+#: pg_config.c:75
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: pg_config.c:76
+#, c-format
+msgid ""
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+" %s [TÙY CHỌN]...\n"
+"\n"
+
+#: pg_config.c:77
+#, c-format
+msgid "Options:\n"
+msgstr "Tùy chọn:\n"
+
+#: pg_config.c:78
+#, c-format
+msgid " --bindir show location of user executables\n"
+msgstr ""
+" --bindir hiển thị vị trí thư mục tệp thực thi của người "
+"dùng\n"
+
+#: pg_config.c:79
+#, c-format
+msgid " --docdir show location of documentation files\n"
+msgstr " --docdir hiển thị vị trí của các tệp tài liệu\n"
+
+#: pg_config.c:80
+#, c-format
+msgid " --htmldir show location of HTML documentation files\n"
+msgstr " --htmldir hiển thị vị trí của các tệp tài liệu HTML\n"
+
+#: pg_config.c:81
+#, c-format
+msgid ""
+" --includedir show location of C header files of the client\n"
+" interfaces\n"
+msgstr ""
+" --includedir hiển thị vị trí của tệp header ngôn ngữ C của\n"
+" giao diện phía client\n"
+
+#: pg_config.c:83
+#, c-format
+msgid " --pkgincludedir show location of other C header files\n"
+msgstr ""
+" --pkgincludedir hiện thị vị trí của các tệp header cho ngôn ngữ C "
+"khác\n"
+
+#: pg_config.c:84
+#, c-format
+msgid ""
+" --includedir-server show location of C header files for the server\n"
+msgstr ""
+" --includedir-server hiện thị vị trí của các tệp header ngôn ngữ C "
+"phía server\n"
+
+#: pg_config.c:85
+#, c-format
+msgid " --libdir show location of object code libraries\n"
+msgstr ""
+" --libdir hiện thị ví trí của các tệp thư viện chương "
+"trình\n"
+
+#: pg_config.c:86
+#, c-format
+msgid ""
+" --pkglibdir show location of dynamically loadable modules\n"
+msgstr ""
+" --pkglibdir hiển thị vị trí của các mô-đun có thể nạp động\n"
+
+#: pg_config.c:87
+#, c-format
+msgid " --localedir show location of locale support files\n"
+msgstr " --localedir hiển thị vị trí của tệp hỗ trợ ngôn ngữ\n"
+
+#: pg_config.c:88
+#, c-format
+msgid " --mandir show location of manual pages\n"
+msgstr " --mandir hiển thị vị trí của các trang hướng dẫn\n"
+
+#: pg_config.c:89
+#, c-format
+msgid ""
+" --sharedir show location of architecture-independent support "
+"files\n"
+msgstr ""
+" --sharedir hiển thị vị trí của các tệp hỗ trợ kiến trúc độc "
+"lập\n"
+
+#: pg_config.c:90
+#, c-format
+msgid ""
+" --sysconfdir show location of system-wide configuration files\n"
+msgstr ""
+" --sysconfdir hiển thị vị trí của tệp cấu hình trên toàn hệ "
+"thống\n"
+
+#: pg_config.c:91
+#, c-format
+msgid " --pgxs show location of extension makefile\n"
+msgstr ""
+" --pgxs hiển thị vị trí tệp makefile của extension\n"
+
+#: pg_config.c:92
+#, c-format
+msgid ""
+" --configure show options given to \"configure\" script when\n"
+" PostgreSQL was built\n"
+msgstr ""
+" --configure hiện thị tùy chọn chỉ định trong script "
+"\"configure\" \n"
+" khi built PostgreSQL\n"
+
+#: pg_config.c:94
+#, c-format
+msgid ""
+" --cc show CC value used when PostgreSQL was built\n"
+msgstr ""
+" --cc hiển thị giá trị CC được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:95
+#, c-format
+msgid ""
+" --cppflags show CPPFLAGS value used when PostgreSQL was "
+"built\n"
+msgstr ""
+" --cppflags hiện thị giá trị CPPFLAGS được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:96
+#, c-format
+msgid ""
+" --cflags show CFLAGS value used when PostgreSQL was built\n"
+msgstr ""
+" --cflags hiện thị giá trị CFLAGS được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:97
+#, c-format
+msgid ""
+" --cflags_sl show CFLAGS_SL value used when PostgreSQL was "
+"built\n"
+msgstr ""
+" --cflags_sl hiện thị giá trị CFLAGS_SL được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:98
+#, c-format
+msgid ""
+" --ldflags show LDFLAGS value used when PostgreSQL was "
+"built\n"
+msgstr ""
+" --ldflags hiện thị giá trị LDFLAGS được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:99
+#, c-format
+msgid ""
+" --ldflags_ex show LDFLAGS_EX value used when PostgreSQL was "
+"built\n"
+msgstr ""
+" --ldflags_ex hiện thị giá trị LDFLAGS_EX được sử dụng khi "
+"built PostgreSQL\n"
+
+#: pg_config.c:100
+#, c-format
+msgid ""
+" --ldflags_sl show LDFLAGS_SL value used when PostgreSQL was "
+"built\n"
+msgstr ""
+" --ldflags_sl hiện thị giá trị LDFLAGS_SL được sử dụng khi "
+"built PostgreSQL\n"
+
+#: pg_config.c:101
+#, c-format
+msgid ""
+" --libs show LIBS value used when PostgreSQL was built\n"
+msgstr ""
+" --libs hiện thị giá trị LIBS được sử dụng khi built "
+"PostgreSQL\n"
+
+#: pg_config.c:102
+#, c-format
+msgid " --version show the PostgreSQL version\n"
+msgstr " --version hiển thị phiên bản PostgreSQL\n"
+
+#: pg_config.c:103
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help hiển thị trợ giúp này, sau đó thoát\n"
+
+#: pg_config.c:104
+#, c-format
+msgid ""
+"\n"
+"With no arguments, all known items are shown.\n"
+"\n"
+msgstr ""
+"\n"
+"Nếu không có đối số, tất cả các mục sẽ được hiện thị.\n"
+"\n"
+
+#: pg_config.c:105
+#, c-format
+msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr "Báo cáo lỗi tới <pgsql-bugs@postgresql.org>.\n"
+
+#: pg_config.c:111
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_config.c:153
+#, c-format
+msgid "%s: could not find own program executable\n"
+msgstr "%s: không thể tìm thấy chương trình có thể thực thi\n"
+
+#: pg_config.c:180
+#, c-format
+msgid "%s: invalid argument: %s\n"
+msgstr "%s: đối số không hợp lệ: %s\n"
diff --git a/vi/pg_controldata.po b/vi/pg_controldata.po
new file mode 100644
index 00000000..019b7b05
--- /dev/null
+++ b/vi/pg_controldata.po
@@ -0,0 +1,476 @@
+# LANGUAGE message translation file for pg_controldata
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_controldata (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_controldata (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:17+0000\n"
+"PO-Revision-Date: 2018-05-04 22:20+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: ../../common/controldata_utils.c:61
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s: không thể mở tệp \"%s\" để đọc: %s\n"
+
+#: ../../common/controldata_utils.c:74
+#, c-format
+msgid "%s: could not read file \"%s\": %s\n"
+msgstr "%s: không đọc được tệp \"%s\": %s\n"
+
+#: ../../common/controldata_utils.c:95
+msgid "byte ordering mismatch"
+msgstr "thứ tự byte không khớp"
+
+#: ../../common/controldata_utils.c:97
+#, c-format
+msgid ""
+"WARNING: possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the "
+"one\n"
+"used by this program. In that case the results below would be incorrect, "
+"and\n"
+"the PostgreSQL installation would be incompatible with this data "
+"directory.\n"
+msgstr ""
+"CẢNH BÁO: có thể sắp xếp thứ tự byte không khớp\n"
+"Thứ tự byte được sử dụng để lưu trữ tệp pg_control có thể không khớp với\n"
+"cái được sử dụng bởi chương trình này. Trong trường hợp đó, kết quả bên\n"
+"dưới sẽ không chính xác và cài đặt PostgreSQL sẽ không tương thích với \n"
+"thư mục dữ liệu này.\n"
+
+#: pg_controldata.c:34
+#, c-format
+msgid ""
+"%s displays control information of a PostgreSQL database cluster.\n"
+"\n"
+msgstr ""
+"%s hiển thị thông tin điều khiển của hệ thống cơ sở dữ liệu PostgreSQL.\n"
+"\n"
+
+#: pg_controldata.c:35
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: pg_controldata.c:36
+#, c-format
+msgid " %s [OPTION] [DATADIR]\n"
+msgstr " %s [TÙY CHỌN] [DATADIR]\n"
+
+#: pg_controldata.c:37
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Options:\n"
+
+#: pg_controldata.c:38
+#, c-format
+msgid " [-D,--pgdata=]DATADIR data directory\n"
+msgstr " [-D,--pgdata=]DATADIR thư mục dữ liệu\n"
+
+#: pg_controldata.c:39
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr ""
+" -V, --version hiện thị thông tin phiên bản, sau đó kết thúc\n"
+
+#: pg_controldata.c:40
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr ""
+" -?, --help hiện thị nội dung trợ giúp này, sau đó kết thúc\n"
+
+#: pg_controldata.c:41
+#, c-format
+msgid ""
+"\n"
+"If no data directory (DATADIR) is specified, the environment variable "
+"PGDATA\n"
+"is used.\n"
+"\n"
+msgstr ""
+"\n"
+"Nếu thư mục cơ sở dữ liệu(DATADIR) không được chỉ định, biến môi trường \n"
+"PGDATA sẽ được sử dụng.\n"
+"\n"
+
+#: pg_controldata.c:43
+#, c-format
+msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr "Báo cáo lỗi tới <pgsql-bugs@postgresql.org>.\n"
+
+#: pg_controldata.c:53
+msgid "starting up"
+msgstr "đang khởi động"
+
+#: pg_controldata.c:55
+msgid "shut down"
+msgstr "đang ngưng hoạt động"
+
+#: pg_controldata.c:57
+msgid "shut down in recovery"
+msgstr "đang ngưng hoạt động ở chế độ khôi phục"
+
+#: pg_controldata.c:59
+msgid "shutting down"
+msgstr "đang tắt"
+
+#: pg_controldata.c:61
+msgid "in crash recovery"
+msgstr "đang trong chế độ khôi phục sự cố"
+
+#: pg_controldata.c:63
+msgid "in archive recovery"
+msgstr "đang trong chế độ phục hồi từ archive log"
+
+#: pg_controldata.c:65
+msgid "in production"
+msgstr "đang hoạt động"
+
+#: pg_controldata.c:67
+msgid "unrecognized status code"
+msgstr "mã trạng thái không được công nhận"
+
+#: pg_controldata.c:82
+msgid "unrecognized wal_level"
+msgstr "wal_level không được công nhận"
+
+#: pg_controldata.c:136 pg_controldata.c:154 pg_controldata.c:162
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_controldata.c:152
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: quá nhiều đối số dòng lệnh (đầu tiên là \"%s\")\n"
+
+#: pg_controldata.c:161
+#, c-format
+msgid "%s: no data directory specified\n"
+msgstr "%s: không có thư mục dữ liệu nào được chỉ định\n"
+
+#: pg_controldata.c:169
+#, c-format
+msgid ""
+"WARNING: Calculated CRC checksum does not match value stored in file.\n"
+"Either the file is corrupt, or it has a different layout than this "
+"program\n"
+"is expecting. The results below are untrustworthy.\n"
+"\n"
+msgstr ""
+"WARNING: Giá trị kiểm tra CRC checksum không khớp với giá trị lưu trữ \n"
+"trong tệp . Có thể tệp bị hỏng hoặc có bố cục khác với sự mong đợi của\n"
+"chương trình này. Các kết quả dưới đây là không đáng tin cậy.\n"
+"\n"
+
+#: pg_controldata.c:177
+#, c-format
+msgid ""
+"WARNING: invalid WAL segment size\n"
+"The WAL segment size stored in the file, %d bytes, is not a power of two\n"
+"between 1 MB and 1 GB. The file is corrupt and the results below are\n"
+"untrustworthy.\n"
+"\n"
+msgstr ""
+"CẢNH BÁO: kích thước phân đoạn WAL không hợp lệ\n"
+"Kích thước phân đoạn WAL được lưu trữ trong tệp, %d byte, không phải \n"
+"là lũy thừa của hai từ 1 MB đến 1 GB. Có thể tệp bị hỏng và kết quả bên\n"
+"dưới là không đáng tin cậy.\n"
+"\n"
+
+#: pg_controldata.c:215
+msgid "???"
+msgstr "???"
+
+#: pg_controldata.c:228
+#, c-format
+msgid "pg_control version number: %u\n"
+msgstr "phiên bản pg_control: %u\n"
+
+#: pg_controldata.c:230
+#, c-format
+msgid "Catalog version number: %u\n"
+msgstr "Phiên bản catalog: %u\n"
+
+#: pg_controldata.c:232
+#, c-format
+msgid "Database system identifier: %s\n"
+msgstr "Số định dạng hệ thống database: %s\n"
+
+#: pg_controldata.c:234
+#, c-format
+msgid "Database cluster state: %s\n"
+msgstr "Trạng thái hệ thống database: %s\n"
+
+#: pg_controldata.c:236
+#, c-format
+msgid "pg_control last modified: %s\n"
+msgstr "pg_control sửa đổi lần cuối: %s\n"
+
+#: pg_controldata.c:238
+#, c-format
+msgid "Latest checkpoint location: %X/%X\n"
+msgstr "Vị trí checkpoint mới nhất: %X/%X\n"
+
+#: pg_controldata.c:241
+#, c-format
+msgid "Latest checkpoint's REDO location: %X/%X\n"
+msgstr "Vị trí REDO của checkpoint gần nhất: %X/%X\n"
+
+#: pg_controldata.c:244
+#, c-format
+msgid "Latest checkpoint's REDO WAL file: %s\n"
+msgstr "Tệp REDO WAL của checkpoint gần nhất: %s\n"
+
+#: pg_controldata.c:246
+#, c-format
+msgid "Latest checkpoint's TimeLineID: %u\n"
+msgstr "TimeLineID của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:248
+#, c-format
+msgid "Latest checkpoint's PrevTimeLineID: %u\n"
+msgstr "PrevTimeLineID của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:250
+#, c-format
+msgid "Latest checkpoint's full_page_writes: %s\n"
+msgstr "Full_page_writes của checkpoint gần nhất: %s\n"
+
+#: pg_controldata.c:251 pg_controldata.c:296 pg_controldata.c:306
+msgid "off"
+msgstr "off"
+
+#: pg_controldata.c:251 pg_controldata.c:296 pg_controldata.c:306
+msgid "on"
+msgstr "on"
+
+#: pg_controldata.c:252
+#, c-format
+msgid "Latest checkpoint's NextXID: %u:%u\n"
+msgstr "NextXID của checkpoint gần nhất: %u:%u\n"
+
+#: pg_controldata.c:255
+#, c-format
+msgid "Latest checkpoint's NextOID: %u\n"
+msgstr "NextOID của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:257
+#, c-format
+msgid "Latest checkpoint's NextMultiXactId: %u\n"
+msgstr "NextMultiXactId của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:259
+#, c-format
+msgid "Latest checkpoint's NextMultiOffset: %u\n"
+msgstr "NextMultiOffset của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:261
+#, c-format
+msgid "Latest checkpoint's oldestXID: %u\n"
+msgstr "OldestXID của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:263
+#, c-format
+msgid "Latest checkpoint's oldestXID's DB: %u\n"
+msgstr "OldestXID DB của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:265
+#, c-format
+msgid "Latest checkpoint's oldestActiveXID: %u\n"
+msgstr "OldestActiveXID của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:267
+#, c-format
+msgid "Latest checkpoint's oldestMultiXid: %u\n"
+msgstr "OldestMultiXid của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:269
+#, c-format
+msgid "Latest checkpoint's oldestMulti's DB: %u\n"
+msgstr "OldestMulti DB của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:271
+#, c-format
+msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
+msgstr "OldestCommitTsXid DB của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:273
+#, c-format
+msgid "Latest checkpoint's newestCommitTsXid:%u\n"
+msgstr "NewestCommitTsXid của checkpoint gần nhất: %u\n"
+
+#: pg_controldata.c:275
+#, c-format
+msgid "Time of latest checkpoint: %s\n"
+msgstr "Thời gian của lần checkpoint gần nhấ: %s\n"
+
+#: pg_controldata.c:277
+#, c-format
+msgid "Fake LSN counter for unlogged rels: %X/%X\n"
+msgstr "Bộ đếm LSN giả cho các unlogged relations: %X/%X\n"
+
+#: pg_controldata.c:280
+#, c-format
+msgid "Minimum recovery ending location: %X/%X\n"
+msgstr "Tối thiểu hóa vị trí kết thúc cho phụ hồi: %X/%X\n"
+
+#: pg_controldata.c:283
+#, c-format
+msgid "Min recovery ending loc's timeline: %u\n"
+msgstr "Timeline của vị trí kết thúc phục hồi tối thiểu: %u\n"
+
+#: pg_controldata.c:285
+#, c-format
+msgid "Backup start location: %X/%X\n"
+msgstr "Vị trí bắt đầu Backup: %X/%X\n"
+
+#: pg_controldata.c:288
+#, c-format
+msgid "Backup end location: %X/%X\n"
+msgstr "Vị trí kết thúc Backup: %X/%X\n"
+
+#: pg_controldata.c:291
+#, c-format
+msgid "End-of-backup record required: %s\n"
+msgstr "Yêu cầu bản ghi kết thúc-backup : %s\n"
+
+#: pg_controldata.c:292
+msgid "no"
+msgstr "no"
+
+#: pg_controldata.c:292
+msgid "yes"
+msgstr "yes"
+
+#: pg_controldata.c:293
+#, c-format
+msgid "wal_level setting: %s\n"
+msgstr "giá trị thiết lập wal_level: %s\n"
+
+#: pg_controldata.c:295
+#, c-format
+msgid "wal_log_hints setting: %s\n"
+msgstr "giá trị thiết lập wal_log_hints: %s\n"
+
+#: pg_controldata.c:297
+#, c-format
+msgid "max_connections setting: %d\n"
+msgstr "giá trị thiết lập max_connections: %d\n"
+
+#: pg_controldata.c:299
+#, c-format
+msgid "max_worker_processes setting: %d\n"
+msgstr "giá trị thiết lập max_worker_processes: %d\n"
+
+#: pg_controldata.c:301
+#, c-format
+msgid "max_prepared_xacts setting: %d\n"
+msgstr "giá trị thiết lập max_prepared_xacts: %d\n"
+
+#: pg_controldata.c:303
+#, c-format
+msgid "max_locks_per_xact setting: %d\n"
+msgstr "giá trị thiết lập max_locks_per_xact: %d\n"
+
+#: pg_controldata.c:305
+#, c-format
+msgid "track_commit_timestamp setting: %s\n"
+msgstr "giá trị thiết lập track_commit_timestamp: %s\n"
+
+#: pg_controldata.c:307
+#, c-format
+msgid "Maximum data alignment: %u\n"
+msgstr "Căn chỉnh dữ liệu tối đa: %u\n"
+
+#: pg_controldata.c:310
+#, c-format
+msgid "Database block size: %u\n"
+msgstr "Kích thước block cơ sở dữ liệu: %u\n"
+
+#: pg_controldata.c:312
+#, c-format
+msgid "Blocks per segment of large relation: %u\n"
+msgstr "Số block cho mỗi phân đoạn của relation lớn: %u\n"
+
+#: pg_controldata.c:314
+#, c-format
+msgid "WAL block size: %u\n"
+msgstr "Kích thước block của WAL: %u\n"
+
+#: pg_controldata.c:316
+#, c-format
+msgid "Bytes per WAL segment: %u\n"
+msgstr "Số byte cho mỗi phân đoạn WAL: %u\n"
+
+#: pg_controldata.c:318
+#, c-format
+msgid "Maximum length of identifiers: %u\n"
+msgstr "Độ dài tối đa cho mỗi số nhận dạng: %u\n"
+
+#: pg_controldata.c:320
+#, c-format
+msgid "Maximum columns in an index: %u\n"
+msgstr "Số lượng cột tối đa cho một index: %u\n"
+
+#: pg_controldata.c:322
+#, c-format
+msgid "Maximum size of a TOAST chunk: %u\n"
+msgstr "Kích thước tối đa của đoạn TOAST: %u\n"
+
+#: pg_controldata.c:324
+#, c-format
+msgid "Size of a large-object chunk: %u\n"
+msgstr "Kích thước của một đoạn đối tượng lớn: %u\n"
+
+#: pg_controldata.c:327
+#, c-format
+msgid "Date/time type storage: %s\n"
+msgstr "Lưu trữ kiểu Date/time: %s\n"
+
+#: pg_controldata.c:328
+msgid "64-bit integers"
+msgstr "64-bit integers"
+
+#: pg_controldata.c:329
+#, c-format
+msgid "Float4 argument passing: %s\n"
+msgstr "Thiết lập đối số float4: %s\n"
+
+#: pg_controldata.c:330 pg_controldata.c:332
+msgid "by reference"
+msgstr "bằng cách tham chiếu"
+
+#: pg_controldata.c:330 pg_controldata.c:332
+msgid "by value"
+msgstr "theo giá trị"
+
+#: pg_controldata.c:331
+#, c-format
+msgid "Float8 argument passing: %s\n"
+msgstr "Thiết lập đối số float8: %s\n"
+
+#: pg_controldata.c:333
+#, c-format
+msgid "Data page checksum version: %u\n"
+msgstr "Phiên bản checksum page dữ liệu: %u\n"
+
+#: pg_controldata.c:335
+#, c-format
+msgid "Mock authentication nonce: %s\n"
+msgstr "Xác thực giả tạm thời: %s\n"
diff --git a/vi/pg_test_fsync.po b/vi/pg_test_fsync.po
new file mode 100644
index 00000000..32a5b549
--- /dev/null
+++ b/vi/pg_test_fsync.po
@@ -0,0 +1,195 @@
+# LANGUAGE message translation file for pg_test_fsync
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_test_fsync (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_test_fsync (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:17+0000\n"
+"PO-Revision-Date: 2018-04-30 00:47+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#. translator: maintain alignment with NA_FORMAT
+#: pg_test_fsync.c:30
+#, c-format
+msgid "%13.3f ops/sec %6.0f usecs/op\n"
+msgstr "%13.3f thao tác/giây %6.0f micro giây/thao tác\n"
+
+#: pg_test_fsync.c:49
+#, c-format
+msgid "Could not create thread for alarm\n"
+msgstr "Không thể tạo luồng sử dụng cho alarm\n"
+
+#: pg_test_fsync.c:154
+#, c-format
+msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n"
+msgstr "Cách sử dụng: %s [-f TÊN FILE] [-s SỐ GIÂY CHO MỘT KIỂM TRA]\n"
+
+#: pg_test_fsync.c:178 pg_test_fsync.c:190
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_test_fsync.c:188
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: quá nhiều đối số cho câu lệnh (đầu tiên là \"%s\")\n"
+
+#: pg_test_fsync.c:195
+#, c-format
+msgid "%d second per test\n"
+msgid_plural "%d seconds per test\n"
+msgstr[0] "%d giây cho mỗi kiểm tra\n"
+
+#: pg_test_fsync.c:200
+#, c-format
+msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n"
+msgstr "O_DIRECT được hỗ trợ trên hệ điều hành này cho open_datasync và open_sync.\n"
+
+#: pg_test_fsync.c:202
+#, c-format
+msgid "Direct I/O is not supported on this platform.\n"
+msgstr "I/O trực tiếp không được hỗ trợ trên hệ điều hành này.\n"
+
+#: pg_test_fsync.c:227 pg_test_fsync.c:292 pg_test_fsync.c:316
+#: pg_test_fsync.c:339 pg_test_fsync.c:480 pg_test_fsync.c:492
+#: pg_test_fsync.c:508 pg_test_fsync.c:514 pg_test_fsync.c:539
+msgid "could not open output file"
+msgstr "không thể mở tập tin đầu ra"
+
+#: pg_test_fsync.c:231 pg_test_fsync.c:273 pg_test_fsync.c:298
+#: pg_test_fsync.c:322 pg_test_fsync.c:345 pg_test_fsync.c:383
+#: pg_test_fsync.c:441 pg_test_fsync.c:482 pg_test_fsync.c:510
+#: pg_test_fsync.c:541
+msgid "write failed"
+msgstr "viết không thành công"
+
+#: pg_test_fsync.c:235 pg_test_fsync.c:324 pg_test_fsync.c:347
+#: pg_test_fsync.c:484 pg_test_fsync.c:516
+msgid "fsync failed"
+msgstr "đồng bộ không thành công"
+
+#: pg_test_fsync.c:249
+#, c-format
+msgid ""
+"\n"
+"Compare file sync methods using one %dkB write:\n"
+msgstr ""
+"\n"
+"So sánh các phương pháp đồng bộ hóa tệp sử dụng viết một %dkB:\n"
+
+#: pg_test_fsync.c:251
+#, c-format
+msgid ""
+"\n"
+"Compare file sync methods using two %dkB writes:\n"
+msgstr ""
+"\n"
+"So sánh các phương pháp đồng bộ hóa tệp sử dụng viết hai %dkB:\n"
+
+#: pg_test_fsync.c:252
+#, c-format
+msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n"
+msgstr "(theo thứ tự ưu tiên tham số wal_sync_method, ngoại trừ fdatasync là mặc định của Linux)\n"
+
+#: pg_test_fsync.c:263 pg_test_fsync.c:366 pg_test_fsync.c:432
+msgid "n/a*"
+msgstr "không khả dụng*"
+
+#: pg_test_fsync.c:275 pg_test_fsync.c:301 pg_test_fsync.c:326
+#: pg_test_fsync.c:349 pg_test_fsync.c:385 pg_test_fsync.c:443
+msgid "seek failed"
+msgstr "seek lỗi"
+
+#: pg_test_fsync.c:281 pg_test_fsync.c:306 pg_test_fsync.c:354
+#: pg_test_fsync.c:391 pg_test_fsync.c:449
+msgid "n/a"
+msgstr "không khả dụng"
+
+#: pg_test_fsync.c:396
+#, c-format
+msgid ""
+"* This file system and its mount options do not support direct\n"
+" I/O, e.g. ext4 in journaled mode.\n"
+msgstr ""
+"* Hệ thống tệp này và tùy chọn mount không hỗ trợ I/O trực tiếp\n"
+" ví dụ: ext4 trong chế độ journaled.\n"
+
+#: pg_test_fsync.c:404
+#, c-format
+msgid ""
+"\n"
+"Compare open_sync with different write sizes:\n"
+msgstr ""
+"\n"
+"So sánh open_sync với các kích thước ghi khác nhau:\n"
+
+#: pg_test_fsync.c:405
+#, c-format
+msgid ""
+"(This is designed to compare the cost of writing 16kB in different write\n"
+"open_sync sizes.)\n"
+msgstr ""
+"(Điều này được thiết kế để so sánh cost của việc viết 16kB trong các \n"
+"kích thước open_sync khác nhau.)\n"
+
+#: pg_test_fsync.c:408
+msgid " 1 * 16kB open_sync write"
+msgstr " 1 * 16kB open_sync write"
+
+#: pg_test_fsync.c:409
+msgid " 2 * 8kB open_sync writes"
+msgstr " 2 * 8kB open_sync writes"
+
+#: pg_test_fsync.c:410
+msgid " 4 * 4kB open_sync writes"
+msgstr " 4 * 4kB open_sync writes"
+
+#: pg_test_fsync.c:411
+msgid " 8 * 2kB open_sync writes"
+msgstr " 8 * 2kB open_sync writes"
+
+#: pg_test_fsync.c:412
+msgid "16 * 1kB open_sync writes"
+msgstr "16 * 1kB open_sync writes"
+
+#: pg_test_fsync.c:465
+#, c-format
+msgid ""
+"\n"
+"Test if fsync on non-write file descriptor is honored:\n"
+msgstr ""
+"\n"
+"Kiểm tra xem fsync trên tệp descrtiptor không ghi có tốt không:\n"
+
+#: pg_test_fsync.c:466
+#, c-format
+msgid ""
+"(If the times are similar, fsync() can sync data written on a different\n"
+"descriptor.)\n"
+msgstr ""
+"(Nếu số lần là tương đương, fsync() có thể đồng bộ dữ liệu được ghi ở \n"
+"descriptor khác.)\n"
+
+#: pg_test_fsync.c:531
+#, c-format
+msgid ""
+"\n"
+"Non-sync'ed %dkB writes:\n"
+msgstr ""
+"\n"
+"Viết %dkB không sync:\n"
+
+#: pg_test_fsync.c:608
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
diff --git a/vi/pg_test_timing.po b/vi/pg_test_timing.po
new file mode 100644
index 00000000..92144003
--- /dev/null
+++ b/vi/pg_test_timing.po
@@ -0,0 +1,78 @@
+# LANGUAGE message translation file for pg_test_timing
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_test_timing (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_test_timing (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:16+0000\n"
+"PO-Revision-Date: 2018-05-04 22:06+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: pg_test_timing.c:55
+#, c-format
+msgid "Usage: %s [-d DURATION]\n"
+msgstr "Cách dùng: %s [-d THỜI LƯỢNG]\n"
+
+#: pg_test_timing.c:75 pg_test_timing.c:87 pg_test_timing.c:104
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: pg_test_timing.c:85
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: quá nhiều đối số cho câu lệnh (đầu tiên là \"%s\")\n"
+
+#: pg_test_timing.c:94
+#, c-format
+msgid "Testing timing overhead for %d second.\n"
+msgid_plural "Testing timing overhead for %d seconds.\n"
+msgstr[0] "Kiểm tra thời gian vượt quá cho %d giây.\n"
+
+#: pg_test_timing.c:102
+#, c-format
+msgid "%s: duration must be a positive integer (duration is \"%d\")\n"
+msgstr "%s: thời lượng phải là một số nguyên dương (khoảng thời gian: \"%d\")\n"
+
+#: pg_test_timing.c:140
+#, c-format
+msgid "Detected clock going backwards in time.\n"
+msgstr "Clock được phát hiện đang đi ngược thời gian.\n"
+
+#: pg_test_timing.c:141
+#, c-format
+msgid "Time warp: %d ms\n"
+msgstr "Thời gian đảo ngược: %d ms\n"
+
+#: pg_test_timing.c:164
+#, c-format
+msgid "Per loop time including overhead: %0.2f ns\n"
+msgstr "Thời gian mỗi vòng lặp bao gồm cả thời gian vượt quá: %0.2f ns\n"
+
+#: pg_test_timing.c:175
+msgid "< us"
+msgstr "< us"
+
+#: pg_test_timing.c:176
+#, no-c-format
+msgid "% of total"
+msgstr "% của tổng"
+
+#: pg_test_timing.c:177
+msgid "count"
+msgstr "số lượng"
+
+#: pg_test_timing.c:186
+#, c-format
+msgid "Histogram of timing durations:\n"
+msgstr "Biểu đồ về thời lượng thời gian:\n"
diff --git a/vi/pg_waldump.po b/vi/pg_waldump.po
new file mode 100644
index 00000000..037d9955
--- /dev/null
+++ b/vi/pg_waldump.po
@@ -0,0 +1,309 @@
+# LANGUAGE message translation file for pg_waldump
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_waldump (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pg_waldump (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:16+0000\n"
+"PO-Revision-Date: 2018-05-04 22:19+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: pg_waldump.c:85
+#, c-format
+msgid "%s: FATAL: "
+msgstr "%s: FATAL: "
+
+#: pg_waldump.c:166
+#, c-format
+msgid "could not open file \"%s\": %s"
+msgstr "không thể mở tệp \"%s\": %s"
+
+#: pg_waldump.c:221
+#, c-format
+msgid ""
+"WAL segment size must be a power of two between 1MB and 1GB, but the WAL "
+"file \"%s\" header specifies %d bytes"
+msgstr ""
+"Kích thước phân đoạn WAL phải là lũy thừa của hai giá trị từ 1MB đến "
+"1GB, nhưng header của tệp WAL \"%s\" chỉ định %d bytes"
+
+#: pg_waldump.c:227
+#, c-format
+msgid "could not read file \"%s\": %s"
+msgstr "không thể đọc tệp \"%s\": %s"
+
+#: pg_waldump.c:230
+#, c-format
+msgid "not enough data in file \"%s\""
+msgstr "không đủ dữ liệu trong tệp \"%s\""
+
+#: pg_waldump.c:307
+#, c-format
+msgid "could not locate WAL file \"%s\""
+msgstr "không thể định vị tệp WAL \"%s\""
+
+#: pg_waldump.c:309
+#, c-format
+msgid "could not find any WAL file"
+msgstr "không thể tìm thấy tệp WAL nào cả"
+
+#: pg_waldump.c:380
+#, c-format
+msgid "could not find file \"%s\": %s"
+msgstr "không thể tìm được tệp \"%s\": %s"
+
+#: pg_waldump.c:395
+#, c-format
+msgid "could not seek in log file %s to offset %u: %s"
+msgstr "không thể tìm kiếm trong tệp log %s tới offset %u: %s"
+
+#: pg_waldump.c:415
+#, c-format
+msgid "could not read from log file %s, offset %u, length %d: %s"
+msgstr "không thể đọc từ tệp log %s, offset %u, độ dài %d: %s"
+
+#: pg_waldump.c:794
+#, c-format
+msgid ""
+"%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
+"\n"
+msgstr ""
+"%s giải mã và hiển thị các bản ghi WAL của PostgreSQL cho debug.\n"
+"\n"
+
+#: pg_waldump.c:796
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách sử dụng:\n"
+
+#: pg_waldump.c:797
+#, c-format
+msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+msgstr " %s [OPTION]... [STARTSEG [ENDSEG]]\n"
+
+#: pg_waldump.c:798
+#, c-format
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"Tùy chọn:\n"
+
+#: pg_waldump.c:799
+#, c-format
+msgid ""
+" -b, --bkp-details output detailed information about backup "
+"blocks\n"
+msgstr ""
+" -b, --bkp-details xuất thông tin chi tiết về các khối sao lưu\n"
+
+#: pg_waldump.c:800
+#, c-format
+msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n"
+msgstr " -e, --end=RECPTR dừng đọc WAL tại vị trí RECPTR\n"
+
+#: pg_waldump.c:801
+#, c-format
+msgid " -f, --follow keep retrying after reaching end of WAL\n"
+msgstr ""
+" -f, --follow tiếp tục thử lại sau khi đến tới vị trí cuối "
+"của WAL\n"
+
+#: pg_waldump.c:802
+#, c-format
+msgid " -n, --limit=N number of records to display\n"
+msgstr " -n, --limit=N số bản ghi để hiển thị\n"
+
+#: pg_waldump.c:803
+#, c-format
+msgid ""
+" -p, --path=PATH directory in which to find log segment files or "
+"a\n"
+" directory with a ./pg_wal that contains such "
+"files\n"
+" (default: current directory, ./pg_wal, $PGDATA/"
+"pg_wal)\n"
+msgstr ""
+" -p, --path=PATH thư mục để tìm tệp phân đoạn log hay thư mục \n"
+" chứa những tệp đó như là ./pg_wal (mặc định: "
+"thư mục \n"
+" hiện tại, ./pg_wal, $PGDATA/pg_wal)\n"
+
+#: pg_waldump.c:806
+#, c-format
+msgid ""
+" -r, --rmgr=RMGR only show records generated by resource manager "
+"RMGR;\n"
+" use --rmgr=list to list valid resource manager "
+"names\n"
+msgstr ""
+" -r, --rmgr=RMGR chỉ hiển thị các bản ghi được tạo bởi trình "
+"quản lý \n"
+" tài nguyên RMGR; sử dụng --rmgr=list để hiểu "
+"thị\n"
+" tên các trình quản lý tài nguyên hợp lệ\n"
+
+#: pg_waldump.c:808
+#, c-format
+msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n"
+msgstr " -s, --start=RECPTR bắt đầu đọc tại vị trí RECPTR của WAL\n"
+
+#: pg_waldump.c:809
+#, c-format
+msgid ""
+" -t, --timeline=TLI timeline from which to read log records\n"
+" (default: 1 or the value used in STARTSEG)\n"
+msgstr ""
+" -t, --timeline=TLI đọc bản ghi với giá trị timeline chỉ định\n"
+" (mặc định: 1 hoặc giá trị sử dụng trong "
+"STARTSEG)\n"
+
+#: pg_waldump.c:811
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr ""
+" -V, --version hiển thị thông tin phiên bản, sau đó thoát\n"
+
+#: pg_waldump.c:812
+#, c-format
+msgid ""
+" -x, --xid=XID only show records with transaction ID XID\n"
+msgstr ""
+" -x, --xid=XID chỉ xuất bản ghi với transaction ID là XID\n"
+
+#: pg_waldump.c:813
+#, c-format
+msgid ""
+" -z, --stats[=record] show statistics instead of records\n"
+" (optionally, show per-record statistics)\n"
+msgstr ""
+" -z, --stats[=record] hiển thị số liệu thống kê thay vì bản ghi\n"
+" (tùy chọn, hiển thị số liệu thống kê cho mỗi "
+"bản ghi)\n"
+
+#: pg_waldump.c:815
+#, c-format
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help hiện thị trợ giúp này, sau đó kết thúc\n"
+
+#: pg_waldump.c:874
+#, c-format
+msgid "%s: no arguments specified\n"
+msgstr "%s: không có đối số nào được chỉ định\n"
+
+#: pg_waldump.c:889
+#, c-format
+msgid "%s: could not parse end WAL location \"%s\"\n"
+msgstr "%s: không thể phân tích cú pháp vị trí kết thúc WAL \"%s\"\n"
+
+#: pg_waldump.c:905
+#, c-format
+msgid "%s: could not parse limit \"%s\"\n"
+msgstr "%s: không thể phân tích giới hạn\"%s\"\n"
+
+#: pg_waldump.c:934
+#, c-format
+msgid "%s: resource manager \"%s\" does not exist\n"
+msgstr "%s: trình quản lý tài nguyên \"%s\" không tồn tại\n"
+
+#: pg_waldump.c:943
+#, c-format
+msgid "%s: could not parse start WAL location \"%s\"\n"
+msgstr ""
+"%s: không thể phân tích cú pháp vị trí bắt đầu WAL \"%s\"\n"
+"\n"
+
+#: pg_waldump.c:953
+#, c-format
+msgid "%s: could not parse timeline \"%s\"\n"
+msgstr "%s: không thể phân tích timeline \"%s\"\n"
+
+#: pg_waldump.c:965
+#, c-format
+msgid "%s: could not parse \"%s\" as a transaction ID\n"
+msgstr "%s: không thể phân tích \"%s\" như là một transaction ID\n"
+
+#: pg_waldump.c:980
+#, c-format
+msgid "%s: unrecognized argument to --stats: %s\n"
+msgstr "%s: đối số không được công nhận cho tùy chọn --stats: %s\n"
+
+#: pg_waldump.c:994
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: có quá nhiều đối số dòng lệnh (đầu tiên là \"%s\")\n"
+
+#: pg_waldump.c:1005
+#, c-format
+msgid "%s: path \"%s\" could not be opened: %s\n"
+msgstr "%s: đường dẫn \"%s\" không thể mở được %s\n"
+
+#: pg_waldump.c:1026
+#, c-format
+msgid "could not open directory \"%s\": %s"
+msgstr "không thể mở thư mục \"%s\": %s"
+
+#: pg_waldump.c:1033 pg_waldump.c:1066
+#, c-format
+msgid "could not open file \"%s\""
+msgstr "không thể mở tệp \"%s\""
+
+#: pg_waldump.c:1044
+#, c-format
+msgid "%s: start WAL location %X/%X is not inside file \"%s\"\n"
+msgstr "%s: vị trí bắt đầu WAL %X/%X không nằm trong tệp \"%s\"\n"
+
+#: pg_waldump.c:1073
+#, c-format
+msgid "ENDSEG %s is before STARTSEG %s"
+msgstr "ENDSEG %s ở trước STARTSEG %s"
+
+#: pg_waldump.c:1089
+#, c-format
+msgid "%s: end WAL location %X/%X is not inside file \"%s\"\n"
+msgstr ""
+"%s: vị trí kết thúc WAL %X/%X không nằm trong tệp \"%s\"\n"
+"\n"
+
+#: pg_waldump.c:1103
+#, c-format
+msgid "%s: no start WAL location given\n"
+msgstr "%s: không có vị trí bắt đầu WAL được chỉ định\n"
+
+#: pg_waldump.c:1113
+#, c-format
+msgid "out of memory"
+msgstr "hết bộ nhớ"
+
+#: pg_waldump.c:1119
+#, c-format
+msgid "could not find a valid record after %X/%X"
+msgstr "không thể tìm thấy bản ghi hợp lệ sau %X/%X"
+
+#: pg_waldump.c:1130
+#, c-format
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid_plural ""
+"first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgstr[0] "bản ghi đầu tiên sau %X/%X, at %X/%X, bỏ qua %u bytes\n"
+
+#: pg_waldump.c:1181
+#, c-format
+msgid "error in WAL record at %X/%X: %s"
+msgstr "lỗi trong bản ghi WAL ở %X/%X: %s"
+
+#: pg_waldump.c:1191
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Hãy thử \"%s --help\" để biết thêm thông tin.\n"
diff --git a/vi/plperl.po b/vi/plperl.po
new file mode 100644
index 00000000..15ba8747
--- /dev/null
+++ b/vi/plperl.po
@@ -0,0 +1,242 @@
+# LANGUAGE message translation file for plperl
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the plperl (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plperl (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-04-29 23:57+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: plperl.c:409
+msgid ""
+"If true, trusted and untrusted Perl code will be compiled in strict mode."
+msgstr ""
+"Nếu đúng, mã perl đáng tin cậy(PL/Perl ) và không đáng tin cậy(PL/PerlU) sẽ "
+"được biên dịch trong chế độ strict."
+
+#: plperl.c:423
+msgid ""
+"Perl initialization code to execute when a Perl interpreter is initialized."
+msgstr "Mã Perl được thực thi khi trình thông dịch Perl được khởi tạo."
+
+#: plperl.c:445
+msgid "Perl initialization code to execute once when plperl is first used."
+msgstr "Mã Perl được thực thi khi plperl được sử dụng lần đầu tiên."
+
+#: plperl.c:453
+msgid "Perl initialization code to execute once when plperlu is first used."
+msgstr "Mã Perl được thực thi khi plperlu được sử dụng lần đầu tiên."
+
+#: plperl.c:650
+#, c-format
+msgid "cannot allocate multiple Perl interpreters on this platform"
+msgstr "không thể cấp phát nhiều trình thông dịch Perl trên hệ điều hành này"
+
+#: plperl.c:673 plperl.c:857 plperl.c:863 plperl.c:980 plperl.c:992
+#: plperl.c:1035 plperl.c:1058 plperl.c:2141 plperl.c:2251 plperl.c:2319
+#: plperl.c:2382
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: plperl.c:674
+#, c-format
+msgid "while executing PostgreSQL::InServer::SPI::bootstrap"
+msgstr "trong khi thực thi PostgreSQL::InServer::SPI::bootstrap"
+
+#: plperl.c:858
+#, c-format
+msgid "while parsing Perl initialization"
+msgstr "trong khi phân tích cú pháp khởi tạo Perl"
+
+#: plperl.c:864
+#, c-format
+msgid "while running Perl initialization"
+msgstr "trong khi chạy cú pháp khởi tạo Perl"
+
+#: plperl.c:981
+#, c-format
+msgid "while executing PLC_TRUSTED"
+msgstr "trong khi chạy PLC_TRUSTED"
+
+#: plperl.c:993
+#, c-format
+msgid "while executing utf8fix"
+msgstr "trong khi thực thi utf8fix"
+
+#: plperl.c:1036
+#, c-format
+msgid "while executing plperl.on_plperl_init"
+msgstr "trong khi thực thi plperl.on_plperl_init"
+
+#: plperl.c:1059
+#, c-format
+msgid "while executing plperl.on_plperlu_init"
+msgstr "trong khi thực thi plperl.plperlu_init"
+
+#: plperl.c:1105 plperl.c:1785
+#, c-format
+msgid "Perl hash contains nonexistent column \"%s\""
+msgstr "Giá trị băm Perl chứa cột không tồn tại \"%s\""
+
+#: plperl.c:1110 plperl.c:1790
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "không thể thiết lập attribute hệ thống \"%s\""
+
+#: plperl.c:1198
+#, c-format
+msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgstr "số lượng chiều của mảng (%d) vượt quá số lượng tối đa cho phép (%d)"
+
+#: plperl.c:1210 plperl.c:1227
+#, c-format
+msgid ""
+"multidimensional arrays must have array expressions with matching dimensions"
+msgstr "mảng đa chiều phải có biểu thức mảng tương ứng với các chiều"
+
+#: plperl.c:1263
+#, c-format
+msgid "cannot convert Perl array to non-array type %s"
+msgstr "không thể chuyển đổi mảng Perl thành kiểu không phải mảng %s"
+
+#: plperl.c:1366
+#, c-format
+msgid "cannot convert Perl hash to non-composite type %s"
+msgstr ""
+"không thể chuyển đổi giá trị băm Perl thành kiểu không phải-composite %s"
+
+#: plperl.c:1388 plperl.c:3286
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"hàm trả về bản ghi được gọi trong ngữ cảnh không thể chấp nhận kiểu bản ghi"
+
+#: plperl.c:1408
+#, c-format
+msgid "PL/Perl function must return reference to hash or array"
+msgstr "Hàm PL/Perl phải trả về tham thiếu tới giá trị băm hoặc mảng"
+
+#: plperl.c:1445
+#, c-format
+msgid "lookup failed for type %s"
+msgstr "không tìm thấy kiểu dữ liệu %s"
+
+#: plperl.c:1760
+#, c-format
+msgid "$_TD->{new} does not exist"
+msgstr "$_TD->{new} không tồn tại"
+
+#: plperl.c:1764
+#, c-format
+msgid "$_TD->{new} is not a hash reference"
+msgstr "$_TD->{new} không phải là một tham chiếu giá trị băm"
+
+#: plperl.c:2016 plperl.c:2858
+#, c-format
+msgid "PL/Perl functions cannot return type %s"
+msgstr "Hàm PL/Perl không thể trả về kiểu %s"
+
+#: plperl.c:2029 plperl.c:2899
+#, c-format
+msgid "PL/Perl functions cannot accept type %s"
+msgstr "Hàm PL/Perl không thể chấp nhận kiểu %s"
+
+#: plperl.c:2146
+#, c-format
+msgid "didn't get a CODE reference from compiling function \"%s\""
+msgstr "không nhận được tham chiếu CODE từ hàm biên dịch \"%s\""
+
+#: plperl.c:2239
+#, c-format
+msgid "didn't get a return item from function"
+msgstr "không nhận được một mục trả về từ hàm"
+
+#: plperl.c:2283 plperl.c:2350
+#, c-format
+msgid "couldn't fetch $_TD"
+msgstr "không thể fetch $_TD"
+
+#: plperl.c:2307 plperl.c:2370
+#, c-format
+msgid "didn't get a return item from trigger function"
+msgstr "không nhận được một mục trả về từ hàm trigger"
+
+#: plperl.c:2431
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+"hàm thiết lập giá trị được gọi trong ngữ cảnh không thể chấp nhận một tập "
+"hợp"
+
+#: plperl.c:2476
+#, c-format
+msgid ""
+"set-returning PL/Perl function must return reference to array or use "
+"return_next"
+msgstr ""
+"hàm thiết lập-trả về PL/Perl phải trả về tham chiếu tới mảng hay sử dụng "
+"return_next"
+
+#: plperl.c:2597
+#, c-format
+msgid "ignoring modified row in DELETE trigger"
+msgstr "bỏ qua hàng đã sửa đổi trong trigger DELETE"
+
+#: plperl.c:2605
+#, c-format
+msgid ""
+"result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\""
+msgstr ""
+"kết quả của hàm trigger PL/Perl phải là undef, \"SKIP\" hoặc \"MODIFY\""
+
+#: plperl.c:2853
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "các hàm trigger chỉ có thể được gọi như những trigger"
+
+#: plperl.c:3193
+#, c-format
+msgid "query result has too many rows to fit in a Perl array"
+msgstr "kết quả truy vấn có quá nhiều hàng có thể vừa với một mảng Perl"
+
+#: plperl.c:3263
+#, c-format
+msgid "cannot use return_next in a non-SETOF function"
+msgstr "không thể sử dụng return_next trong hàm không phải-SETOF"
+
+#: plperl.c:3337
+#, c-format
+msgid ""
+"SETOF-composite-returning PL/Perl function must call return_next with "
+"reference to hash"
+msgstr ""
+"Hàm PL/Perl trả về SETOF-composite phải gọi return_next với tham chiếu tới "
+"giá trị băm"
+
+#: plperl.c:4115
+#, c-format
+msgid "PL/Perl function \"%s\""
+msgstr "Hàm PL/Perl \"%s\""
+
+#: plperl.c:4127
+#, c-format
+msgid "compilation of PL/Perl function \"%s\""
+msgstr "biên dịch hàm PL/Perl \"%s\""
+
+#: plperl.c:4136
+#, c-format
+msgid "PL/Perl anonymous code block"
+msgstr "Khối mã ẩn danh PL/Perl"
diff --git a/vi/plpgsql.po b/vi/plpgsql.po
new file mode 100644
index 00000000..6620dea6
--- /dev/null
+++ b/vi/plpgsql.po
@@ -0,0 +1,850 @@
+# LANGUAGE message translation file for plpgsql
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the plpgsql (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plpgsql (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-05-13 15:28+0900\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: \n"
+"Language: vi_VN\n"
+
+#: pl_comp.c:434 pl_handler.c:457
+#, c-format
+msgid "PL/pgSQL functions cannot accept type %s"
+msgstr "Các hàm PL/pgSQL không thể chấp nhận kiểu %s"
+
+#: pl_comp.c:522
+#, c-format
+msgid "could not determine actual return type for polymorphic function \"%s\""
+msgstr "không thể xác định kiểu thực tế trả về cho hàm đa hình \"%s\""
+
+#: pl_comp.c:552
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "hàm trigger chỉ có thể được gọi như một trigger"
+
+#: pl_comp.c:556 pl_handler.c:441
+#, c-format
+msgid "PL/pgSQL functions cannot return type %s"
+msgstr "Các hàm PL/pgSQL không thể trả về kiểu %s"
+
+#: pl_comp.c:595
+#, c-format
+msgid "trigger functions cannot have declared arguments"
+msgstr "không thể khai báo đối số cho hàm trigger"
+
+#: pl_comp.c:596
+#, c-format
+msgid ""
+"The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV "
+"instead."
+msgstr ""
+"Thay vào đó các đối số của trigger có thể được truy cập thông qua TG_NARGS "
+"và TG_ARGV."
+
+#: pl_comp.c:719
+#, c-format
+msgid "event trigger functions cannot have declared arguments"
+msgstr "không thể khai báo đối số cho hàm sự kiện trigger"
+
+#: pl_comp.c:976
+#, c-format
+msgid "compilation of PL/pgSQL function \"%s\" near line %d"
+msgstr "biên dịch hàm PL/pgSQL \"%s\" gần dòng %d"
+
+#: pl_comp.c:999
+#, c-format
+msgid "parameter name \"%s\" used more than once"
+msgstr "tên thông số \"%s\" được sử dụng nhiều lần"
+
+#: pl_comp.c:1109
+#, c-format
+msgid "column reference \"%s\" is ambiguous"
+msgstr "tham chiếu cột \"%s\" không rõ ràng"
+
+#: pl_comp.c:1111
+#, c-format
+msgid "It could refer to either a PL/pgSQL variable or a table column."
+msgstr "Nó có thể tham chiếu đến một biến PL/pgSQL hoặc một cột bảng."
+
+#: pl_comp.c:1294 pl_exec.c:5031 pl_exec.c:5396 pl_exec.c:5483 pl_exec.c:5574
+#: pl_exec.c:6491
+#, c-format
+msgid "record \"%s\" has no field \"%s\""
+msgstr "bản ghi \"%s\" không có trường \"%s\""
+
+#: pl_comp.c:1756
+#, c-format
+msgid "relation \"%s\" does not exist"
+msgstr "relation \"%s\" không tồn tại"
+
+#: pl_comp.c:1848
+#, c-format
+msgid "variable \"%s\" has pseudo-type %s"
+msgstr "biến \"%s\" có pseudo-type %s"
+
+#: pl_comp.c:2026
+#, c-format
+msgid "type \"%s\" is only a shell"
+msgstr "kiểu \"%s\" chỉ là một shell(chưa được định nghĩa nội dung)"
+
+#: pl_comp.c:2123 pl_comp.c:2176
+#, c-format
+msgid "unrecognized exception condition \"%s\""
+msgstr "không thể nhận ra điều kiện của ngoại lệ \"%s\""
+
+#: pl_comp.c:2390
+#, c-format
+msgid ""
+"could not determine actual argument type for polymorphic function \"%s\""
+msgstr "không thể xác định loại đối số thực tế cho hàm đa hình \"%s\""
+
+#: pl_exec.c:473 pl_exec.c:885 pl_exec.c:1098
+msgid "during initialization of execution state"
+msgstr "trong khi khởi tạo trạng thái thực thi"
+
+#: pl_exec.c:479
+msgid "while storing call arguments into local variables"
+msgstr "trong khi lưu trữ các đối số gọi vào trong các biến cục bộ"
+
+#: pl_exec.c:567 pl_exec.c:933
+msgid "during function entry"
+msgstr "trong lúc đi vào hàm"
+
+#: pl_exec.c:592
+#, c-format
+msgid "control reached end of function without RETURN"
+msgstr "Hàm đã kết thúc trước khi trả về RETURN"
+
+#: pl_exec.c:599
+msgid "while casting return value to function's return type"
+msgstr "trong khi ép kiểu giá trị trả về cho kiểu trả về của hàm"
+
+#: pl_exec.c:612 pl_exec.c:3484
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+"hàm thiết lập giá trị được gọi trong ngữ cảnh không thể chấp nhận một tập hợp"
+
+#: pl_exec.c:738 pl_exec.c:962 pl_exec.c:1123
+msgid "during function exit"
+msgstr "trong lúc kết thúc hàm"
+
+#: pl_exec.c:793 pl_exec.c:832 pl_exec.c:3329
+msgid "returned record type does not match expected record type"
+msgstr "loại bản ghi đã trả về không khớp với kiểu được ghi kỳ vọng"
+
+#: pl_exec.c:958 pl_exec.c:1119
+#, c-format
+msgid "control reached end of trigger procedure without RETURN"
+msgstr "thủ tục trigger kết thúc trước khi tra về RETURN"
+
+#: pl_exec.c:967
+#, c-format
+msgid "trigger procedure cannot return a set"
+msgstr "thủ tục trigger không thể trả về một tập hợp"
+
+#: pl_exec.c:1006 pl_exec.c:1034
+msgid ""
+"returned row structure does not match the structure of the triggering table"
+msgstr "cấu trúc hàng trả về không khớp với cấu trúc của trigger bảng"
+
+#. translator: last %s is a phrase such as "during statement block
+#. local variable initialization"
+#.
+#: pl_exec.c:1171
+#, c-format
+msgid "PL/pgSQL function %s line %d %s"
+msgstr "Hàm PL/pgSQL %s dòng %d %s"
+
+#. translator: last %s is a phrase such as "while storing call
+#. arguments into local variables"
+#.
+#: pl_exec.c:1182
+#, c-format
+msgid "PL/pgSQL function %s %s"
+msgstr "Hàm PL/pgSQL %s %s"
+
+#. translator: last %s is a plpgsql statement type name
+#: pl_exec.c:1190
+#, c-format
+msgid "PL/pgSQL function %s line %d at %s"
+msgstr "Hàm PL/pgSQL %s dòng %d tại %s"
+
+#: pl_exec.c:1196
+#, c-format
+msgid "PL/pgSQL function %s"
+msgstr "Hàm PL/pgSQL %s"
+
+#: pl_exec.c:1534
+msgid "during statement block local variable initialization"
+msgstr "trong khi khởi tạo biến cục bộ trong khối lệnh"
+
+#: pl_exec.c:1632
+msgid "during statement block entry"
+msgstr "trong khi vào khối lệnh"
+
+#: pl_exec.c:1664
+msgid "during statement block exit"
+msgstr "trong khi kết thúc khối lệnh"
+
+#: pl_exec.c:1702
+msgid "during exception cleanup"
+msgstr "trong khi dọn dẹp ngoại lệ"
+
+#: pl_exec.c:2207 pl_exec.c:2221
+#, c-format
+msgid "argument %d is an output argument but is not writable"
+msgstr "đối số %d là đối số đầu ra nhưng không thể ghi"
+
+#: pl_exec.c:2263
+#, c-format
+msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
+msgstr ""
+"GET STACKED DIAGNOSTICS không thể được sử dụng bên ngoài bên ngoài một trình "
+"xử lý ngoại lệ"
+
+#: pl_exec.c:2468
+#, c-format
+msgid "case not found"
+msgstr "không tìm thấy trường hợp này"
+
+#: pl_exec.c:2469
+#, c-format
+msgid "CASE statement is missing ELSE part."
+msgstr "Câu lệnh CASE thiếu phần ELSE."
+
+#: pl_exec.c:2562
+#, c-format
+msgid "lower bound of FOR loop cannot be null"
+msgstr "giới hạn dưới của vòng lặp FOR không thể là null"
+
+#: pl_exec.c:2578
+#, c-format
+msgid "upper bound of FOR loop cannot be null"
+msgstr "giới hạn trên của vòng lặp FOR không thể là null"
+
+#: pl_exec.c:2596
+#, c-format
+msgid "BY value of FOR loop cannot be null"
+msgstr "Giá trị BY của vòng lặp FOR không thể là null"
+
+#: pl_exec.c:2602
+#, c-format
+msgid "BY value of FOR loop must be greater than zero"
+msgstr "Giá trị BY của vòng lặp FOR phải lớn hơn 0"
+
+#: pl_exec.c:2736 pl_exec.c:4461
+#, c-format
+msgid "cursor \"%s\" already in use"
+msgstr "con trỏ \"%s\" đã đang được sử dụng"
+
+#: pl_exec.c:2759 pl_exec.c:4526
+#, c-format
+msgid "arguments given for cursor without arguments"
+msgstr "đối số được đưa ra cho con trỏ không có đối số"
+
+#: pl_exec.c:2778 pl_exec.c:4545
+#, c-format
+msgid "arguments required for cursor"
+msgstr "đối số cần thiết cho con trỏ"
+
+#: pl_exec.c:2865
+#, c-format
+msgid "FOREACH expression must not be null"
+msgstr "Biểu thức FOREACH không được là null"
+
+#: pl_exec.c:2880
+#, c-format
+msgid "FOREACH expression must yield an array, not type %s"
+msgstr "Biểu thức FOREACH phải tạo ra một mảng, không phải kiểu %s"
+
+#: pl_exec.c:2897
+#, c-format
+msgid "slice dimension (%d) is out of the valid range 0..%d"
+msgstr "kích thước slice (%d) nằm ngoài phạm vi hợp lệ 0..%d"
+
+#: pl_exec.c:2924
+#, c-format
+msgid "FOREACH ... SLICE loop variable must be of an array type"
+msgstr "Biến cho vòng lặp FOREACH ... SLICE phải là một kiểu mảng"
+
+#: pl_exec.c:2928
+#, c-format
+msgid "FOREACH loop variable must not be of an array type"
+msgstr "Biến vòng lặp FOREACH không được thuộc loại mảng"
+
+#: pl_exec.c:3090 pl_exec.c:3147 pl_exec.c:3322
+#, c-format
+msgid ""
+"cannot return non-composite value from function returning composite type"
+msgstr "không thể trả về giá trị không-phức hợp từ hàm trả về kiểu phức hợp"
+
+#: pl_exec.c:3186 pl_gram.y:3266
+#, c-format
+msgid "cannot use RETURN NEXT in a non-SETOF function"
+msgstr "không thể sử dụng RETURN NEXT trong một hàm không phải-SETOF"
+
+#: pl_exec.c:3227 pl_exec.c:3359
+#, c-format
+msgid "wrong result type supplied in RETURN NEXT"
+msgstr "kiểu kết quả trả về không đúng trong RETURN NEXT"
+
+#: pl_exec.c:3265 pl_exec.c:3286
+#, c-format
+msgid "wrong record type supplied in RETURN NEXT"
+msgstr "kiểu bản ghi trả về không đúng trong RETURN NEXT"
+
+#: pl_exec.c:3378
+#, c-format
+msgid "RETURN NEXT must have a parameter"
+msgstr "RETURN NEXT phải có một tham số"
+
+#: pl_exec.c:3404 pl_gram.y:3329
+#, c-format
+msgid "cannot use RETURN QUERY in a non-SETOF function"
+msgstr "không thể sử dụng RETURN QUERY trong một hàm không phải-SETOF"
+
+#: pl_exec.c:3428
+msgid "structure of query does not match function result type"
+msgstr "cấu trúc của truy vấn không khớp với kiểu kết quả hàm"
+
+#: pl_exec.c:3512 pl_exec.c:3650
+#, c-format
+msgid "RAISE option already specified: %s"
+msgstr "Tùy chọn RAISE đã được chỉ định: %s"
+
+#: pl_exec.c:3546
+#, c-format
+msgid "RAISE without parameters cannot be used outside an exception handler"
+msgstr ""
+"RAISE không có tham số không thể được sử dụng bên ngoài một trình xử lý "
+"ngoại lệ"
+
+#: pl_exec.c:3640
+#, c-format
+msgid "RAISE statement option cannot be null"
+msgstr "Tùy chọn lệnh RAISE không thể là null"
+
+#: pl_exec.c:3710
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pl_exec.c:3765
+#, c-format
+msgid "assertion failed"
+msgstr "lỗi assertion"
+
+#: pl_exec.c:3970 pl_exec.c:4117 pl_exec.c:4301
+#, c-format
+msgid "cannot COPY to/from client in PL/pgSQL"
+msgstr "không thể COPY tới/từ client trong PL/pgSQL"
+
+#: pl_exec.c:3974 pl_exec.c:4121 pl_exec.c:4305
+#, c-format
+msgid "cannot begin/end transactions in PL/pgSQL"
+msgstr "không thể begin/end transactions trong PL/pgSQL"
+
+#: pl_exec.c:3975 pl_exec.c:4122 pl_exec.c:4306
+#, c-format
+msgid "Use a BEGIN block with an EXCEPTION clause instead."
+msgstr "Sử dụng một khối BEGIN với một cấu trúc EXCEPTION để thay thế."
+
+#: pl_exec.c:4144 pl_exec.c:4329
+#, c-format
+msgid "INTO used with a command that cannot return data"
+msgstr "INTO được sử dụng với lệnh không thể trả về dữ liệu"
+
+#: pl_exec.c:4167 pl_exec.c:4352
+#, c-format
+msgid "query returned no rows"
+msgstr "truy vấn không trả lại dòng nào"
+
+#: pl_exec.c:4186 pl_exec.c:4371
+#, c-format
+msgid "query returned more than one row"
+msgstr "truy vấn trả về nhiều dòng"
+
+#: pl_exec.c:4203
+#, c-format
+msgid "query has no destination for result data"
+msgstr "truy vấn không có đích cho dữ liệu kết quả"
+
+#: pl_exec.c:4204
+#, c-format
+msgid "If you want to discard the results of a SELECT, use PERFORM instead."
+msgstr "Nếu bạn không muốn sử dụng kết quả của SELECT, hãy sử dụng PERFORM."
+
+#: pl_exec.c:4237 pl_exec.c:8212
+#, c-format
+msgid "query string argument of EXECUTE is null"
+msgstr "đối số chuỗi truy vấn của EXECUTE là null"
+
+#: pl_exec.c:4293
+#, c-format
+msgid "EXECUTE of SELECT ... INTO is not implemented"
+msgstr "EXECUTE của SELECT ... INTO chưa được thực thi"
+
+#: pl_exec.c:4294
+#, c-format
+msgid ""
+"You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS "
+"instead."
+msgstr ""
+"Thay vào đó có thể bạn muốn sử dụng EXECUTE ... INTO hoặc EXECUTE CREATE "
+"TABLE ... AS."
+
+#: pl_exec.c:4607 pl_exec.c:4695
+#, c-format
+msgid "cursor variable \"%s\" is null"
+msgstr "biến con trỏ \"%s\" là null"
+
+#: pl_exec.c:4618 pl_exec.c:4706
+#, c-format
+msgid "cursor \"%s\" does not exist"
+msgstr "con trỏ \"%s\" không tồn tại"
+
+#: pl_exec.c:4631
+#, c-format
+msgid "relative or absolute cursor position is null"
+msgstr "vị trí con trỏ tương đối hoặc tuyệt đối là null"
+
+#: pl_exec.c:4881 pl_exec.c:4976
+#, c-format
+msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
+msgstr "giá trị null không thể được gán cho biến \"%s\" được khai báo NOT NULL"
+
+#: pl_exec.c:4957
+#, c-format
+msgid "cannot assign non-composite value to a row variable"
+msgstr "không thể gán giá trị không-phức hợp cho biến dòng"
+
+#: pl_exec.c:4989
+#, c-format
+msgid "cannot assign non-composite value to a record variable"
+msgstr "không thể gán giá trị không phải-phức hợp cho biến bản ghi"
+
+#: pl_exec.c:5040
+#, c-format
+msgid "cannot assign to system column \"%s\""
+msgstr "không thể gán cho cột hệ thống \"%s\""
+
+#: pl_exec.c:5104
+#, c-format
+msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgstr "số lượng chiều của mảng (%d) vượt quá số lượng tối đa cho phép (%d)"
+
+#: pl_exec.c:5136
+#, c-format
+msgid "subscripted object is not an array"
+msgstr "đối tượng chỉ số không phải là một mảng"
+
+#: pl_exec.c:5174
+#, c-format
+msgid "array subscript in assignment must not be null"
+msgstr "chỉ số mảng sử dụng trong gán không thể là null"
+
+#: pl_exec.c:5681
+#, c-format
+msgid "query \"%s\" did not return data"
+msgstr "truy vấn \"%s\" không trả về dữ liệu"
+
+#: pl_exec.c:5689
+#, c-format
+msgid "query \"%s\" returned %d column"
+msgid_plural "query \"%s\" returned %d columns"
+msgstr[0] "truy vấn \"%s\" trả lại %d cột"
+
+#: pl_exec.c:5717
+#, c-format
+msgid "query \"%s\" returned more than one row"
+msgstr "truy vấn \"%s\" đã trả lại nhiều hàng"
+
+#: pl_exec.c:5780
+#, c-format
+msgid "query \"%s\" is not a SELECT"
+msgstr "truy vấn \"%s\" không phải là một SELECT"
+
+#: pl_exec.c:6505 pl_exec.c:6545 pl_exec.c:6585
+#, c-format
+msgid ""
+"type of parameter %d (%s) does not match that when preparing the plan (%s)"
+msgstr "kiểu tham số %d (%s) không khớp với thông số khi chuẩn bị plan (%s)"
+
+#: pl_exec.c:7356
+#, c-format
+msgid "record \"%s\" is not assigned yet"
+msgstr "bản ghi \"%s\" chưa được gán"
+
+#: pl_exec.c:7357
+#, c-format
+msgid "The tuple structure of a not-yet-assigned record is indeterminate."
+msgstr "Cấu trúc tuple của một bản ghi chưa được gán là không xác định."
+
+#: pl_funcs.c:239
+msgid "statement block"
+msgstr "khối câu lệnh"
+
+#: pl_funcs.c:241
+msgid "assignment"
+msgstr "gán"
+
+#: pl_funcs.c:251
+msgid "FOR with integer loop variable"
+msgstr "FOR với biến số nguyên vòng lặp"
+
+#: pl_funcs.c:253
+msgid "FOR over SELECT rows"
+msgstr "FOR trên các dòng SELECT"
+
+#: pl_funcs.c:255
+msgid "FOR over cursor"
+msgstr "FOR trên con trỏ"
+
+#: pl_funcs.c:257
+msgid "FOREACH over array"
+msgstr "FOREACH trên mảng"
+
+#: pl_funcs.c:271
+msgid "SQL statement"
+msgstr "Câu lệnh SQL"
+
+#: pl_funcs.c:275
+msgid "FOR over EXECUTE statement"
+msgstr "FOR trên câu lệnh EXECUTE"
+
+#: pl_gram.y:485
+#, c-format
+msgid "block label must be placed before DECLARE, not after"
+msgstr "nhãn khối phải được đặt trước DECLARE, không phải sau"
+
+#: pl_gram.y:505
+#, c-format
+msgid "collations are not supported by type %s"
+msgstr "collation không được hỗ trợ bởi kiểu %s"
+
+#: pl_gram.y:524
+#, c-format
+msgid "variable \"%s\" must have a default value, since it's declared NOT NULL"
+msgstr "biến \"%s\" phải có giá trị mặc định, vì nó được khai báo là NOT NULL"
+
+#: pl_gram.y:669 pl_gram.y:684 pl_gram.y:710
+#, c-format
+msgid "variable \"%s\" does not exist"
+msgstr "biến \"%s\" không tồn tại"
+
+#: pl_gram.y:728 pl_gram.y:756
+msgid "duplicate declaration"
+msgstr "khai báo trùng lặp"
+
+#: pl_gram.y:739 pl_gram.y:767
+#, c-format
+msgid "variable \"%s\" shadows a previously defined variable"
+msgstr "biến \"%s\" làm cho một biến được định nghĩa trước đó không khả thị"
+
+#: pl_gram.y:983
+#, c-format
+msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
+msgstr "diagnostics mục %s không được phép trong GET STACKED DIAGNOSTICS"
+
+#: pl_gram.y:1001
+#, c-format
+msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
+msgstr "diagnostics mục %s không được cho phép trong GET CURRENT DIAGNOSTICS"
+
+#: pl_gram.y:1099
+msgid "unrecognized GET DIAGNOSTICS item"
+msgstr "không nhận ra mục GET DIAGNOSTICS"
+
+#: pl_gram.y:1109 pl_gram.y:3508
+#, c-format
+msgid "\"%s\" is not a scalar variable"
+msgstr "\"%s\" không phải là biến vô hướng"
+
+#: pl_gram.y:1357 pl_gram.y:1550
+#, c-format
+msgid ""
+"loop variable of loop over rows must be a record variable or list of scalar "
+"variables"
+msgstr ""
+"vòng lặp của vòng lặp trên các dòng phải là một biến bản ghi hoặc danh sách "
+"các biến vô hướng"
+
+#: pl_gram.y:1391
+#, c-format
+msgid "cursor FOR loop must have only one target variable"
+msgstr "vòng lặp FOR sử dụng con trỏ chỉ có một biến đích"
+
+#: pl_gram.y:1398
+#, c-format
+msgid "cursor FOR loop must use a bound cursor variable"
+msgstr "vòng lặp FOR sử dụng con trỏ phải sử dụng một biến con trỏ"
+
+#: pl_gram.y:1485
+#, c-format
+msgid "integer FOR loop must have only one target variable"
+msgstr "vòng lặp FOR sử dụng số nguyên chỉ được phép có một biến đích"
+
+#: pl_gram.y:1521
+#, c-format
+msgid "cannot specify REVERSE in query FOR loop"
+msgstr "không thể chỉ định REVERSE trong vòng lặp truy vấn FOR"
+
+#: pl_gram.y:1652
+#, c-format
+msgid "loop variable of FOREACH must be a known variable or list of variables"
+msgstr "biến vòng lặp của FOREACH phải là biến được biết hoặc danh sách biến"
+
+#: pl_gram.y:1693
+#, c-format
+msgid ""
+"there is no label \"%s\" attached to any block or loop enclosing this "
+"statement"
+msgstr ""
+"không có nhãn \"%s\" được đính kèm với bất kỳ khối hoặc vòng lặp nào kèm "
+"theo câu lệnh này"
+
+#: pl_gram.y:1701
+#, c-format
+msgid "block label \"%s\" cannot be used in CONTINUE"
+msgstr "không thể sử dụng nhãn khối \"%s\" trong CONTINUE"
+
+#: pl_gram.y:1716
+#, c-format
+msgid "EXIT cannot be used outside a loop, unless it has a label"
+msgstr ""
+"EXIT không thể được sử dụng bên ngoài một vòng lặp, trừ khi nó có một nhãn"
+
+#: pl_gram.y:1717
+#, c-format
+msgid "CONTINUE cannot be used outside a loop"
+msgstr "Không thể sử dụng CONTINUE bên ngoài vòng lặp"
+
+#: pl_gram.y:1741 pl_gram.y:1778 pl_gram.y:1826 pl_gram.y:2958 pl_gram.y:3041
+#: pl_gram.y:3152 pl_gram.y:3907
+msgid "unexpected end of function definition"
+msgstr "định nghĩa kết thúc hàm không mong đợi"
+
+#: pl_gram.y:1846 pl_gram.y:1870 pl_gram.y:1886 pl_gram.y:1892 pl_gram.y:2009
+#: pl_gram.y:2017 pl_gram.y:2031 pl_gram.y:2125 pl_gram.y:2360 pl_gram.y:2454
+#: pl_gram.y:2612 pl_gram.y:3749 pl_gram.y:3810 pl_gram.y:3888
+msgid "syntax error"
+msgstr "lỗi cú pháp"
+
+#: pl_gram.y:1874 pl_gram.y:1876 pl_gram.y:2364 pl_gram.y:2366
+msgid "invalid SQLSTATE code"
+msgstr "mã SQLSTATE không hợp lệ"
+
+#: pl_gram.y:2073
+msgid "syntax error, expected \"FOR\""
+msgstr "lỗi cú pháp, kỳ vọng \"FOR\""
+
+#: pl_gram.y:2134
+#, c-format
+msgid "FETCH statement cannot return multiple rows"
+msgstr "Câu lệnh FETCH không thể trả về nhiều hàng"
+
+#: pl_gram.y:2244
+#, c-format
+msgid "cursor variable must be a simple variable"
+msgstr "biến con trỏ phải là một biến đơn giản"
+
+#: pl_gram.y:2250
+#, c-format
+msgid "variable \"%s\" must be of type cursor or refcursor"
+msgstr "biến \"%s\" phải là kiểu con trỏ hoặc refcursor"
+
+#: pl_gram.y:2583 pl_gram.y:2594
+#, c-format
+msgid "\"%s\" is not a known variable"
+msgstr "\"%s\" không phải là một biến"
+
+#: pl_gram.y:2698 pl_gram.y:2708 pl_gram.y:2863
+msgid "mismatched parentheses"
+msgstr "dấu ngoặc đơn không khớp"
+
+#: pl_gram.y:2712
+#, c-format
+msgid "missing \"%s\" at end of SQL expression"
+msgstr "thiếu \"%s\" ở cuối biểu thức SQL"
+
+#: pl_gram.y:2718
+#, c-format
+msgid "missing \"%s\" at end of SQL statement"
+msgstr "thiếu \"%s\" ở cuối câu lệnh SQL"
+
+#: pl_gram.y:2735
+msgid "missing expression"
+msgstr "thiếu biểu thức"
+
+#: pl_gram.y:2737
+msgid "missing SQL statement"
+msgstr "thiếu câu lệnh SQL"
+
+#: pl_gram.y:2865
+msgid "incomplete data type declaration"
+msgstr "khai báo kiểu dữ liệu không đầy đủ"
+
+#: pl_gram.y:2888
+msgid "missing data type declaration"
+msgstr "thiếu khai báo kiểu dữ liệu"
+
+#: pl_gram.y:2966
+msgid "INTO specified more than once"
+msgstr "INTO được chỉ định nhiều lần"
+
+#: pl_gram.y:3133
+msgid "expected FROM or IN"
+msgstr "kỳ vọng FROM hoặc IN"
+
+#: pl_gram.y:3193
+#, c-format
+msgid "RETURN cannot have a parameter in function returning set"
+msgstr "RETURN không thể có tham số trong tập hợp giá trị trả về của hàm"
+
+#: pl_gram.y:3194
+#, c-format
+msgid "Use RETURN NEXT or RETURN QUERY."
+msgstr "sử dụng RETURN NEXT hay RETURN QUERY."
+
+#: pl_gram.y:3204
+#, c-format
+msgid "RETURN cannot have a parameter in a procedure"
+msgstr "RETURN không thể có tham số trong một thủ tục"
+
+#: pl_gram.y:3209
+#, c-format
+msgid "RETURN cannot have a parameter in function returning void"
+msgstr "RETURN không thể có tham số trong hàm trả về void"
+
+#: pl_gram.y:3218
+#, c-format
+msgid "RETURN cannot have a parameter in function with OUT parameters"
+msgstr "RETURN không thể có tham số trong hàm với tham số OUT"
+
+#: pl_gram.y:3280
+#, c-format
+msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
+msgstr "RETURN NEXT không thể có tham số trong hàm với tham số OUT"
+
+#: pl_gram.y:3387
+#, c-format
+msgid "variable \"%s\" is declared CONSTANT"
+msgstr "biến \"%s\" được khai báo CONSTANT"
+
+#: pl_gram.y:3450
+#, c-format
+msgid "record variable cannot be part of multiple-item INTO list"
+msgstr "biến bản ghi không thể là một phần của danh sách INTO nhiều mục"
+
+#: pl_gram.y:3496
+#, c-format
+msgid "too many INTO variables specified"
+msgstr "quá nhiều biến INTO được chỉ định"
+
+#: pl_gram.y:3702
+#, c-format
+msgid "end label \"%s\" specified for unlabelled block"
+msgstr "nhãn kết thúc \"%s\" được chỉ định cho khối không được gắn nhãn"
+
+#: pl_gram.y:3709
+#, c-format
+msgid "end label \"%s\" differs from block's label \"%s\""
+msgstr "nhãn kết thúc \"%s\" khác với nhãn của block \"%s\""
+
+#: pl_gram.y:3744
+#, c-format
+msgid "cursor \"%s\" has no arguments"
+msgstr "con trỏ \"%s\" không có đối số"
+
+#: pl_gram.y:3758
+#, c-format
+msgid "cursor \"%s\" has arguments"
+msgstr "con trỏ \"%s\" có đối số"
+
+#: pl_gram.y:3800
+#, c-format
+msgid "cursor \"%s\" has no argument named \"%s\""
+msgstr "con trỏ \"%s\" không có đối số tên là \"%s\""
+
+#: pl_gram.y:3820
+#, c-format
+msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
+msgstr "giá trị cho tham số \"%s\" của con trỏ \"%s\" được chỉ định nhiều lần"
+
+#: pl_gram.y:3845
+#, c-format
+msgid "not enough arguments for cursor \"%s\""
+msgstr "không đủ đối số cho con trỏ \"%s\""
+
+#: pl_gram.y:3852
+#, c-format
+msgid "too many arguments for cursor \"%s\""
+msgstr "quá nhiều đối số cho con trỏ \"%s\""
+
+#: pl_gram.y:3939
+msgid "unrecognized RAISE statement option"
+msgstr "không thể xác định tùy chọn cho lệnh RAISE"
+
+#: pl_gram.y:3943
+msgid "syntax error, expected \"=\""
+msgstr "lỗi cú pháp, kỳ vọng \"=\""
+
+#: pl_gram.y:3984
+#, c-format
+msgid "too many parameters specified for RAISE"
+msgstr "quá nhiều thông số được chỉ định cho RAISE"
+
+#: pl_gram.y:3988
+#, c-format
+msgid "too few parameters specified for RAISE"
+msgstr "quá ít thông số được chỉ định cho RAISE"
+
+#: pl_handler.c:154
+msgid ""
+"Sets handling of conflicts between PL/pgSQL variable names and table column "
+"names."
+msgstr "Đặt xử lý xung đột giữa tên biến PL/pgSQL và tên cột bảng."
+
+#: pl_handler.c:163
+msgid ""
+"Print information about parameters in the DETAIL part of the error messages "
+"generated on INTO ... STRICT failures."
+msgstr ""
+"Hiển thị thông tin về các tham số trong phần DETAIL của các thông báo lỗi "
+"được tạo ra khi INTO ... STRICT lỗi."
+
+#: pl_handler.c:171
+msgid "Perform checks given in ASSERT statements."
+msgstr "Thực hiện các kiểm tra được đưa ra trong các câu lệnh ASSERT."
+
+#: pl_handler.c:179
+msgid "List of programming constructs that should produce a warning."
+msgstr "Danh sách các cấu trúc lập trình sẽ tạo ra một cảnh báo."
+
+#: pl_handler.c:189
+msgid "List of programming constructs that should produce an error."
+msgstr "Danh sách các cấu trúc lập trình sẽ tạo ra lỗi."
+
+#. translator: %s is typically the translation of "syntax error"
+#: pl_scanner.c:630
+#, c-format
+msgid "%s at end of input"
+msgstr "%s tại nơi kết thúc đầu vào"
+
+#. translator: first %s is typically the translation of "syntax error"
+#: pl_scanner.c:646
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s tại hoặc gần\"%s\""
diff --git a/vi/plpython.po b/vi/plpython.po
new file mode 100644
index 00000000..f0404ad8
--- /dev/null
+++ b/vi/plpython.po
@@ -0,0 +1,485 @@
+# LANGUAGE message translation file for plpython
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the plpython (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plpython (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-05-06 22:57+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: plpy_cursorobject.c:101
+#, c-format
+msgid "plpy.cursor expected a query or a plan"
+msgstr "plpy.cursor kỳ vọng một câu truy vấn hoặc một plan"
+
+#: plpy_cursorobject.c:184
+#, c-format
+msgid "plpy.cursor takes a sequence as its second argument"
+msgstr "plpy.cursor lấy một chuỗi làm đối số thứ hai"
+
+#: plpy_cursorobject.c:200 plpy_spi.c:211
+#, c-format
+msgid "could not execute plan"
+msgstr "không thể chạy plan"
+
+#: plpy_cursorobject.c:203 plpy_spi.c:214
+#, c-format
+msgid "Expected sequence of %d argument, got %d: %s"
+msgid_plural "Expected sequence of %d arguments, got %d: %s"
+msgstr[0] "Kỳ vọng chuỗi của đối số %d, đã nhận %d: %s"
+
+#: plpy_cursorobject.c:352
+#, c-format
+msgid "iterating a closed cursor"
+msgstr "lặp lại con trỏ đã đóng"
+
+#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#, c-format
+msgid "iterating a cursor in an aborted subtransaction"
+msgstr "lặp lại một con trỏ trong một subtransaction đã bị hủy bỏ"
+
+#: plpy_cursorobject.c:418
+#, c-format
+msgid "fetch from a closed cursor"
+msgstr "fetch từ một con trỏ đã bị đóng"
+
+#: plpy_cursorobject.c:461 plpy_spi.c:409
+#, c-format
+msgid "query result has too many rows to fit in a Python list"
+msgstr "kết quả câu truy vấn có quá nhiều hàng để vừa với một danh sách Python"
+
+#: plpy_cursorobject.c:512
+#, c-format
+msgid "closing a cursor in an aborted subtransaction"
+msgstr "đóng một con trỏ trong một subtransaction bị hủy bỏ"
+
+#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: plpy_exec.c:142
+#, c-format
+msgid "unsupported set function return mode"
+msgstr "không hỗ trợ thiết lập hàm trả về mode"
+
+#: plpy_exec.c:143
+#, c-format
+msgid ""
+"PL/Python set-returning functions only support returning one value per call."
+msgstr ""
+"PL/Python hàm thiết lập-trả về chỉ hỗ trợ trả về một giá trị cho một lần gọi."
+
+#: plpy_exec.c:156
+#, c-format
+msgid "returned object cannot be iterated"
+msgstr "đối tượng trả về không thể được lặp lại"
+
+#: plpy_exec.c:157
+#, c-format
+msgid "PL/Python set-returning functions must return an iterable object."
+msgstr "PL/Python hàm thiết lập-trả về phải trả về một iterable object."
+
+#: plpy_exec.c:171
+#, c-format
+msgid "error fetching next item from iterator"
+msgstr "lỗi khi fetch item tiếp theo từ iterator"
+
+#: plpy_exec.c:214
+#, c-format
+msgid "PL/Python procedure did not return None"
+msgstr "Thủ tục PL/Python đã không trả về None"
+
+#: plpy_exec.c:218
+#, c-format
+msgid "PL/Python function with return type \"void\" did not return None"
+msgstr "Hàm PL/Python với kiểu trả về là \"void\" đã không trả về None"
+
+#: plpy_exec.c:374 plpy_exec.c:400
+#, c-format
+msgid "unexpected return value from trigger procedure"
+msgstr "không mong đợi giá trị trả về từ thủ tục trigger"
+
+#: plpy_exec.c:375
+#, c-format
+msgid "Expected None or a string."
+msgstr "Kỳ vọng None hoặc một chuỗi."
+
+#: plpy_exec.c:390
+#, c-format
+msgid ""
+"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr ""
+"Hàm trigger PL/Python đã trả về \"MODIFY\" trong một DELETE trigger -- bỏ qua"
+
+#: plpy_exec.c:401
+#, c-format
+msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
+msgstr "Kỳ vọng None, \"OK\", \"SKIP\", hoặc \"MODIFY\"."
+
+#: plpy_exec.c:451
+#, c-format
+msgid "PyList_SetItem() failed, while setting up arguments"
+msgstr "Lỗi PyList_SetItem(), trong khi thiết lập đối số"
+
+#: plpy_exec.c:455
+#, c-format
+msgid "PyDict_SetItemString() failed, while setting up arguments"
+msgstr "Lỗi PyDict_SetItemString(), trong khi thiết lập đối số"
+
+#: plpy_exec.c:467
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"hàm trả về bản ghi được gọi trong ngữ cảnh không thể chấp nhận kiểu bản ghi"
+
+#: plpy_exec.c:684
+#, c-format
+msgid "while creating return value"
+msgstr "trong khi tạo ra giá trị trả về"
+
+#: plpy_exec.c:909
+#, c-format
+msgid "TD[\"new\"] deleted, cannot modify row"
+msgstr "TD[\"new\"] đã bị xóa, không thể sửa đổi hàng"
+
+#: plpy_exec.c:914
+#, c-format
+msgid "TD[\"new\"] is not a dictionary"
+msgstr "TD[\"new\"] không phải là từ điển"
+
+#: plpy_exec.c:941
+#, c-format
+msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
+msgstr "Khóa từ điển TD[\"new\"] ở vị trí thứ tự %d không phải là chuỗi"
+
+#: plpy_exec.c:948
+#, c-format
+msgid ""
+"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
+"row"
+msgstr ""
+"khóa \"%s\" được tìm thấy trong TD[\"new\"] không tồn tại như là trigger mức "
+"độ hàng"
+
+#: plpy_exec.c:953
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "không thể thiết lập thuộc tính hệ thống \"%s\""
+
+#: plpy_exec.c:1011
+#, c-format
+msgid "while modifying trigger row"
+msgstr "trong khi sửa đổi trigger mức độ hàng"
+
+#: plpy_exec.c:1072
+#, c-format
+msgid "forcibly aborting a subtransaction that has not been exited"
+msgstr "buộc phải hủy bỏ một subtransaction chưa được thoát"
+
+#: plpy_main.c:125
+#, c-format
+msgid "multiple Python libraries are present in session"
+msgstr "có nhiều thư viện Python trong một phiên"
+
+#: plpy_main.c:126
+#, c-format
+msgid "Only one Python major version can be used in one session."
+msgstr "Chỉ có thể sử dụng một phiên bản chính của Python trong một phiên."
+
+#: plpy_main.c:142
+#, c-format
+msgid "untrapped error in initialization"
+msgstr "lỗi chưa được bẫy trong lúc khởi tạo"
+
+#: plpy_main.c:165
+#, c-format
+msgid "could not import \"__main__\" module"
+msgstr "không thể nhập mô-đun \"__main__\""
+
+#: plpy_main.c:174
+#, c-format
+msgid "could not initialize globals"
+msgstr "không thể khởi tạo biến global"
+
+#: plpy_main.c:399
+#, c-format
+msgid "PL/Python procedure \"%s\""
+msgstr "Thủ tục PL/Python \"%s\""
+
+#: plpy_main.c:402
+#, c-format
+msgid "PL/Python function \"%s\""
+msgstr "Hàm PL/Python \"%s\""
+
+#: plpy_main.c:410
+#, c-format
+msgid "PL/Python anonymous code block"
+msgstr "Khối mã ẩn danh PL/Python"
+
+#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#, c-format
+msgid "could not import \"plpy\" module"
+msgstr "không thể nhập mô-đun \"plpy\""
+
+#: plpy_plpymodule.c:210
+#, c-format
+msgid "could not create the spiexceptions module"
+msgstr "không thể tạo mô-đun spiexceptions"
+
+#: plpy_plpymodule.c:218
+#, c-format
+msgid "could not add the spiexceptions module"
+msgstr "không thể thêm mô-đun spiexceptions"
+
+#: plpy_plpymodule.c:286
+#, c-format
+msgid "could not generate SPI exceptions"
+msgstr "không thể tạo exception SPI"
+
+#: plpy_plpymodule.c:454
+#, c-format
+msgid "could not unpack arguments in plpy.elog"
+msgstr "không thể giải nén đối số trong plpy.elog"
+
+#: plpy_plpymodule.c:463
+msgid "could not parse error message in plpy.elog"
+msgstr "không thể phân tích cú pháp thông điệp lỗi trong plpy.elog"
+
+#: plpy_plpymodule.c:480
+#, c-format
+msgid "argument 'message' given by name and position"
+msgstr "đối số 'message' được chỉ định theo tên và vị trí"
+
+#: plpy_plpymodule.c:507
+#, c-format
+msgid "'%s' is an invalid keyword argument for this function"
+msgstr "'%s' là đối số từ khóa không hợp lệ cho hàm này"
+
+#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#, c-format
+msgid "invalid SQLSTATE code"
+msgstr "mã SQLSTATE không hợp lệ"
+
+#: plpy_procedure.c:230
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "hàm trigger chỉ có thể được gọi như trigger"
+
+#: plpy_procedure.c:234
+#, c-format
+msgid "PL/Python functions cannot return type %s"
+msgstr "Hàm PL/Python không thể trả về kiểu %s"
+
+#: plpy_procedure.c:312
+#, c-format
+msgid "PL/Python functions cannot accept type %s"
+msgstr "Các hàm PL/Python không thể chấp nhận kiểu %s"
+
+#: plpy_procedure.c:402
+#, c-format
+msgid "could not compile PL/Python function \"%s\""
+msgstr "không thể biên dịch hàm PL/Python \"%s\""
+
+#: plpy_procedure.c:405
+#, c-format
+msgid "could not compile anonymous PL/Python code block"
+msgstr "không thể biên dịch khối mã ẩn danh PL/Python"
+
+#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#, c-format
+msgid "command did not produce a result set"
+msgstr "lệnh không tạo ra một tập hợp kết quả"
+
+#: plpy_spi.c:60
+#, c-format
+msgid "second argument of plpy.prepare must be a sequence"
+msgstr "đối số thứ hai của plpy.prepare phải là một chuỗi"
+
+#: plpy_spi.c:104
+#, c-format
+msgid "plpy.prepare: type name at ordinal position %d is not a string"
+msgstr "plpy.prepare: gõ tên tại vị trí thứ tự %d không phải là một chuỗi"
+
+#: plpy_spi.c:176
+#, c-format
+msgid "plpy.execute expected a query or a plan"
+msgstr "plpy.execute kỳ vọng một truy vấn hoặc một plan"
+
+#: plpy_spi.c:195
+#, c-format
+msgid "plpy.execute takes a sequence as its second argument"
+msgstr "plpy.execute lấy một chuỗi làm đối số thứ hai"
+
+#: plpy_spi.c:305
+#, c-format
+msgid "SPI_execute_plan failed: %s"
+msgstr "SPI_execute_plan lỗi: %s"
+
+#: plpy_spi.c:347
+#, c-format
+msgid "SPI_execute failed: %s"
+msgstr "SPI_execute lỗi: %s"
+
+#: plpy_subxactobject.c:122
+#, c-format
+msgid "this subtransaction has already been entered"
+msgstr "subtransaction này đã được nhập"
+
+#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#, c-format
+msgid "this subtransaction has already been exited"
+msgstr "subtransaction này đã được thoát"
+
+#: plpy_subxactobject.c:180
+#, c-format
+msgid "this subtransaction has not been entered"
+msgstr "subtransaction này chưa được nhập"
+
+#: plpy_subxactobject.c:192
+#, c-format
+msgid "there is no subtransaction to exit from"
+msgstr "không có subtransaction để thoát khỏi"
+
+#: plpy_typeio.c:591
+#, c-format
+msgid "could not import a module for Decimal constructor"
+msgstr "không thể nhập mô-đun cho Decimal constructor"
+
+#: plpy_typeio.c:595
+#, c-format
+msgid "no Decimal attribute in module"
+msgstr "không có thuộc tính thập phân trong mô-đun"
+
+#: plpy_typeio.c:601
+#, c-format
+msgid "conversion from numeric to Decimal failed"
+msgstr "chuyển đổi từ numeric sang thập phân không thành công"
+
+#: plpy_typeio.c:908
+#, c-format
+msgid "could not create bytes representation of Python object"
+msgstr "không thể tạo đại diện cho của đối tượng Python"
+
+#: plpy_typeio.c:1056
+#, c-format
+msgid "could not create string representation of Python object"
+msgstr "không thể tạo ra chuỗi đại diện cho đối tượng Python"
+
+#: plpy_typeio.c:1067
+#, c-format
+msgid ""
+"could not convert Python object into cstring: Python string representation "
+"appears to contain null bytes"
+msgstr ""
+"không thể chuyển đổi đối tượng Python thành cstring: đại diện chuỗi Python "
+"chứa byte null"
+
+#: plpy_typeio.c:1176
+#, c-format
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "số lượng hướng của mảng vượt quá số lượng tối đa cho phép (%d)"
+
+#: plpy_typeio.c:1180
+#, c-format
+msgid "could not determine sequence length for function return value"
+msgstr "không thể xác định độ dài chuỗi cho giá trị trả về hàm"
+
+#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#, c-format
+msgid "array size exceeds the maximum allowed"
+msgstr "kích thước mảng vượt quá mức tối đa cho phép"
+
+#: plpy_typeio.c:1213
+#, c-format
+msgid ""
+"return value of function with array return type is not a Python sequence"
+msgstr ""
+"giá trị trả về của hàm với kiểu trả về là mảng không phải là một chuỗi Python"
+
+#: plpy_typeio.c:1259
+#, c-format
+msgid "wrong length of inner sequence: has length %d, but %d was expected"
+msgstr "sai độ dài của chuỗi bên trong: có độ dài %d, nhưng %d được mong đợi"
+
+#: plpy_typeio.c:1261
+#, c-format
+msgid ""
+"To construct a multidimensional array, the inner sequences must all have the "
+"same length."
+msgstr ""
+"Để xây dựng một mảng đa chiều, các chuỗi bên trong phải có cùng độ dài."
+
+#: plpy_typeio.c:1340
+#, c-format
+msgid "malformed record literal: \"%s\""
+msgstr "bản ghi literal không đúng định dạng: \"%s\""
+
+#: plpy_typeio.c:1341
+#, c-format
+msgid "Missing left parenthesis."
+msgstr "Thiếu dấu ngoặc đơn trái."
+
+#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#, c-format
+msgid ""
+"To return a composite type in an array, return the composite type as a "
+"Python tuple, e.g., \"[('foo',)]\"."
+msgstr ""
+"Để trả về kiểu phức hợp trong một mảng, hãy trả về kiểu phức hợp dưới dạng "
+"một hàng Python, ví dụ: \"[('foo',)]\"."
+
+#: plpy_typeio.c:1389
+#, c-format
+msgid "key \"%s\" not found in mapping"
+msgstr "không tìm thấy khóa \"%s\" trong ánh xạ"
+
+#: plpy_typeio.c:1390
+#, c-format
+msgid ""
+"To return null in a column, add the value None to the mapping with the key "
+"named after the column."
+msgstr ""
+"Để trả về null trong một cột, thêm giá trị None vào ánh xạ với khóa được đặt "
+"tên sau cột."
+
+#: plpy_typeio.c:1443
+#, c-format
+msgid "length of returned sequence did not match number of columns in row"
+msgstr "độ dài của chuỗi được trả về không khớp với số cột trong hàng"
+
+#: plpy_typeio.c:1541
+#, c-format
+msgid "attribute \"%s\" does not exist in Python object"
+msgstr "thuộc tính \"% s\" không tồn tại trong đối tượng Python"
+
+#: plpy_typeio.c:1544
+#, c-format
+msgid ""
+"To return null in a column, let the returned object have an attribute named "
+"after column with value None."
+msgstr ""
+"Để trả về null trong một cột, hãy để đối tượng trả về có một thuộc tính được "
+"đặt tên sau cột với giá trị None."
+
+#: plpy_util.c:35
+#, c-format
+msgid "could not convert Python Unicode object to bytes"
+msgstr "không thể chuyển đổi đối tượng Python Unicode thành byte"
+
+#: plpy_util.c:41
+#, c-format
+msgid "could not extract bytes from encoded string"
+msgstr "không thể trích xuất byte từ chuỗi đã được mã hóa"
diff --git a/vi/pltcl.po b/vi/pltcl.po
new file mode 100644
index 00000000..7224bf14
--- /dev/null
+++ b/vi/pltcl.po
@@ -0,0 +1,107 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-04-29 22:56+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: pltcl.c:466
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Chỉ định hàm PL/Tcl được gọi một lần khi pltcl sử dụng lần đầu tiên."
+
+#: pltcl.c:473
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Chỉ định hàm PL/TclU được gọi một lần khi pltclu sử dụng lần đầu tiên."
+
+#: pltcl.c:640
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "hàm \"%s\" không đúng ngôn ngữ"
+
+#: pltcl.c:651
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "hàm \"%s\" không được là SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:685
+#, c-format
+msgid "processing %s parameter"
+msgstr "xử lý tham số %s"
+
+#: pltcl.c:846
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "hàm thiết lập giá trị được gọi trong ngữ cảnh không thể chấp nhận một tập hợp"
+
+#: pltcl.c:1019
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "hàm trả về bản ghi được gọi trong ngữ cảnh không thể chấp nhận kiểu bản ghi"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "không thể tách giá trị trả về khỏi trigger: %s"
+
+#: pltcl.c:1376 pltcl.c:1806
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1377
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"trong hàm PL/Tcl \"%s\""
+
+#: pltcl.c:1541
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "hàm trigger chỉ có thể được goi như những triggers."
+
+#: pltcl.c:1545
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "Hàm PL/Tcl không thể trả về kiểu %s"
+
+#: pltcl.c:1584
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "Hàm PL/Tcl không thể chấp nhận kiểu %s"
+
+#: pltcl.c:1698
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "không thể tạo procedure nội bộ \"%s\": %s"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "danh sách cột tên/giá trị phải có giá trị chẵn cho số phần tử"
+
+#: pltcl.c:3237
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "danh sách cột tên/giá trị chứa tên cột không tồn tại \"%s\""
+
+#: pltcl.c:3244
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "không thể thiết lập attribute hệ thống \"%s\""
diff --git a/vi/psql.po b/vi/psql.po
new file mode 100644
index 00000000..aa85e770
--- /dev/null
+++ b/vi/psql.po
@@ -0,0 +1,6024 @@
+# LANGUAGE message translation file for psql
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the psql (PostgreSQL) package.
+# FIRST AUTHOR <thaonhi2512@gmail.com>, 2018.
+# <kakalot49@gmail.com>, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: psql (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:15+0000\n"
+"PO-Revision-Date: 2018-05-13 13:20+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Luong Thi Thao Nhi <thaonhi2512@gmail.com>\n"
+"Language: vi_VN\n"
+
+#: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "không tìm thấy thư mục hiện tại: %s"
+
+#: ../../common/exec.c:146
+#, c-format
+msgid "invalid binary \"%s\""
+msgstr "tập tin nhị phân không hợp lệ \"%s\""
+
+#: ../../common/exec.c:195
+#, c-format
+msgid "could not read binary \"%s\""
+msgstr "không đọc được tập tin nhị phân \"%s\""
+
+#: ../../common/exec.c:202
+#, c-format
+msgid "could not find a \"%s\" to execute"
+msgstr "không tìm thấy file \"%s\" để chạy"
+
+#: ../../common/exec.c:257 ../../common/exec.c:293
+#, c-format
+msgid "could not change directory to \"%s\": %s"
+msgstr "không thể chuyển sang thư mục \"%s\": %s"
+
+#: ../../common/exec.c:272
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "không thể đọc liên kết \"%s\""
+
+#: ../../common/exec.c:523
+#, c-format
+msgid "pclose failed: %s"
+msgstr "pclose lỗi: %s"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 command.c:607 input.c:227 mainloop.c:82
+#: mainloop.c:388
+#, c-format
+msgid "out of memory\n"
+msgstr "hết bộ nhớ\n"
+
+#: ../../common/fe_memutils.c:92
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "không thể nhân đôi con trỏ null (lỗi nội bộ)\n"
+
+#: ../../common/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "không tìm thấy tên người dùng %ld: %s"
+
+#: ../../common/username.c:45 command.c:554
+msgid "user does not exist"
+msgstr "người dùng không tồn tại"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "không tìm thấy tên người dùng: mã lỗi %lu"
+
+#: ../../common/wait_error.c:45
+#, c-format
+msgid "command not executable"
+msgstr "không thể thực thi câu lệnh này"
+
+#: ../../common/wait_error.c:49
+#, c-format
+msgid "command not found"
+msgstr "không tìm thấy câu lệnh"
+
+#: ../../common/wait_error.c:54
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "tiến trình chạy con đã thoát với mã: %d"
+
+#: ../../common/wait_error.c:61
+#, c-format
+msgid "child process was terminated by exception 0x%X"
+msgstr "tiến trình chạy con bị chấm dứt bởi lỗi 0x%X"
+
+#: ../../common/wait_error.c:71
+#, c-format
+msgid "child process was terminated by signal %s"
+msgstr "tiến trình chạy con bị chấm dứt bởi tín hiệu %s"
+
+#: ../../common/wait_error.c:75
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "tiến trình chạy con bị chấm dứt bởi tín hiệu %d"
+
+#: ../../common/wait_error.c:80
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "tiến trình chạy con đã thoát với trạng thái không rõ: %d"
+
+#: ../../fe_utils/print.c:353
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu dòng)"
+
+#: ../../fe_utils/print.c:2915
+#, c-format
+msgid "Interrupted\n"
+msgstr "Bị gián đoạn\n"
+
+#: ../../fe_utils/print.c:2979
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr "Không thể thêm tiêu đề vào nội dung bảng: số cột % d bị vượt quá.\n"
+
+#: ../../fe_utils/print.c:3019
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr "Không thể thêm ô vào nội dung bảng: số ô % d bị vượt quá.\n"
+
+#: ../../fe_utils/print.c:3268
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "định dạng đầu ra không hợp lệ (lỗi nội bộ): %d"
+
+#: ../../fe_utils/psqlscan.l:715
+#, c-format
+msgid "skipping recursive expansion of variable \"%s\"\n"
+msgstr "bỏ qua việc mở rộng đệ quy của biến \"%s\"\n"
+
+#: command.c:220
+#, c-format
+msgid "Invalid command \\%s. Try \\? for help.\n"
+msgstr "Câu lệnh lỗi \\%s. Try \\? for help.\n"
+
+#: command.c:222
+#, c-format
+msgid "invalid command \\%s\n"
+msgstr "câu lệnh lỗi \\%s\n"
+
+#: command.c:240
+#, c-format
+msgid "\\%s: extra argument \"%s\" ignored\n"
+msgstr "\\%s: tham số thêm vào \"%s\" bị bỏ qua\n"
+
+#: command.c:292
+#, c-format
+msgid ""
+"\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block\n"
+msgstr ""
+"\\Lệnh %s bị bỏ qua; sử dụng \\endif hoặc Ctrl-C để thoát khối \\if hiện "
+"tại\n"
+
+#: command.c:552
+#, c-format
+msgid "could not get home directory for user ID %ld: %s\n"
+msgstr "không thể vào thứ mục home của user ID %ld: %s\n"
+
+#: command.c:570
+#, c-format
+msgid "\\%s: could not change directory to \"%s\": %s\n"
+msgstr "\\%s: không thể chuyển sang thư mục \"%s\": %s\n"
+
+#: command.c:595 common.c:696 common.c:754 common.c:1292
+#, c-format
+msgid "You are currently not connected to a database.\n"
+msgstr "Hiện tại bạn không được kết nối đến cơ sở dữ liệu nào.\n"
+
+#: command.c:620
+#, c-format
+msgid ""
+"You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at "
+"port \"%s\".\n"
+msgstr ""
+"Bạn đang được kết nối đến cơ sở dữ liệu \"%s\" bằng người dùng \"%s\" thông "
+"qua socket \"%s\" tại cổng \"%s\".\n"
+
+#: command.c:623
+#, c-format
+msgid ""
+"You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port "
+"\"%s\".\n"
+msgstr ""
+"Bạn đang được kết nối đến cơ sở dữ liệu \"%s\" bằng người dùng \"%s\" ở máy "
+"\"%s\" tại cổng \"%s\".\n"
+
+#: command.c:914 command.c:1010 command.c:2395
+#, c-format
+msgid "no query buffer\n"
+msgstr "không có bộ đệm truy vấn\n"
+
+#: command.c:947 command.c:4667
+#, c-format
+msgid "invalid line number: %s\n"
+msgstr "dòng số: %s bị lỗi\n"
+
+#: command.c:1001
+#, c-format
+msgid "The server (version %s) does not support editing function source.\n"
+msgstr ""
+"Máy chủ (phiên bản %s) không hỗ trợ chức năng chỉnh sửa mã nguồn hàm.\n"
+
+#: command.c:1004
+#, c-format
+msgid "The server (version %s) does not support editing view definitions.\n"
+msgstr ""
+"Máy chủ (phiên bản %s) không hỗ trợ chức năng chỉnh sửa các định nghĩa của "
+"view.\n"
+
+#: command.c:1086
+msgid "No changes"
+msgstr "Không có sự thay đổi"
+
+#: command.c:1163
+#, c-format
+msgid "%s: invalid encoding name or conversion procedure not found\n"
+msgstr "%s: không tìm thấy tên mã hóa hoặc thủ tục chuyển đổi không hợp lệ\n"
+
+#: command.c:1198 command.c:1837 command.c:3052 command.c:4769 common.c:174
+#: common.c:245 common.c:542 common.c:1338 common.c:1366 common.c:1474
+#: common.c:1577 common.c:1615 copy.c:489 copy.c:708 large_obj.c:156
+#: large_obj.c:191 large_obj.c:253
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: command.c:1202
+msgid "out of memory"
+msgstr "hết bộ nhớ"
+
+#: command.c:1205
+msgid "There is no previous error."
+msgstr "Không có lỗi nào trước đấy."
+
+#: command.c:1393 command.c:1698 command.c:1712 command.c:1729 command.c:1889
+#: command.c:2126 command.c:2362 command.c:2402
+#, c-format
+msgid "\\%s: missing required argument\n"
+msgstr "\\%s: thiếu tham số đầu vào\n"
+
+#: command.c:1524
+#, c-format
+msgid "\\elif: cannot occur after \\else\n"
+msgstr "\\elif: không thể xuất hiện sau \\else\n"
+
+#: command.c:1529
+#, c-format
+msgid "\\elif: no matching \\if\n"
+msgstr "\\elif: không tìm thấy cặp với \\if\n"
+
+#: command.c:1593
+#, c-format
+msgid "\\else: cannot occur after \\else\n"
+msgstr "\\else: không thể xuất hiện sau \\else\n"
+
+#: command.c:1598
+#, c-format
+msgid "\\else: no matching \\if\n"
+msgstr "\\else: không tìm thấy cặp với \\if\n"
+
+#: command.c:1638
+#, c-format
+msgid "\\endif: no matching \\if\n"
+msgstr "\\endif: không tìm thấy cặp với \\if\n"
+
+#: command.c:1793
+msgid "Query buffer is empty."
+msgstr "Bộ đệm truy vấn trống."
+
+#: command.c:1815
+msgid "Enter new password: "
+msgstr "Nhập mật khẩu mới: "
+
+#: command.c:1816
+msgid "Enter it again: "
+msgstr "Nhập lại: "
+
+#: command.c:1820
+#, c-format
+msgid "Passwords didn't match.\n"
+msgstr "Mật khẩu không trùng khớp.\n"
+
+#: command.c:1919
+#, c-format
+msgid "\\%s: could not read value for variable\n"
+msgstr "\\%s: không thể đọc giá trị của biến\n"
+
+#: command.c:2022
+msgid "Query buffer reset (cleared)."
+msgstr "Khôi phục bộ đệm truy vấn (đã xóa)."
+
+#: command.c:2044
+#, c-format
+msgid "Wrote history to file \"%s\".\n"
+msgstr "Đã ghi lịch sử vào file \"%s\".\n"
+
+#: command.c:2131
+#, c-format
+msgid "\\%s: environment variable name must not contain \"=\"\n"
+msgstr "\\%s: tên biến môi trường không được có kí tự \"=\"\n"
+
+#: command.c:2192
+#, c-format
+msgid "The server (version %s) does not support showing function source.\n"
+msgstr "Máy chủ (phiên bản %s) không hỗ trợ hiển thị nguồn của hàm.\n"
+
+#: command.c:2195
+#, c-format
+msgid "The server (version %s) does not support showing view definitions.\n"
+msgstr "Máy chủ (phiên bản %s) không hỗ trợ hiển thị định nghĩa của view.\n"
+
+#: command.c:2202
+#, c-format
+msgid "function name is required\n"
+msgstr "tên hàm bắt buộc phải nhập\n"
+
+#: command.c:2204
+#, c-format
+msgid "view name is required\n"
+msgstr "tên view bắt buộc phải nhập\n"
+
+#: command.c:2334
+msgid "Timing is on."
+msgstr "Timing được bật."
+
+#: command.c:2336
+msgid "Timing is off."
+msgstr "Timing được tắt."
+
+#: command.c:2421 command.c:2449 command.c:3420 command.c:3423 command.c:3426
+#: command.c:3432 command.c:3434 command.c:3442 command.c:3452 command.c:3461
+#: command.c:3475 command.c:3492 command.c:3550 common.c:70 copy.c:332
+#: copy.c:392 copy.c:405 psqlscanslash.l:783 psqlscanslash.l:794
+#: psqlscanslash.l:804
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
+#: command.c:2833 startup.c:214 startup.c:265
+msgid "Password: "
+msgstr "Mật khẩu: "
+
+#: command.c:2838 startup.c:262
+#, c-format
+msgid "Password for user %s: "
+msgstr "Mật khẩu cho người dùng %s: "
+
+#: command.c:2888
+#, c-format
+msgid ""
+"All connection parameters must be supplied because no database connection "
+"exists\n"
+msgstr ""
+"Tất cả các thông số kết nối phải được cung cấp vì không có kết nối cơ sở dữ "
+"liệu tồn tại\n"
+
+#: command.c:3056
+#, c-format
+msgid "Previous connection kept\n"
+msgstr "Kết nối trước đây được giữ\n"
+
+#: command.c:3060
+#, c-format
+msgid "\\connect: %s"
+msgstr "\\kết nối: %s"
+
+#: command.c:3096
+#, c-format
+msgid ""
+"You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" "
+"at port \"%s\".\n"
+msgstr ""
+"Bạn đang kết nối đến cơ sở dữ liệu \"%s\" bằng người dùng \"%s\" thông qua "
+"socket \"%s\" tại cổng \"%s\".\n"
+
+#: command.c:3099
+#, c-format
+msgid ""
+"You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at "
+"port \"%s\".\n"
+msgstr ""
+"Bạn đang kết nối đến cơ sở dữ liệu \"%s\" bằng người dùng \"%s\" ở máy \"%s"
+"\" tại cổng \"%s\".\n"
+
+#: command.c:3103
+#, c-format
+msgid "You are now connected to database \"%s\" as user \"%s\".\n"
+msgstr "Bạn đang kết nối đến cơ sở dữ liệu \"%s\" bằng người dùng \"%s\".\n"
+
+#: command.c:3136
+#, c-format
+msgid "%s (%s, server %s)\n"
+msgstr "%s (%s, máy chủ %s)\n"
+
+#: command.c:3144
+#, c-format
+msgid ""
+"WARNING: %s major version %s, server major version %s.\n"
+" Some psql features might not work.\n"
+msgstr ""
+"CẢNH BÁO: %s phiên bản chính %s, phiên bản chính của máy chủ %s.\n"
+" Một số tính năng psql có thể không hoạt động.\n"
+
+#: command.c:3181
+#, c-format
+msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
+msgstr "Kết nối SSL (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
+
+#: command.c:3182 command.c:3183 command.c:3184
+msgid "unknown"
+msgstr "không xác định"
+
+#: command.c:3185 help.c:45
+msgid "off"
+msgstr "tắt"
+
+#: command.c:3185 help.c:45
+msgid "on"
+msgstr "bật"
+
+#: command.c:3205
+#, c-format
+msgid ""
+"WARNING: Console code page (%u) differs from Windows code page (%u)\n"
+" 8-bit characters might not work correctly. See psql reference\n"
+" page \"Notes for Windows users\" for details.\n"
+msgstr ""
+"WARNING: Mã trang của console (%u) khác với của Windows (%u)\n"
+" ký tự 8-bit có thể không hoạt động đúng. Xem trang tham chiếu\n"
+" psql \"Notes for Windows users\" để biết thêm chi tiết.\n"
+
+#: command.c:3309
+#, c-format
+msgid ""
+"environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a "
+"line number\n"
+msgstr ""
+"biến môi trường PSQL_EDITOR_LINENUMBER_ARG phải được nhập để chỉ định số "
+"dòng\n"
+
+#: command.c:3338
+#, c-format
+msgid "could not start editor \"%s\"\n"
+msgstr "không mở được trình soạn thảo \"%s\"\n"
+
+#: command.c:3340
+#, c-format
+msgid "could not start /bin/sh\n"
+msgstr "không thực hiện được /bin/sh\n"
+
+#: command.c:3378
+#, c-format
+msgid "could not locate temporary directory: %s\n"
+msgstr "không thể định vị thư mục tạm thời: %s\n"
+
+#: command.c:3405
+#, c-format
+msgid "could not open temporary file \"%s\": %s\n"
+msgstr "không mở được file tạm \"%s\": %s\n"
+
+#: command.c:3679
+#, c-format
+msgid ""
+"\\pset: allowed formats are unaligned, aligned, wrapped, html, asciidoc, "
+"latex, latex-longtable, troff-ms\n"
+msgstr ""
+"\\pset: các định dạng cho phép bao gồm: unaligned, aligned, wrapped, html, "
+"asciidoc, latex, latex-longtable, troff-ms\n"
+
+#: command.c:3697
+#, c-format
+msgid "\\pset: allowed line styles are ascii, old-ascii, unicode\n"
+msgstr ""
+"\\pset: các kiểu đường được cho phép bao gồm: ascii, old-ascii, unicode\n"
+
+#: command.c:3712
+#, c-format
+msgid "\\pset: allowed Unicode border line styles are single, double\n"
+msgstr "\\pset: các kiểu đường viền Unicode được cho phép là single, double\n"
+
+#: command.c:3727
+#, c-format
+msgid "\\pset: allowed Unicode column line styles are single, double\n"
+msgstr "\\pset: các kiểu dòng cột Unicode được cho phép là single, double\n"
+
+#: command.c:3742
+#, c-format
+msgid "\\pset: allowed Unicode header line styles are single, double\n"
+msgstr ""
+"\\pset: các kiểu dòng tiêu đề Unicode được cho phép là single, double\n"
+
+#: command.c:3907 command.c:4086
+#, c-format
+msgid "\\pset: unknown option: %s\n"
+msgstr "\\pset: không có tùy chọn này: %s\n"
+
+#: command.c:3925
+#, c-format
+msgid "Border style is %d.\n"
+msgstr "Kiểu đường viền là %d.\n"
+
+#: command.c:3931
+#, c-format
+msgid "Target width is unset.\n"
+msgstr "Độ rộng của mục tiêu chưa được thiết lập.\n"
+
+#: command.c:3933
+#, c-format
+msgid "Target width is %d.\n"
+msgstr "Độ rộng của mục tiêu là %d.\n"
+
+#: command.c:3940
+#, c-format
+msgid "Expanded display is on.\n"
+msgstr "Màn hình mở rộng đang bật.\n"
+
+#: command.c:3942
+#, c-format
+msgid "Expanded display is used automatically.\n"
+msgstr "Màn hình mở rộng được sử dụng tự động.\n"
+
+#: command.c:3944
+#, c-format
+msgid "Expanded display is off.\n"
+msgstr "Màn hình mở rộng đang tắt.\n"
+
+#: command.c:3951 command.c:3959
+#, c-format
+msgid "Field separator is zero byte.\n"
+msgstr "Trường phân cách là 0 byte.\n"
+
+#: command.c:3953
+#, c-format
+msgid "Field separator is \"%s\".\n"
+msgstr "Trường phân cách là \"%s\".\n"
+
+#: command.c:3966
+#, c-format
+msgid "Default footer is on.\n"
+msgstr "Mẫu cuối trang mặc định đang bật.\n"
+
+#: command.c:3968
+#, c-format
+msgid "Default footer is off.\n"
+msgstr "Mẫu cuối trang mặc định đang tắt.\n"
+
+#: command.c:3974
+#, c-format
+msgid "Output format is %s.\n"
+msgstr "Định dạng đầu ra là %s.\n"
+
+#: command.c:3980
+#, c-format
+msgid "Line style is %s.\n"
+msgstr "Kiểu dòng là %s.\n"
+
+#: command.c:3987
+#, c-format
+msgid "Null display is \"%s\".\n"
+msgstr "Hiển thị null là \"%s\".\n"
+
+#: command.c:3995
+#, c-format
+msgid "Locale-adjusted numeric output is on.\n"
+msgstr "Đầu ra kiểu numeric điều chỉnh theo locale được bật.\n"
+
+#: command.c:3997
+#, c-format
+msgid "Locale-adjusted numeric output is off.\n"
+msgstr "Đầu ra kiểu numeric điều chỉnh theo locale được tắt.\n"
+
+#: command.c:4004
+#, c-format
+msgid "Pager is used for long output.\n"
+msgstr "Pager được sử dụng cho đầu ra dài.\n"
+
+#: command.c:4006
+#, c-format
+msgid "Pager is always used.\n"
+msgstr "Pager luôn được sử dụng.\n"
+
+#: command.c:4008
+#, c-format
+msgid "Pager usage is off.\n"
+msgstr "Pager bị tắt.\n"
+
+#: command.c:4014
+#, c-format
+msgid "Pager won't be used for less than %d line.\n"
+msgid_plural "Pager won't be used for less than %d lines.\n"
+msgstr[0] "Pager sẽ không được sử dụng cho ít hơn %d dòng.\n"
+
+#: command.c:4024 command.c:4034
+#, c-format
+msgid "Record separator is zero byte.\n"
+msgstr "Bộ tách bản ghi là 0 byte.\n"
+
+#: command.c:4026
+#, c-format
+msgid "Record separator is <newline>.\n"
+msgstr "Bộ tách bản ghi là <newline>.\n"
+
+#: command.c:4028
+#, c-format
+msgid "Record separator is \"%s\".\n"
+msgstr "Bộ tách bản ghi là \"%s\".\n"
+
+#: command.c:4041
+#, c-format
+msgid "Table attributes are \"%s\".\n"
+msgstr "Thuộc tính bảng là \"%s\".\n"
+
+#: command.c:4044
+#, c-format
+msgid "Table attributes unset.\n"
+msgstr "Thuộc tính bảng chưa được thiết lập.\n"
+
+#: command.c:4051
+#, c-format
+msgid "Title is \"%s\".\n"
+msgstr "Tiêu đề là \"%s\".\n"
+
+#: command.c:4053
+#, c-format
+msgid "Title is unset.\n"
+msgstr "Tiêu đề chưa được thiết lập.\n"
+
+#: command.c:4060
+#, c-format
+msgid "Tuples only is on.\n"
+msgstr "Chế độ tuples được bật.\n"
+
+#: command.c:4062
+#, c-format
+msgid "Tuples only is off.\n"
+msgstr "Chế độ tuples được tắt.\n"
+
+#: command.c:4068
+#, c-format
+msgid "Unicode border line style is \"%s\".\n"
+msgstr "Kiểu đường viền Unicode là \"%s\".\n"
+
+#: command.c:4074
+#, c-format
+msgid "Unicode column line style is \"%s\".\n"
+msgstr "Kiểu dòng cột Unicode là \"%s\".\n"
+
+#: command.c:4080
+#, c-format
+msgid "Unicode header line style is \"%s\".\n"
+msgstr "Kiểu dòng tiêu đề Unicode là \"%s\".\n"
+
+#: command.c:4240
+#, c-format
+msgid "\\!: failed\n"
+msgstr "\\!: lỗi\n"
+
+#: command.c:4265 common.c:802
+#, c-format
+msgid "\\watch cannot be used with an empty query\n"
+msgstr "\\watch không được dùng với truy vấn trống\n"
+
+#: command.c:4306
+#, c-format
+msgid "%s\t%s (every %gs)\n"
+msgstr "%s\t%s (%g mỗi giây)\n"
+
+#: command.c:4309
+#, c-format
+msgid "%s (every %gs)\n"
+msgstr "%s (%g mỗi giây)\n"
+
+#: command.c:4363 command.c:4370 common.c:702 common.c:709 common.c:1321
+#, c-format
+msgid ""
+"********* QUERY **********\n"
+"%s\n"
+"**************************\n"
+"\n"
+msgstr ""
+"********* CÂU LỆNH **********\n"
+"%s\n"
+"**************************\n"
+"\n"
+
+#: command.c:4562
+#, c-format
+msgid "\"%s.%s\" is not a view\n"
+msgstr "\"%s.%s\" không phải là một view\n"
+
+#: command.c:4578
+#, c-format
+msgid "could not parse reloptions array\n"
+msgstr "không thể phân tích cú pháp của mảng reloptions\n"
+
+#: common.c:159
+#, c-format
+msgid "cannot escape without active connection\n"
+msgstr "không thể thoát mà không đang kết nối\n"
+
+#: common.c:200
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr ""
+"tham số đầu vào của câu lệnh shell chứa dòng mới hoặc dấu dòng trả về: \"%s"
+"\"\n"
+
+#: common.c:416
+#, c-format
+msgid "connection to server was lost\n"
+msgstr "mất kết nối đến máy chủ\n"
+
+#: common.c:420
+#, c-format
+msgid "The connection to the server was lost. Attempting reset: "
+msgstr "Mất kết nối đến máy chủ. Thử khởi động lại: "
+
+#: common.c:425
+#, c-format
+msgid "Failed.\n"
+msgstr "Lỗi.\n"
+
+#: common.c:432
+#, c-format
+msgid "Succeeded.\n"
+msgstr "Thành công.\n"
+
+#: common.c:532 common.c:1082 common.c:1256
+#, c-format
+msgid "unexpected PQresultStatus: %d\n"
+msgstr "PQresultStatus trả về kết quả không mong muốn: %d\n"
+
+#: common.c:641
+#, c-format
+msgid "Time: %.3f ms\n"
+msgstr "Thời gian: %.3f ms\n"
+
+#: common.c:656
+#, c-format
+msgid "Time: %.3f ms (%02d:%06.3f)\n"
+msgstr "Thời gian: %.3f ms (%02d:%06.3f)\n"
+
+#: common.c:665
+#, c-format
+msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n"
+msgstr "Thời gian: %.3f ms (%02d:%02d:%06.3f)\n"
+
+#: common.c:672
+#, c-format
+msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n"
+msgstr "Thời gian: %.3f ms (%.0f d %02d:%02d:%06.3f)\n"
+
+#: common.c:809
+#, c-format
+msgid "\\watch cannot be used with COPY\n"
+msgstr "\\watch không thể được dùng với COPY\n"
+
+#: common.c:814
+#, c-format
+msgid "unexpected result status for \\watch\n"
+msgstr "trạng thái kết quả không mong muốn cho \\watch\n"
+
+#: common.c:843
+#, c-format
+msgid ""
+"Asynchronous notification \"%s\" with payload \"%s\" received from server "
+"process with PID %d.\n"
+msgstr ""
+"Thông báo không đồng bộ \"%s\" với tải trọng \"%s\" nhận được từ máy chủ ở "
+"process có PID %d.\n"
+
+#: common.c:846
+#, c-format
+msgid ""
+"Asynchronous notification \"%s\" received from server process with PID %d.\n"
+msgstr ""
+"Thông báo không đồng bộ \"%s\" nhận được từ máy chủ ở process có PID %d.\n"
+
+#: common.c:908
+#, c-format
+msgid "no rows returned for \\gset\n"
+msgstr "không có dòng nào trả về cho \\gset\n"
+
+#: common.c:913
+#, c-format
+msgid "more than one row returned for \\gset\n"
+msgstr "nhiều hơn 1 dòng trả về cho \\gset\n"
+
+#: common.c:1301
+#, c-format
+msgid ""
+"***(Single step mode: verify "
+"command)*******************************************\n"
+"%s\n"
+"***(press return to proceed or enter x and return to "
+"cancel)********************\n"
+msgstr ""
+"*** (Chế độ bước đơn: xác minh lệnh) *************************************** "
+"****\n"
+"%s\n"
+"*** (nhấn return để tiếp tục hoặc nhập x và return để hủy) "
+"********************\n"
+
+#: common.c:1356
+#, c-format
+msgid ""
+"The server (version %s) does not support savepoints for ON_ERROR_ROLLBACK.\n"
+msgstr ""
+"Máy chủ (phiên bản %s) không hỗ trợ các điểm lưu trữ cho ON_ERROR_ROLLBACK.\n"
+
+#: common.c:1419
+#, c-format
+msgid "STATEMENT: %s\n"
+msgstr "CÂU LỆNH: %s\n"
+
+#: common.c:1462
+#, c-format
+msgid "unexpected transaction status (%d)\n"
+msgstr "trạng thái giao dịch không mong muốn (%d)\n"
+
+#: common.c:1599 describe.c:1847
+msgid "Column"
+msgstr "Cột"
+
+#: common.c:1600 describe.c:174 describe.c:374 describe.c:392 describe.c:437
+#: describe.c:454 describe.c:925 describe.c:1089 describe.c:1620
+#: describe.c:1644 describe.c:1848 describe.c:3457 describe.c:3662
+#: describe.c:4834
+msgid "Type"
+msgstr "Kiểu"
+
+#: common.c:1649
+#, c-format
+msgid "The command has no result, or the result has no columns.\n"
+msgstr ""
+
+#: copy.c:99
+#, c-format
+msgid "\\copy: arguments required\n"
+msgstr "\\copy: cần nhập tham số đầu vào\n"
+
+#: copy.c:254
+#, c-format
+msgid "\\copy: parse error at \"%s\"\n"
+msgstr ""
+
+#: copy.c:256
+#, c-format
+msgid "\\copy: parse error at end of line\n"
+msgstr ""
+
+#: copy.c:329
+#, c-format
+msgid "could not execute command \"%s\": %s\n"
+msgstr "không thể thực hiện câu lệnh \"%s\": %s\n"
+
+#: copy.c:345
+#, c-format
+msgid "could not stat file \"%s\": %s\n"
+msgstr "không thể lấy thông tin trạng thái tệp \"%s\": %s\n"
+
+#: copy.c:349
+#, c-format
+msgid "%s: cannot copy from/to a directory\n"
+msgstr ""
+
+#: copy.c:386
+#, c-format
+msgid "could not close pipe to external command: %s\n"
+msgstr ""
+
+#: copy.c:452 copy.c:463
+#, c-format
+msgid "could not write COPY data: %s\n"
+msgstr ""
+
+#: copy.c:470
+#, c-format
+msgid "COPY data transfer failed: %s"
+msgstr ""
+
+#: copy.c:531
+msgid "canceled by user"
+msgstr "bị hủy bởi người dùng"
+
+#: copy.c:542
+msgid ""
+"Enter data to be copied followed by a newline.\n"
+"End with a backslash and a period on a line by itself, or an EOF signal."
+msgstr ""
+
+#: copy.c:670
+msgid "aborted because of read failure"
+msgstr ""
+
+#: copy.c:704
+msgid "trying to exit copy mode"
+msgstr ""
+
+#: crosstabview.c:123
+#, c-format
+msgid "\\crosstabview: statement did not return a result set\n"
+msgstr ""
+
+#: crosstabview.c:129
+#, c-format
+msgid "\\crosstabview: query must return at least three columns\n"
+msgstr ""
+
+#: crosstabview.c:156
+#, c-format
+msgid ""
+"\\crosstabview: vertical and horizontal headers must be different columns\n"
+msgstr ""
+
+#: crosstabview.c:172
+#, c-format
+msgid ""
+"\\crosstabview: data column must be specified when query returns more than "
+"three columns\n"
+msgstr ""
+
+#: crosstabview.c:228
+#, c-format
+msgid "\\crosstabview: maximum number of columns (%d) exceeded\n"
+msgstr ""
+
+#: crosstabview.c:397
+#, c-format
+msgid ""
+"\\crosstabview: query result contains multiple data values for row \"%s\", "
+"column \"%s\"\n"
+msgstr ""
+
+#: crosstabview.c:645
+#, c-format
+msgid "\\crosstabview: column number %d is out of range 1..%d\n"
+msgstr ""
+
+#: crosstabview.c:670
+#, c-format
+msgid "\\crosstabview: ambiguous column name: \"%s\"\n"
+msgstr ""
+
+#: crosstabview.c:678
+#, c-format
+msgid "\\crosstabview: column name not found: \"%s\"\n"
+msgstr ""
+
+#: describe.c:74 describe.c:354 describe.c:641 describe.c:773 describe.c:917
+#: describe.c:1078 describe.c:1150 describe.c:3446 describe.c:3660
+#: describe.c:3751 describe.c:3999 describe.c:4144 describe.c:4385
+#: describe.c:4460 describe.c:4471 describe.c:4533 describe.c:4958
+#: describe.c:5041
+msgid "Schema"
+msgstr "Schema"
+
+#: describe.c:75 describe.c:172 describe.c:239 describe.c:247 describe.c:355
+#: describe.c:642 describe.c:774 describe.c:835 describe.c:918 describe.c:1151
+#: describe.c:3447 describe.c:3583 describe.c:3661 describe.c:3752
+#: describe.c:3831 describe.c:4000 describe.c:4069 describe.c:4145
+#: describe.c:4386 describe.c:4461 describe.c:4472 describe.c:4534
+#: describe.c:4731 describe.c:4815 describe.c:5039 describe.c:5211
+#: describe.c:5436
+msgid "Name"
+msgstr "Tên"
+
+#: describe.c:76 describe.c:367 describe.c:385 describe.c:431 describe.c:448
+msgid "Result data type"
+msgstr "Kiểu dữ liệu kết quả"
+
+#: describe.c:84 describe.c:97 describe.c:101 describe.c:368 describe.c:386
+#: describe.c:432 describe.c:449
+msgid "Argument data types"
+msgstr "Kiểu dữ liệu tham số"
+
+#: describe.c:109 describe.c:116 describe.c:182 describe.c:270 describe.c:494
+#: describe.c:690 describe.c:789 describe.c:860 describe.c:1153 describe.c:1888
+#: describe.c:3235 describe.c:3482 describe.c:3614 describe.c:3688
+#: describe.c:3761 describe.c:3844 describe.c:3912 describe.c:4012
+#: describe.c:4078 describe.c:4146 describe.c:4287 describe.c:4329
+#: describe.c:4402 describe.c:4464 describe.c:4473 describe.c:4535
+#: describe.c:4757 describe.c:4837 describe.c:4972 describe.c:5042
+#: large_obj.c:289 large_obj.c:299
+msgid "Description"
+msgstr "Mô tả"
+
+#: describe.c:134
+msgid "List of aggregate functions"
+msgstr "Danh sách các hàm aggregate"
+
+#: describe.c:159
+#, c-format
+msgid "The server (version %s) does not support access methods.\n"
+msgstr "Máy chủ (phiên bản %s) không hỗ trợ các phương thức truy cập.\n"
+
+#: describe.c:173
+msgid "Index"
+msgstr "Index"
+
+#: describe.c:181 describe.c:4736
+msgid "Handler"
+msgstr "Handler"
+
+#: describe.c:200
+msgid "List of access methods"
+msgstr "Danh sách các phương thức truy cập"
+
+#: describe.c:226
+#, c-format
+msgid "The server (version %s) does not support tablespaces.\n"
+msgstr "Máy chủ (phiên bản %s) không hỗ trợ tablespaces.\n"
+
+#: describe.c:240 describe.c:248 describe.c:482 describe.c:680 describe.c:836
+#: describe.c:1077 describe.c:3458 describe.c:3587 describe.c:3833
+#: describe.c:4070 describe.c:4732 describe.c:4816 describe.c:5212
+#: describe.c:5338 describe.c:5437 large_obj.c:288
+msgid "Owner"
+msgstr "Chủ sở hữu"
+
+#: describe.c:241 describe.c:249
+msgid "Location"
+msgstr "Vị trí"
+
+#: describe.c:260 describe.c:3054
+msgid "Options"
+msgstr "Lựa chọn"
+
+#: describe.c:265 describe.c:653 describe.c:852 describe.c:3474 describe.c:3478
+msgid "Size"
+msgstr "Size"
+
+#: describe.c:287
+msgid "List of tablespaces"
+msgstr "Danh sách các tablespaces"
+
+#: describe.c:328
+#, c-format
+msgid "\\df only takes [antwS+] as options\n"
+msgstr ""
+
+#: describe.c:336
+#, c-format
+msgid "\\df does not take a \"w\" option with server version %s\n"
+msgstr ""
+
+#. translator: "agg" is short for "aggregate"
+#: describe.c:370 describe.c:388 describe.c:434 describe.c:451
+msgid "agg"
+msgstr ""
+
+#: describe.c:371 describe.c:389
+msgid "window"
+msgstr "cửa sổ"
+
+#: describe.c:372
+msgid "proc"
+msgstr "proc"
+
+#: describe.c:373 describe.c:391 describe.c:436 describe.c:453
+msgid "func"
+msgstr "func"
+
+#: describe.c:390 describe.c:435 describe.c:452 describe.c:1287
+msgid "trigger"
+msgstr "trigger"
+
+#: describe.c:464
+msgid "immutable"
+msgstr ""
+
+#: describe.c:465
+msgid "stable"
+msgstr ""
+
+#: describe.c:466
+msgid "volatile"
+msgstr ""
+
+#: describe.c:467
+msgid "Volatility"
+msgstr ""
+
+#: describe.c:475
+msgid "restricted"
+msgstr ""
+
+#: describe.c:476
+msgid "safe"
+msgstr "an toàn"
+
+#: describe.c:477
+msgid "unsafe"
+msgstr "rủi ro"
+
+#: describe.c:478
+msgid "Parallel"
+msgstr "Song song"
+
+#: describe.c:483
+msgid "definer"
+msgstr ""
+
+#: describe.c:484
+msgid "invoker"
+msgstr ""
+
+#: describe.c:485
+msgid "Security"
+msgstr "Bảo mật"
+
+#: describe.c:492
+msgid "Language"
+msgstr "Ngôn ngữ"
+
+#: describe.c:493
+msgid "Source code"
+msgstr "Mã nguồn"
+
+#: describe.c:604
+msgid "List of functions"
+msgstr "Danh sách các hàm"
+
+#: describe.c:652
+msgid "Internal name"
+msgstr "Tên nội bộ"
+
+#: describe.c:674
+msgid "Elements"
+msgstr "Phần tử"
+
+#: describe.c:731
+msgid "List of data types"
+msgstr "Danh sách các loại dữ liệu"
+
+#: describe.c:775
+msgid "Left arg type"
+msgstr "Loại đối số trái"
+
+#: describe.c:776
+msgid "Right arg type"
+msgstr "Loại đối số phải"
+
+#: describe.c:777
+msgid "Result type"
+msgstr "Loại kết quả"
+
+#: describe.c:782 describe.c:3903 describe.c:4286
+msgid "Function"
+msgstr "Hàm"
+
+#: describe.c:807
+msgid "List of operators"
+msgstr "Danh sách các toán tử"
+
+#: describe.c:837
+msgid "Encoding"
+msgstr "Mã hóa"
+
+#: describe.c:842 describe.c:4001
+msgid "Collate"
+msgstr ""
+
+#: describe.c:843 describe.c:4002
+msgid "Ctype"
+msgstr ""
+
+#: describe.c:856
+msgid "Tablespace"
+msgstr "Tablespace"
+
+#: describe.c:878
+msgid "List of databases"
+msgstr "Danh sách các cơ sở dữ liệu"
+
+#: describe.c:919 describe.c:924 describe.c:1080 describe.c:3448
+#: describe.c:3455
+msgid "table"
+msgstr "bảng"
+
+#: describe.c:920 describe.c:3449
+msgid "view"
+msgstr "view"
+
+#: describe.c:921 describe.c:3450
+msgid "materialized view"
+msgstr "materialized view"
+
+#: describe.c:922 describe.c:1082 describe.c:3452
+msgid "sequence"
+msgstr "sequence"
+
+#: describe.c:923 describe.c:3454
+msgid "foreign table"
+msgstr "bảng ngoại khóa"
+
+#: describe.c:936
+msgid "Column privileges"
+msgstr "Quyền của cột"
+
+#: describe.c:967 describe.c:1001
+msgid "Policies"
+msgstr "Chính sách"
+
+#: describe.c:1033 describe.c:5493 describe.c:5497
+msgid "Access privileges"
+msgstr "Quyền truy cập"
+
+#: describe.c:1064
+#, c-format
+msgid "The server (version %s) does not support altering default privileges.\n"
+msgstr "Máy chủ (phiên bản %s) không hỗ trợ thay đổi các quyền mặc định.\n"
+
+#: describe.c:1084
+msgid "function"
+msgstr "hàm"
+
+#: describe.c:1086
+msgid "type"
+msgstr "kiểu"
+
+#: describe.c:1088
+msgid "schema"
+msgstr "schema"
+
+#: describe.c:1112
+msgid "Default access privileges"
+msgstr "Quyền truy cập mặc định"
+
+#: describe.c:1152
+msgid "Object"
+msgstr "Đối tượng"
+
+#: describe.c:1166
+msgid "table constraint"
+msgstr "ràng buộc bảng"
+
+#: describe.c:1188
+msgid "domain constraint"
+msgstr "ràng buộc domain"
+
+#: describe.c:1216
+msgid "operator class"
+msgstr "operator class"
+
+#: describe.c:1245
+msgid "operator family"
+msgstr "operator family"
+
+#: describe.c:1267
+msgid "rule"
+msgstr "luật"
+
+#: describe.c:1309
+msgid "Object descriptions"
+msgstr "Mô tả đối tượng"
+
+#: describe.c:1365 describe.c:3546
+#, c-format
+msgid "Did not find any relation named \"%s\".\n"
+msgstr "Không tìm thấy relation nào tên \"%s\".\n"
+
+#: describe.c:1368 describe.c:3549
+#, c-format
+msgid "Did not find any relations.\n"
+msgstr "Không tìm thấy relation nào.\n"
+
+#: describe.c:1575
+#, c-format
+msgid "Did not find any relation with OID %s.\n"
+msgstr "Không tìm thấy relation nào với OID %s.\n"
+
+#: describe.c:1621 describe.c:1645
+msgid "Start"
+msgstr "Bắt đầu"
+
+#: describe.c:1622 describe.c:1646
+msgid "Minimum"
+msgstr "Tối thiểu"
+
+#: describe.c:1623 describe.c:1647
+msgid "Maximum"
+msgstr "Tối đa"
+
+#: describe.c:1624 describe.c:1648
+msgid "Increment"
+msgstr "Tăng"
+
+#: describe.c:1625 describe.c:1649 describe.c:3755 describe.c:3906
+msgid "yes"
+msgstr "có"
+
+#: describe.c:1626 describe.c:1650 describe.c:3755 describe.c:3904
+msgid "no"
+msgstr "không"
+
+#: describe.c:1627 describe.c:1651
+msgid "Cycles?"
+msgstr ""
+
+#: describe.c:1628 describe.c:1652
+msgid "Cache"
+msgstr ""
+
+#: describe.c:1695
+#, c-format
+msgid "Owned by: %s"
+msgstr "Thuộc về: %s"
+
+#: describe.c:1699
+#, c-format
+msgid "Sequence for identity column: %s"
+msgstr "Sequence để nhận dạng cột: %s"
+
+#: describe.c:1706
+#, c-format
+msgid "Sequence \"%s.%s\""
+msgstr "Sequence \"%s.%s\""
+
+#: describe.c:1787 describe.c:1833
+#, c-format
+msgid "Unlogged table \"%s.%s\""
+msgstr "Bảng unlogged \"%s.%s\""
+
+#: describe.c:1790 describe.c:1836
+#, c-format
+msgid "Table \"%s.%s\""
+msgstr "Bảng \"%s.%s\""
+
+#: describe.c:1794
+#, c-format
+msgid "View \"%s.%s\""
+msgstr "View \"%s.%s\""
+
+#: describe.c:1799
+#, c-format
+msgid "Unlogged materialized view \"%s.%s\""
+msgstr "Unlogged materialized view \"%s.%s\""
+
+#: describe.c:1802
+#, c-format
+msgid "Materialized view \"%s.%s\""
+msgstr "Materialized view \"%s.%s\""
+
+#: describe.c:1808
+#, c-format
+msgid "Unlogged index \"%s.%s\""
+msgstr "Unlogged index \"%s.%s\""
+
+#: describe.c:1811
+#, c-format
+msgid "Index \"%s.%s\""
+msgstr "Index \"%s.%s\""
+
+#: describe.c:1816
+#, c-format
+msgid "Special relation \"%s.%s\""
+msgstr "Bảng đặc biệt \"%s.%s\""
+
+#: describe.c:1820
+#, c-format
+msgid "TOAST table \"%s.%s\""
+msgstr "TOAST table \"%s.%s\""
+
+#: describe.c:1824
+#, c-format
+msgid "Composite type \"%s.%s\""
+msgstr "Kiểu phức hợp \"%s.%s\""
+
+#: describe.c:1828
+#, c-format
+msgid "Foreign table \"%s.%s\""
+msgstr "Bảng ngoại khóa \"%s.%s\""
+
+#: describe.c:1858 describe.c:3668
+msgid "Collation"
+msgstr "Collation"
+
+#: describe.c:1859 describe.c:3675
+msgid "Nullable"
+msgstr "Cho phép null"
+
+#: describe.c:1860 describe.c:3676
+msgid "Default"
+msgstr "Mặc định"
+
+#: describe.c:1866
+msgid "Definition"
+msgstr "Định nghĩa"
+
+#: describe.c:1869 describe.c:4752 describe.c:4836 describe.c:4907
+#: describe.c:4971
+msgid "FDW options"
+msgstr "Các tùy chọn FDW"
+
+#: describe.c:1873
+msgid "Storage"
+msgstr "Storage"
+
+#: describe.c:1880
+msgid "Stats target"
+msgstr "Mục tiêu stats"
+
+#: describe.c:2028
+#, c-format
+msgid "Partition of: %s %s"
+msgstr "Partition của: %s %s"
+
+#: describe.c:2036
+msgid "No partition constraint"
+msgstr "Không có ràng buộc partition"
+
+#: describe.c:2038
+#, c-format
+msgid "Partition constraint: %s"
+msgstr "Ràng buộc partition: %s"
+
+#: describe.c:2061
+#, c-format
+msgid "Partition key: %s"
+msgstr "Khóa cho partition: %s"
+
+#: describe.c:2130
+msgid "primary key, "
+msgstr "khóa chính, "
+
+#: describe.c:2132
+msgid "unique, "
+msgstr ""
+
+#: describe.c:2138
+#, c-format
+msgid "for table \"%s.%s\""
+msgstr "cho bảng \"%s.%s\""
+
+#: describe.c:2142
+#, fuzzy, c-format
+msgid ", predicate (%s)"
+msgstr "index_predicate"
+
+#: describe.c:2145
+msgid ", clustered"
+msgstr ""
+
+#: describe.c:2148
+msgid ", invalid"
+msgstr ", lỗi"
+
+#: describe.c:2151
+msgid ", deferrable"
+msgstr ""
+
+#: describe.c:2154
+msgid ", initially deferred"
+msgstr ""
+
+#: describe.c:2157
+msgid ", replica identity"
+msgstr ""
+
+#: describe.c:2216
+msgid "Indexes:"
+msgstr "Các index:"
+
+#: describe.c:2300
+msgid "Check constraints:"
+msgstr "Ràng buộc check:"
+
+#: describe.c:2331
+msgid "Foreign-key constraints:"
+msgstr "Ràng buộc khóa ngoài:"
+
+#: describe.c:2362
+msgid "Referenced by:"
+msgstr "Được tham chiếu bởi:"
+
+#: describe.c:2412
+msgid "Policies:"
+msgstr "Chính sách:"
+
+#: describe.c:2415
+msgid "Policies (forced row security enabled):"
+msgstr "Các chính sách (kích hoạt bảo mật hàng bắt buộc):"
+
+#: describe.c:2418
+msgid "Policies (row security enabled): (none)"
+msgstr "Chính sách (bật bảo mật hàng): (không)"
+
+#: describe.c:2421
+msgid "Policies (forced row security enabled): (none)"
+msgstr "Các chính sách (kích hoạt bảo mật hàng bắt buộc): (không)"
+
+#: describe.c:2424
+msgid "Policies (row security disabled):"
+msgstr "Chính sách (tắt bảo mật hàng):"
+
+#: describe.c:2486
+msgid "Statistics objects:"
+msgstr "Đối tượng statistics:"
+
+#: describe.c:2589 describe.c:2674
+msgid "Rules:"
+msgstr "Quy tắc:"
+
+#: describe.c:2592
+msgid "Disabled rules:"
+msgstr "Các quy tắc bị vô hiệu hóa:"
+
+#: describe.c:2595
+msgid "Rules firing always:"
+msgstr "Các quy tắc luôn kích hoạt:"
+
+#: describe.c:2598
+msgid "Rules firing on replica only:"
+msgstr "Các qui tắc chỉ kích hoạt ở replica:"
+
+#: describe.c:2638
+msgid "Publications:"
+msgstr "Các Publication:"
+
+#: describe.c:2657
+msgid "View definition:"
+msgstr "Định nghĩa view:"
+
+#: describe.c:2792
+msgid "Triggers:"
+msgstr "Các trigger:"
+
+#: describe.c:2796
+msgid "Disabled user triggers:"
+msgstr "Trigger cho người dùng bị vô hiệu hóa:"
+
+#: describe.c:2798
+msgid "Disabled triggers:"
+msgstr "Các trigger bị vô hiệu hóa:"
+
+#: describe.c:2801
+msgid "Disabled internal triggers:"
+msgstr ""
+
+#: describe.c:2804
+msgid "Triggers firing always:"
+msgstr ""
+
+#: describe.c:2807
+msgid "Triggers firing on replica only:"
+msgstr ""
+
+#: describe.c:2866
+#, c-format
+msgid "Server: %s"
+msgstr "Máy chủ: %s"
+
+#: describe.c:2874
+#, c-format
+msgid "FDW options: (%s)"
+msgstr "Tùy chọn FDW: (%s)"
+
+#: describe.c:2893
+msgid "Inherits"
+msgstr ""
+
+#: describe.c:2952
+#, c-format
+msgid "Number of partitions: %d"
+msgstr "Số lượng partition: %d"
+
+#: describe.c:2961
+#, c-format
+msgid "Number of child tables: %d (Use \\d+ to list them.)"
+msgstr ""
+
+#: describe.c:2963
+#, c-format
+msgid "Number of partitions: %d (Use \\d+ to list them.)"
+msgstr ""
+
+#: describe.c:2971
+msgid "Child tables"
+msgstr ""
+
+#: describe.c:2971
+msgid "Partitions"
+msgstr ""
+
+#: describe.c:3014
+#, c-format
+msgid "Typed table of type: %s"
+msgstr "Kiểu dữ liệu bảng: %s"
+
+#: describe.c:3030
+msgid "Replica Identity"
+msgstr ""
+
+#: describe.c:3043
+msgid "Has OIDs: yes"
+msgstr "Có OIDs: có"
+
+#: describe.c:3123
+#, c-format
+msgid "Tablespace: \"%s\""
+msgstr "Tablespace: \"%s\""
+
+#. translator: before this string there's an index description like
+#. '"foo_pkey" PRIMARY KEY, btree (a)'
+#: describe.c:3135
+#, c-format
+msgid ", tablespace \"%s\""
+msgstr ", tablespace \"%s\""
+
+#: describe.c:3228
+msgid "List of roles"
+msgstr "Danh sách role"
+
+#: describe.c:3230
+msgid "Role name"
+msgstr "Tên role"
+
+#: describe.c:3231
+msgid "Attributes"
+msgstr "Attributes"
+
+#: describe.c:3232
+msgid "Member of"
+msgstr "Thành viên của"
+
+#: describe.c:3243
+msgid "Superuser"
+msgstr "Superuser"
+
+#: describe.c:3246
+msgid "No inheritance"
+msgstr ""
+
+#: describe.c:3249
+msgid "Create role"
+msgstr "Tạo role"
+
+#: describe.c:3252
+msgid "Create DB"
+msgstr "Tạo DB"
+
+#: describe.c:3255
+msgid "Cannot login"
+msgstr "Không thể đăng nhập"
+
+#: describe.c:3259
+msgid "Replication"
+msgstr ""
+
+#: describe.c:3263
+msgid "Bypass RLS"
+msgstr ""
+
+#: describe.c:3272
+msgid "No connections"
+msgstr ""
+
+#: describe.c:3274
+#, c-format
+msgid "%d connection"
+msgid_plural "%d connections"
+msgstr[0] "%d kết nối"
+
+#: describe.c:3284
+msgid "Password valid until "
+msgstr "Mật khẩu hợp lệ cho đến "
+
+#: describe.c:3334
+#, c-format
+msgid "The server (version %s) does not support per-database role settings.\n"
+msgstr ""
+
+#: describe.c:3347
+msgid "Role"
+msgstr "Role"
+
+#: describe.c:3348
+msgid "Database"
+msgstr "Cơ sở dữ liệu"
+
+#: describe.c:3349
+msgid "Settings"
+msgstr "Cài đặt"
+
+#: describe.c:3370
+#, c-format
+msgid "Did not find any settings for role \"%s\" and database \"%s\".\n"
+msgstr ""
+"Không tìm thấy cài đặt cho người dùng \"%s\" và cơ sở dữ liệu \"%s\".\n"
+
+#: describe.c:3373
+#, c-format
+msgid "Did not find any settings for role \"%s\".\n"
+msgstr "Không tìm thấy cài đặt cho người dùng \"%s\".\n"
+
+#: describe.c:3376
+#, c-format
+msgid "Did not find any settings.\n"
+msgstr "Không tìm thấy cài đặt.\n"
+
+#: describe.c:3381
+msgid "List of settings"
+msgstr "Danh sách các cài đặt"
+
+#: describe.c:3451 describe.c:3456
+msgid "index"
+msgstr "index"
+
+#: describe.c:3453
+msgid "special"
+msgstr "đặc biệt"
+
+#: describe.c:3463 describe.c:4959
+msgid "Table"
+msgstr "Bảng"
+
+#: describe.c:3554
+msgid "List of relations"
+msgstr "Danh sách các mối quan hệ"
+
+#: describe.c:3591
+msgid "Trusted"
+msgstr ""
+
+#: describe.c:3599
+msgid "Internal language"
+msgstr "Ngôn ngữ nội bộ"
+
+#: describe.c:3600
+msgid "Call handler"
+msgstr "Trình xử lý gọi"
+
+#: describe.c:3601 describe.c:4739
+msgid "Validator"
+msgstr "Trình xác thực"
+
+#: describe.c:3604
+msgid "Inline handler"
+msgstr "Trình xử lý inline"
+
+#: describe.c:3632
+msgid "List of languages"
+msgstr "Danh sách các ngôn ngữ"
+
+#: describe.c:3677
+msgid "Check"
+msgstr "Check"
+
+#: describe.c:3719
+msgid "List of domains"
+msgstr "Danh sách các miền"
+
+#: describe.c:3753
+msgid "Source"
+msgstr "Nguồn"
+
+#: describe.c:3754
+msgid "Destination"
+msgstr ""
+
+#: describe.c:3756
+msgid "Default?"
+msgstr "Mặc định?"
+
+#: describe.c:3793
+msgid "List of conversions"
+msgstr "Danh sách các conversion"
+
+#: describe.c:3832
+msgid "Event"
+msgstr ""
+
+#: describe.c:3834
+msgid "enabled"
+msgstr "được bật"
+
+#: describe.c:3835
+msgid "replica"
+msgstr "replica"
+
+#: describe.c:3836
+msgid "always"
+msgstr "luôn luôn"
+
+#: describe.c:3837
+msgid "disabled"
+msgstr "được tắt"
+
+#: describe.c:3838 describe.c:5438
+msgid "Enabled"
+msgstr "Được bật"
+
+#: describe.c:3839
+msgid "Procedure"
+msgstr "Thủ tục"
+
+#: describe.c:3840
+msgid "Tags"
+msgstr ""
+
+#: describe.c:3859
+msgid "List of event triggers"
+msgstr "Danh sách các sự kiện triggers"
+
+#: describe.c:3901
+msgid "Source type"
+msgstr "Kiểu nguồn"
+
+#: describe.c:3902
+msgid "Target type"
+msgstr "Kiểu đích"
+
+#: describe.c:3905
+msgid "in assignment"
+msgstr ""
+
+#: describe.c:3907
+msgid "Implicit?"
+msgstr ""
+
+#: describe.c:3958
+msgid "List of casts"
+msgstr "Danh sách cast"
+
+#: describe.c:3986
+#, c-format
+msgid "The server (version %s) does not support collations.\n"
+msgstr ""
+
+#: describe.c:4007
+msgid "Provider"
+msgstr ""
+
+#: describe.c:4042
+msgid "List of collations"
+msgstr "Danh sách các collations"
+
+#: describe.c:4101
+msgid "List of schemas"
+msgstr "Danh sách các schema"
+
+#: describe.c:4126 describe.c:4373 describe.c:4444 describe.c:4515
+#, c-format
+msgid "The server (version %s) does not support full text search.\n"
+msgstr ""
+
+#: describe.c:4161
+msgid "List of text search parsers"
+msgstr ""
+
+#: describe.c:4206
+#, c-format
+msgid "Did not find any text search parser named \"%s\".\n"
+msgstr ""
+
+#: describe.c:4209
+#, c-format
+msgid "Did not find any text search parsers.\n"
+msgstr ""
+
+#: describe.c:4284
+msgid "Start parse"
+msgstr "Bắt đầu phân tích cú pháp"
+
+#: describe.c:4285
+msgid "Method"
+msgstr "Phương thức"
+
+#: describe.c:4289
+msgid "Get next token"
+msgstr "Nhận token tiếp theo"
+
+#: describe.c:4291
+msgid "End parse"
+msgstr "Kết thúc phân tích cú pháp"
+
+#: describe.c:4293
+msgid "Get headline"
+msgstr "Nhận tiêu đề"
+
+#: describe.c:4295
+msgid "Get token types"
+msgstr "Nhận kiểu token"
+
+#: describe.c:4306
+#, c-format
+msgid "Text search parser \"%s.%s\""
+msgstr ""
+
+#: describe.c:4309
+#, c-format
+msgid "Text search parser \"%s\""
+msgstr ""
+
+#: describe.c:4328
+msgid "Token name"
+msgstr "Tên token"
+
+#: describe.c:4339
+#, c-format
+msgid "Token types for parser \"%s.%s\""
+msgstr ""
+
+#: describe.c:4342
+#, c-format
+msgid "Token types for parser \"%s\""
+msgstr ""
+
+#: describe.c:4396
+msgid "Template"
+msgstr ""
+
+#: describe.c:4397
+msgid "Init options"
+msgstr "Tùy chọn khởi tạo"
+
+#: describe.c:4419
+msgid "List of text search dictionaries"
+msgstr ""
+
+#: describe.c:4462
+msgid "Init"
+msgstr "Khởi tạo"
+
+#: describe.c:4463
+msgid "Lexize"
+msgstr "Xử lý Lex"
+
+#: describe.c:4490
+msgid "List of text search templates"
+msgstr ""
+
+#: describe.c:4550
+msgid "List of text search configurations"
+msgstr ""
+
+#: describe.c:4596
+#, c-format
+msgid "Did not find any text search configuration named \"%s\".\n"
+msgstr ""
+
+#: describe.c:4599
+#, c-format
+msgid "Did not find any text search configurations.\n"
+msgstr ""
+
+#: describe.c:4665
+msgid "Token"
+msgstr "Token"
+
+#: describe.c:4666
+msgid "Dictionaries"
+msgstr ""
+
+#: describe.c:4677
+#, c-format
+msgid "Text search configuration \"%s.%s\""
+msgstr ""
+
+#: describe.c:4680
+#, c-format
+msgid "Text search configuration \"%s\""
+msgstr ""
+
+#: describe.c:4684
+#, c-format
+msgid ""
+"\n"
+"Parser: \"%s.%s\""
+msgstr ""
+"\n"
+"Trình phân tích cú pháp: \"%s.%s\""
+
+#: describe.c:4687
+#, c-format
+msgid ""
+"\n"
+"Parser: \"%s\""
+msgstr ""
+"\n"
+"Trình phân tích cú pháp: \"%s\""
+
+#: describe.c:4721
+#, c-format
+msgid "The server (version %s) does not support foreign-data wrappers.\n"
+msgstr ""
+
+#: describe.c:4779
+msgid "List of foreign-data wrappers"
+msgstr ""
+
+#: describe.c:4804
+#, c-format
+msgid "The server (version %s) does not support foreign servers.\n"
+msgstr ""
+
+#: describe.c:4817
+msgid "Foreign-data wrapper"
+msgstr "Foreign-data wrapper"
+
+#: describe.c:4835 describe.c:5040
+msgid "Version"
+msgstr "Phiên bản"
+
+#: describe.c:4861
+msgid "List of foreign servers"
+msgstr "Danh sách các foreign server"
+
+#: describe.c:4886
+#, c-format
+msgid "The server (version %s) does not support user mappings.\n"
+msgstr ""
+
+#: describe.c:4896 describe.c:4960
+msgid "Server"
+msgstr "Máy chủ"
+
+#: describe.c:4897
+msgid "User name"
+msgstr "Tên người dùng"
+
+#: describe.c:4922
+msgid "List of user mappings"
+msgstr "Danh sách ánh xạ người dùng"
+
+#: describe.c:4947
+#, c-format
+msgid "The server (version %s) does not support foreign tables.\n"
+msgstr ""
+
+#: describe.c:5000
+msgid "List of foreign tables"
+msgstr "Danh sách bảng ngoại khóa"
+
+#: describe.c:5025 describe.c:5082
+#, c-format
+msgid "The server (version %s) does not support extensions.\n"
+msgstr ""
+
+#: describe.c:5057
+msgid "List of installed extensions"
+msgstr "Danh sách các extension đã cài đặt"
+
+#: describe.c:5110
+#, c-format
+msgid "Did not find any extension named \"%s\".\n"
+msgstr "Không tìm thấy extension nào tên \"%s\".\n"
+
+#: describe.c:5113
+#, c-format
+msgid "Did not find any extensions.\n"
+msgstr "Không tìm thấy extension nào.\n"
+
+#: describe.c:5157
+msgid "Object description"
+msgstr "Mô tả đối tượng"
+
+#: describe.c:5167
+#, c-format
+msgid "Objects in extension \"%s\""
+msgstr "Đối tượng trong extension \"%s\""
+
+#: describe.c:5196 describe.c:5267
+#, c-format
+msgid "The server (version %s) does not support publications.\n"
+msgstr ""
+
+#: describe.c:5213 describe.c:5339
+msgid "All tables"
+msgstr ""
+
+#: describe.c:5214 describe.c:5340
+msgid "Inserts"
+msgstr ""
+
+#: describe.c:5215 describe.c:5341
+msgid "Updates"
+msgstr ""
+
+#: describe.c:5216 describe.c:5342
+msgid "Deletes"
+msgstr ""
+
+#: describe.c:5220 describe.c:5344
+msgid "Truncates"
+msgstr ""
+
+#: describe.c:5237
+msgid "List of publications"
+msgstr "Danh sách các publication"
+
+#: describe.c:5305
+#, c-format
+msgid "Did not find any publication named \"%s\".\n"
+msgstr "Không tìm thấy publication nào tên \"%s\".\n"
+
+#: describe.c:5308
+#, c-format
+msgid "Did not find any publications.\n"
+msgstr "Không tìm thấy publication nào.\n"
+
+#: describe.c:5335
+#, c-format
+msgid "Publication %s"
+msgstr "Publication %s"
+
+#: describe.c:5379
+msgid "Tables:"
+msgstr ""
+
+#: describe.c:5423
+#, c-format
+msgid "The server (version %s) does not support subscriptions.\n"
+msgstr ""
+
+#: describe.c:5439
+msgid "Publication"
+msgstr "Publication"
+
+#: describe.c:5446
+msgid "Synchronous commit"
+msgstr ""
+
+#: describe.c:5447
+msgid "Conninfo"
+msgstr ""
+
+#: describe.c:5469
+msgid "List of subscriptions"
+msgstr "Danh sách các subscription"
+
+#: help.c:62
+#, c-format
+msgid "%s\n"
+msgstr ""
+"%s\n"
+"\n"
+
+#: help.c:73
+#, c-format
+msgid ""
+"psql is the PostgreSQL interactive terminal.\n"
+"\n"
+msgstr ""
+
+#: help.c:74 help.c:345 help.c:419 help.c:462
+#, c-format
+msgid "Usage:\n"
+msgstr "Cách dùng:\n"
+
+#: help.c:75
+#, c-format
+msgid ""
+" psql [OPTION]... [DBNAME [USERNAME]]\n"
+"\n"
+msgstr ""
+" psql [lựa chọn]... [tên cơ sở dữ liệu [tên người dùng]]\n"
+"\n"
+
+#: help.c:77
+#, c-format
+msgid "General options:\n"
+msgstr "Các lựa chọn chính:\n"
+
+#: help.c:82
+#, c-format
+msgid ""
+" -c, --command=COMMAND run only single command (SQL or internal) and "
+"exit\n"
+msgstr ""
+" -c, --command=CÂU LỆNH chỉ chạy một câu lệnh đơn (SQL hoặc nội bộ) và "
+"thoát\n"
+
+#: help.c:83
+#, c-format
+msgid ""
+" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n"
+msgstr ""
+
+#: help.c:84
+#, c-format
+msgid " -f, --file=FILENAME execute commands from file, then exit\n"
+msgstr ""
+
+#: help.c:85
+#, c-format
+msgid " -l, --list list available databases, then exit\n"
+msgstr ""
+
+#: help.c:86
+#, c-format
+msgid ""
+" -v, --set=, --variable=NAME=VALUE\n"
+" set psql variable NAME to VALUE\n"
+" (e.g., -v ON_ERROR_STOP=1)\n"
+msgstr ""
+
+#: help.c:89
+#, c-format
+msgid " -V, --version output version information, then exit\n"
+msgstr ""
+
+#: help.c:90
+#, c-format
+msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n"
+msgstr ""
+
+#: help.c:91
+#, c-format
+msgid ""
+" -1 (\"one\"), --single-transaction\n"
+" execute as a single transaction (if non-"
+"interactive)\n"
+msgstr ""
+
+#: help.c:93
+#, c-format
+msgid " -?, --help[=options] show this help, then exit\n"
+msgstr ""
+
+#: help.c:94
+#, c-format
+msgid " --help=commands list backslash commands, then exit\n"
+msgstr ""
+
+#: help.c:95
+#, c-format
+msgid " --help=variables list special variables, then exit\n"
+msgstr ""
+
+#: help.c:97
+#, c-format
+msgid ""
+"\n"
+"Input and output options:\n"
+msgstr ""
+"\n"
+"Các lựa chọn đầu vào và đầu ra:\n"
+
+#: help.c:98
+#, c-format
+msgid " -a, --echo-all echo all input from script\n"
+msgstr " -a, --echo-all in ra toàn bộ đầu vào từ kịch bản\n"
+
+#: help.c:99
+#, c-format
+msgid " -b, --echo-errors echo failed commands\n"
+msgstr " -b, --echo-errors in ra các câu lệnh lỗi\n"
+
+#: help.c:100
+#, c-format
+msgid " -e, --echo-queries echo commands sent to server\n"
+msgstr " -e, --echo-queries in ra các câu lệnh gửi đến máy chủ\n"
+
+#: help.c:101
+#, c-format
+msgid ""
+" -E, --echo-hidden display queries that internal commands generate\n"
+msgstr ""
+" -E, --echo-hidden hiển thị các truy vấn mà câu lệnh nội bộ sinh ra\n"
+
+#: help.c:102
+#, c-format
+msgid " -L, --log-file=FILENAME send session log to file\n"
+msgstr ""
+
+#: help.c:103
+#, c-format
+msgid ""
+" -n, --no-readline disable enhanced command line editing (readline)\n"
+msgstr ""
+
+#: help.c:104
+#, c-format
+msgid " -o, --output=FILENAME send query results to file (or |pipe)\n"
+msgstr ""
+" -o, --output=FILENAME gửi kết quả của truy vấn vào file (hoặc song song "
+"| pipe) \n"
+
+#: help.c:105
+#, c-format
+msgid ""
+" -q, --quiet run quietly (no messages, only query output)\n"
+msgstr ""
+" -q, --quiet chỉ chạy (không có tin nhắn, chỉ có kết quả trả "
+"về)\n"
+
+#: help.c:106
+#, c-format
+msgid " -s, --single-step single-step mode (confirm each query)\n"
+msgstr ""
+
+#: help.c:107
+#, c-format
+msgid ""
+" -S, --single-line single-line mode (end of line terminates SQL "
+"command)\n"
+msgstr ""
+
+#: help.c:109
+#, c-format
+msgid ""
+"\n"
+"Output format options:\n"
+msgstr ""
+"\n"
+"Các tùy chọn định dạng đầu ra:\n"
+
+#: help.c:110
+#, c-format
+msgid " -A, --no-align unaligned table output mode\n"
+msgstr ""
+" -A, --no-align chế độ không căn lề bảng đầu ra\n"
+"\n"
+
+#: help.c:111
+#, c-format
+msgid ""
+" -F, --field-separator=STRING\n"
+" field separator for unaligned output (default: "
+"\"%s\")\n"
+msgstr ""
+
+#: help.c:114
+#, c-format
+msgid " -H, --html HTML table output mode\n"
+msgstr " -H, --html Kết quả đầu ra ở dạng bảng HTML\n"
+
+#: help.c:115
+#, c-format
+msgid ""
+" -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset "
+"command)\n"
+msgstr ""
+
+#: help.c:116
+#, c-format
+msgid ""
+" -R, --record-separator=STRING\n"
+" record separator for unaligned output (default: "
+"newline)\n"
+msgstr ""
+
+#: help.c:118
+#, c-format
+msgid " -t, --tuples-only print rows only\n"
+msgstr ""
+
+#: help.c:119
+#, c-format
+msgid ""
+" -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, "
+"border)\n"
+msgstr ""
+
+#: help.c:120
+#, c-format
+msgid " -x, --expanded turn on expanded table output\n"
+msgstr ""
+
+#: help.c:121
+#, c-format
+msgid ""
+" -z, --field-separator-zero\n"
+" set field separator for unaligned output to zero "
+"byte\n"
+msgstr ""
+
+#: help.c:123
+#, c-format
+msgid ""
+" -0, --record-separator-zero\n"
+" set record separator for unaligned output to zero "
+"byte\n"
+msgstr ""
+
+#: help.c:126
+#, c-format
+msgid ""
+"\n"
+"Connection options:\n"
+msgstr ""
+"\n"
+"Tùy chọn kết nối:\n"
+
+#: help.c:129
+#, c-format
+msgid ""
+" -h, --host=HOSTNAME database server host or socket directory "
+"(default: \"%s\")\n"
+msgstr ""
+
+#: help.c:130
+msgid "local socket"
+msgstr "socket cục bộ"
+
+#: help.c:133
+#, c-format
+msgid " -p, --port=PORT database server port (default: \"%s\")\n"
+msgstr " -p, --port=CỔNG cổng của cơ sở dữ liệu (mặc định: \"%s\")\n"
+
+#: help.c:139
+#, c-format
+msgid " -U, --username=USERNAME database user name (default: \"%s\")\n"
+msgstr ""
+
+#: help.c:140
+#, c-format
+msgid " -w, --no-password never prompt for password\n"
+msgstr " -w, --no-password không hỏi mật khẩu\n"
+
+#: help.c:141
+#, c-format
+msgid ""
+" -W, --password force password prompt (should happen "
+"automatically)\n"
+msgstr ""
+" -W, --password bắt buộc nhập mật khẩu (mặc định sẽ tự động xảy "
+"ra)\n"
+
+#: help.c:143
+#, c-format
+msgid ""
+"\n"
+"For more information, type \"\\?\" (for internal commands) or \"\\help"
+"\" (for SQL\n"
+"commands) from within psql, or consult the psql section in the PostgreSQL\n"
+"documentation.\n"
+"\n"
+msgstr ""
+
+#: help.c:146
+#, c-format
+msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr "Báo cáo lỗi về <pgsql-bugs@postgresql.org>.\n"
+
+#: help.c:172
+#, c-format
+msgid "General\n"
+msgstr "Tổng quan\n"
+
+#: help.c:173
+#, c-format
+msgid ""
+" \\copyright show PostgreSQL usage and distribution terms\n"
+msgstr ""
+
+#: help.c:174
+#, c-format
+msgid ""
+" \\crosstabview [COLUMNS] execute query and display results in crosstab\n"
+msgstr ""
+
+#: help.c:175
+#, c-format
+msgid ""
+" \\errverbose show most recent error message at maximum "
+"verbosity\n"
+msgstr ""
+
+#: help.c:176
+#, c-format
+msgid ""
+" \\g [FILE] or ; execute query (and send results to file or |pipe)\n"
+msgstr ""
+" \\g [FILE] or ; thực thi truy vấn (và gửi kết quả tới tệp hoặc "
+"pipe)\n"
+"\n"
+
+#: help.c:177
+#, c-format
+msgid ""
+" \\gdesc describe result of query, without executing it\n"
+msgstr ""
+
+#: help.c:178
+#, c-format
+msgid ""
+" \\gexec execute query, then execute each value in its "
+"result\n"
+msgstr ""
+
+#: help.c:179
+#, c-format
+msgid ""
+" \\gset [PREFIX] execute query and store results in psql variables\n"
+msgstr ""
+
+#: help.c:180
+#, c-format
+msgid " \\gx [FILE] as \\g, but forces expanded output mode\n"
+msgstr ""
+
+#: help.c:181
+#, c-format
+msgid " \\q quit psql\n"
+msgstr " \\q thoát khỏi psql\n"
+
+#: help.c:182
+#, c-format
+msgid " \\watch [SEC] execute query every SEC seconds\n"
+msgstr " \\watch [số] thực thi câu lệnh sau mỗi [số] giây\n"
+
+#: help.c:185
+#, c-format
+msgid "Help\n"
+msgstr "Giải đáp\n"
+
+#: help.c:187
+#, c-format
+msgid " \\? [commands] show help on backslash commands\n"
+msgstr ""
+
+#: help.c:188
+#, c-format
+msgid " \\? options show help on psql command-line options\n"
+msgstr ""
+" \\? options đưa ra hướng dẫn về các lựa chọn của câu lệnh "
+"psql\n"
+
+#: help.c:189
+#, c-format
+msgid " \\? variables show help on special variables\n"
+msgstr " \\? variables đưa ra hướng dẫn về các biến đặc biệt\n"
+
+#: help.c:190
+#, c-format
+msgid ""
+" \\h [NAME] help on syntax of SQL commands, * for all "
+"commands\n"
+msgstr ""
+" \\h [TÊN] hướng dẫn về cú pháp của câu lệnh SQL, dùng * cho "
+"toàn bộ câu lệnh\n"
+
+#: help.c:193
+#, c-format
+msgid "Query Buffer\n"
+msgstr "Bộ đệm truy vấn\n"
+
+#: help.c:194
+#, c-format
+msgid ""
+" \\e [FILE] [LINE] edit the query buffer (or file) with external "
+"editor\n"
+msgstr ""
+
+#: help.c:195
+#, c-format
+msgid ""
+" \\ef [FUNCNAME [LINE]] edit function definition with external editor\n"
+msgstr ""
+
+#: help.c:196
+#, c-format
+msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n"
+msgstr ""
+
+#: help.c:197
+#, c-format
+msgid " \\p show the contents of the query buffer\n"
+msgstr ""
+
+#: help.c:198
+#, c-format
+msgid " \\r reset (clear) the query buffer\n"
+msgstr ""
+
+#: help.c:200
+#, c-format
+msgid " \\s [FILE] display history or save it to file\n"
+msgstr " \\s [FILE] hiển thị lịch sử hoặc lưu vào file\n"
+
+#: help.c:202
+#, c-format
+msgid " \\w FILE write query buffer to file\n"
+msgstr ""
+
+#: help.c:205
+#, c-format
+msgid "Input/Output\n"
+msgstr "Đầu vào/Đầu ra\n"
+
+#: help.c:206
+#, c-format
+msgid ""
+" \\copy ... perform SQL COPY with data stream to the client "
+"host\n"
+msgstr ""
+
+#: help.c:207
+#, c-format
+msgid " \\echo [STRING] write string to standard output\n"
+msgstr ""
+
+#: help.c:208
+#, c-format
+msgid " \\i FILE execute commands from file\n"
+msgstr ""
+
+#: help.c:209
+#, c-format
+msgid ""
+" \\ir FILE as \\i, but relative to location of current "
+"script\n"
+msgstr ""
+
+#: help.c:210
+#, c-format
+msgid " \\o [FILE] send all query results to file or |pipe\n"
+msgstr ""
+" \\o [FILE] gửi tất cả các kết quả truy vấn tới tệp hoặc pipe\n"
+"\n"
+
+#: help.c:211
+#, c-format
+msgid ""
+" \\qecho [STRING] write string to query output stream (see \\o)\n"
+msgstr ""
+
+#: help.c:214
+#, c-format
+msgid "Conditional\n"
+msgstr ""
+
+#: help.c:215
+#, c-format
+msgid " \\if EXPR begin conditional block\n"
+msgstr ""
+
+#: help.c:216
+#, c-format
+msgid ""
+" \\elif EXPR alternative within current conditional block\n"
+msgstr ""
+
+#: help.c:217
+#, c-format
+msgid ""
+" \\else final alternative within current conditional "
+"block\n"
+msgstr ""
+
+#: help.c:218
+#, c-format
+msgid " \\endif end conditional block\n"
+msgstr " \\endif kết thúc khối điều kiện\n"
+
+#: help.c:221
+#, c-format
+msgid "Informational\n"
+msgstr ""
+
+#: help.c:222
+#, c-format
+msgid " (options: S = show system objects, + = additional detail)\n"
+msgstr ""
+
+#: help.c:223
+#, c-format
+msgid " \\d[S+] list tables, views, and sequences\n"
+msgstr ""
+
+#: help.c:224
+#, c-format
+msgid " \\d[S+] NAME describe table, view, sequence, or index\n"
+msgstr ""
+
+#: help.c:225
+#, c-format
+msgid " \\da[S] [PATTERN] list aggregates\n"
+msgstr ""
+
+#: help.c:226
+#, c-format
+msgid " \\dA[+] [PATTERN] list access methods\n"
+msgstr ""
+
+#: help.c:227
+#, c-format
+msgid " \\db[+] [PATTERN] list tablespaces\n"
+msgstr " \\db[+] [PATTERN] danh sách tablespace\n"
+
+#: help.c:228
+#, c-format
+msgid " \\dc[S+] [PATTERN] list conversions\n"
+msgstr ""
+
+#: help.c:229
+#, c-format
+msgid " \\dC[+] [PATTERN] list casts\n"
+msgstr ""
+
+#: help.c:230
+#, c-format
+msgid ""
+" \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n"
+msgstr ""
+
+#: help.c:231
+#, c-format
+msgid " \\dD[S+] [PATTERN] list domains\n"
+msgstr " \\dD[S+] [PATTERN] danh sách các miền\n"
+
+#: help.c:232
+#, c-format
+msgid " \\ddp [PATTERN] list default privileges\n"
+msgstr " \\ddp [PATTERN] danh sách các quyền mặc định\n"
+
+#: help.c:233
+#, c-format
+msgid " \\dE[S+] [PATTERN] list foreign tables\n"
+msgstr " \\dE[S+] [PATTERN] danh sách các bảng ngoại khóa\n"
+
+#: help.c:234
+#, c-format
+msgid " \\det[+] [PATTERN] list foreign tables\n"
+msgstr " \\det[+] [PATTERN] danh sách các bảng ngoại khóa\n"
+
+#: help.c:235
+#, c-format
+msgid " \\des[+] [PATTERN] list foreign servers\n"
+msgstr ""
+
+#: help.c:236
+#, c-format
+msgid " \\deu[+] [PATTERN] list user mappings\n"
+msgstr ""
+
+#: help.c:237
+#, c-format
+msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n"
+msgstr ""
+
+#: help.c:238
+#, c-format
+msgid ""
+" \\df[antw][S+] [PATRN] list [only agg/normal/trigger/window] functions\n"
+msgstr ""
+
+#: help.c:239
+#, c-format
+msgid " \\dF[+] [PATTERN] list text search configurations\n"
+msgstr ""
+
+#: help.c:240
+#, c-format
+msgid " \\dFd[+] [PATTERN] list text search dictionaries\n"
+msgstr ""
+
+#: help.c:241
+#, c-format
+msgid " \\dFp[+] [PATTERN] list text search parsers\n"
+msgstr ""
+
+#: help.c:242
+#, c-format
+msgid " \\dFt[+] [PATTERN] list text search templates\n"
+msgstr ""
+
+#: help.c:243
+#, c-format
+msgid " \\dg[S+] [PATTERN] list roles\n"
+msgstr ""
+
+#: help.c:244
+#, c-format
+msgid " \\di[S+] [PATTERN] list indexes\n"
+msgstr ""
+
+#: help.c:245
+#, c-format
+msgid " \\dl list large objects, same as \\lo_list\n"
+msgstr ""
+
+#: help.c:246
+#, c-format
+msgid " \\dL[S+] [PATTERN] list procedural languages\n"
+msgstr ""
+
+#: help.c:247
+#, c-format
+msgid " \\dm[S+] [PATTERN] list materialized views\n"
+msgstr ""
+
+#: help.c:248
+#, c-format
+msgid " \\dn[S+] [PATTERN] list schemas\n"
+msgstr " \\dn[S+] [PATTERN] danh sách các schema\n"
+
+#: help.c:249
+#, c-format
+msgid " \\do[S] [PATTERN] list operators\n"
+msgstr " \\do[S] [PATTERN] danh sách các toán tử\n"
+
+#: help.c:250
+#, c-format
+msgid " \\dO[S+] [PATTERN] list collations\n"
+msgstr ""
+
+#: help.c:251
+#, c-format
+msgid ""
+" \\dp [PATTERN] list table, view, and sequence access privileges\n"
+msgstr ""
+
+#: help.c:252
+#, c-format
+msgid " \\drds [PATRN1 [PATRN2]] list per-database role settings\n"
+msgstr ""
+
+#: help.c:253
+#, c-format
+msgid " \\dRp[+] [PATTERN] list replication publications\n"
+msgstr ""
+
+#: help.c:254
+#, c-format
+msgid " \\dRs[+] [PATTERN] list replication subscriptions\n"
+msgstr ""
+
+#: help.c:255
+#, c-format
+msgid " \\ds[S+] [PATTERN] list sequences\n"
+msgstr ""
+
+#: help.c:256
+#, c-format
+msgid " \\dt[S+] [PATTERN] list tables\n"
+msgstr " \\dt[S+] [PATTERN] danh sách các bảng\n"
+
+#: help.c:257
+#, c-format
+msgid " \\dT[S+] [PATTERN] list data types\n"
+msgstr ""
+
+#: help.c:258
+#, c-format
+msgid " \\du[S+] [PATTERN] list roles\n"
+msgstr ""
+
+#: help.c:259
+#, c-format
+msgid " \\dv[S+] [PATTERN] list views\n"
+msgstr " \\dv[S+] [PATTERN] danh sách các view\n"
+
+#: help.c:260
+#, c-format
+msgid " \\dx[+] [PATTERN] list extensions\n"
+msgstr " \\dx[+] [PATTERN] danh sách các extension\n"
+
+#: help.c:261
+#, c-format
+msgid " \\dy [PATTERN] list event triggers\n"
+msgstr ""
+
+#: help.c:262
+#, c-format
+msgid " \\l[+] [PATTERN] list databases\n"
+msgstr " \\l[+] [PATTERN] danh sách database\n"
+
+#: help.c:263
+#, c-format
+msgid " \\sf[+] FUNCNAME show a function's definition\n"
+msgstr ""
+
+#: help.c:264
+#, c-format
+msgid " \\sv[+] VIEWNAME show a view's definition\n"
+msgstr ""
+
+#: help.c:265
+#, c-format
+msgid " \\z [PATTERN] same as \\dp\n"
+msgstr " \\z [PATTERN] tương tự như \\dp\n"
+
+#: help.c:268
+#, c-format
+msgid "Formatting\n"
+msgstr ""
+
+#: help.c:269
+#, c-format
+msgid ""
+" \\a toggle between unaligned and aligned output mode\n"
+msgstr ""
+
+#: help.c:270
+#, c-format
+msgid " \\C [STRING] set table title, or unset if none\n"
+msgstr ""
+
+#: help.c:271
+#, c-format
+msgid ""
+" \\f [STRING] show or set field separator for unaligned query "
+"output\n"
+msgstr ""
+
+#: help.c:272
+#, c-format
+msgid " \\H toggle HTML output mode (currently %s)\n"
+msgstr ""
+
+#: help.c:274
+#, c-format
+msgid ""
+" \\pset [NAME [VALUE]] set table output option\n"
+" (NAME := {border|columns|expanded|fieldsep|"
+"fieldsep_zero|\n"
+" footer|format|linestyle|null|numericlocale|pager|\n"
+" pager_min_lines|recordsep|recordsep_zero|tableattr|"
+"title|\n"
+" tuples_only|unicode_border_linestyle|\n"
+" unicode_column_linestyle|"
+"unicode_header_linestyle})\n"
+msgstr ""
+" \\pset [TÊN [GIÁ TRỊ]] Thiết lập các lựa chọn đầu ra cho bảng\n"
+" (TÊN := {border|columns|expanded|fieldsep|"
+"fieldsep_zero|\n"
+" footer|format|linestyle|null|numericlocale|pager|\n"
+" pager_min_lines|recordsep|recordsep_zero|tableattr|"
+"title|\n"
+" tuples_only|unicode_border_linestyle|\n"
+" unicode_column_linestyle|"
+"unicode_header_linestyle})\n"
+
+#: help.c:280
+#, c-format
+msgid " \\t [on|off] show only rows (currently %s)\n"
+msgstr " \\t [on|off] chỉ hiển thị số dòng (hiện tại %s)\n"
+
+#: help.c:282
+#, c-format
+msgid ""
+" \\T [STRING] set HTML <table> tag attributes, or unset if none\n"
+msgstr ""
+
+#: help.c:283
+#, c-format
+msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n"
+msgstr ""
+
+#: help.c:287
+#, c-format
+msgid "Connection\n"
+msgstr "Kết nối\n"
+
+#: help.c:289
+#, c-format
+msgid ""
+" \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
+" connect to new database (currently \"%s\")\n"
+msgstr ""
+" \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
+" kết nối đến cơ sở dữ liệu mới (hiện tại \"%s\")\n"
+
+#: help.c:293
+#, c-format
+msgid ""
+" \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
+" connect to new database (currently no connection)\n"
+msgstr ""
+" \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
+" kết nối đến cơ sở dữ liệu mới (hiện tại đang không "
+"kết nối)\n"
+
+#: help.c:295
+#, c-format
+msgid ""
+" \\conninfo display information about current connection\n"
+msgstr " \\conninfo hiển thị thông tin về kết nối hiện tại\n"
+
+#: help.c:296
+#, c-format
+msgid " \\encoding [ENCODING] show or set client encoding\n"
+msgstr ""
+
+#: help.c:297
+#, c-format
+msgid " \\password [USERNAME] securely change the password for a user\n"
+msgstr " \\password [USERNAME] đổi mật khẩu cho một người dùng\n"
+
+#: help.c:300
+#, c-format
+msgid "Operating System\n"
+msgstr ""
+
+#: help.c:301
+#, c-format
+msgid " \\cd [DIR] change the current working directory\n"
+msgstr " \\cd [DIR] chuyển đến thư mục làm việc\n"
+
+#: help.c:302
+#, c-format
+msgid " \\setenv NAME [VALUE] set or unset environment variable\n"
+msgstr ""
+" \\setenv TÊN [GIÁ TRỊ] thiết lập hoặc loại bỏ giá trị của biến môi "
+"trường\n"
+
+#: help.c:303
+#, c-format
+msgid " \\timing [on|off] toggle timing of commands (currently %s)\n"
+msgstr ""
+
+#: help.c:305
+#, c-format
+msgid ""
+" \\! [COMMAND] execute command in shell or start interactive "
+"shell\n"
+msgstr ""
+
+#: help.c:308
+#, c-format
+msgid "Variables\n"
+msgstr "Các biến\n"
+
+#: help.c:309
+#, c-format
+msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n"
+msgstr ""
+
+#: help.c:310
+#, c-format
+msgid ""
+" \\set [NAME [VALUE]] set internal variable, or list all if no "
+"parameters\n"
+msgstr ""
+
+#: help.c:311
+#, c-format
+msgid " \\unset NAME unset (delete) internal variable\n"
+msgstr " \\unset TÊN Loại bỏ thiết lập (xóa) biến nội bộ\n"
+
+#: help.c:314
+#, c-format
+msgid "Large Objects\n"
+msgstr "Các đối tượng lớn (Large Object)\n"
+
+#: help.c:315
+#, c-format
+msgid ""
+" \\lo_export LOBOID FILE\n"
+" \\lo_import FILE [COMMENT]\n"
+" \\lo_list\n"
+" \\lo_unlink LOBOID large object operations\n"
+msgstr ""
+
+#: help.c:342
+#, c-format
+msgid ""
+"List of specially treated variables\n"
+"\n"
+msgstr ""
+
+#: help.c:344
+#, c-format
+msgid "psql variables:\n"
+msgstr "các biến psql:\n"
+
+#: help.c:346
+#, c-format
+msgid ""
+" psql --set=NAME=VALUE\n"
+" or \\set NAME VALUE inside psql\n"
+"\n"
+msgstr ""
+
+#: help.c:348
+#, c-format
+msgid ""
+" AUTOCOMMIT\n"
+" if set, successful SQL commands are automatically committed\n"
+msgstr ""
+
+#: help.c:350
+#, c-format
+msgid ""
+" COMP_KEYWORD_CASE\n"
+" determines the case used to complete SQL key words\n"
+" [lower, upper, preserve-lower, preserve-upper]\n"
+msgstr ""
+
+#: help.c:353
+#, c-format
+msgid ""
+" DBNAME\n"
+" the currently connected database name\n"
+msgstr ""
+
+#: help.c:355
+#, c-format
+msgid ""
+" ECHO\n"
+" controls what input is written to standard output\n"
+" [all, errors, none, queries]\n"
+msgstr ""
+
+#: help.c:358
+#, c-format
+msgid ""
+" ECHO_HIDDEN\n"
+" if set, display internal queries executed by backslash commands;\n"
+" if set to \"noexec\", just show them without execution\n"
+msgstr ""
+
+#: help.c:361
+#, c-format
+msgid ""
+" ENCODING\n"
+" current client character set encoding\n"
+msgstr ""
+
+#: help.c:363
+#, c-format
+msgid ""
+" ERROR\n"
+" true if last query failed, else false\n"
+msgstr ""
+
+#: help.c:365
+#, c-format
+msgid ""
+" FETCH_COUNT\n"
+" the number of result rows to fetch and display at a time (0 = "
+"unlimited)\n"
+msgstr ""
+
+#: help.c:367
+#, c-format
+msgid ""
+" HISTCONTROL\n"
+" controls command history [ignorespace, ignoredups, ignoreboth]\n"
+msgstr ""
+
+#: help.c:369
+#, c-format
+msgid ""
+" HISTFILE\n"
+" file name used to store the command history\n"
+msgstr ""
+
+#: help.c:371
+#, c-format
+msgid ""
+" HISTSIZE\n"
+" max number of commands to store in the command history\n"
+msgstr ""
+
+#: help.c:373
+#, c-format
+msgid ""
+" HOST\n"
+" the currently connected database server host\n"
+msgstr ""
+
+#: help.c:375
+#, c-format
+msgid ""
+" IGNOREEOF\n"
+" number of EOFs needed to terminate an interactive session\n"
+msgstr ""
+
+#: help.c:377
+#, c-format
+msgid ""
+" LASTOID\n"
+" value of the last affected OID\n"
+msgstr ""
+
+#: help.c:379
+#, c-format
+msgid ""
+" LAST_ERROR_MESSAGE\n"
+" LAST_ERROR_SQLSTATE\n"
+" message and SQLSTATE of last error, or empty string and \"00000\" if "
+"none\n"
+msgstr ""
+
+#: help.c:382
+#, c-format
+msgid ""
+" ON_ERROR_ROLLBACK\n"
+" if set, an error doesn't stop a transaction (uses implicit savepoints)\n"
+msgstr ""
+
+#: help.c:384
+#, c-format
+msgid ""
+" ON_ERROR_STOP\n"
+" stop batch execution after error\n"
+msgstr ""
+
+#: help.c:386
+#, c-format
+msgid ""
+" PORT\n"
+" server port of the current connection\n"
+msgstr ""
+
+#: help.c:388
+#, c-format
+msgid ""
+" PROMPT1\n"
+" specifies the standard psql prompt\n"
+msgstr ""
+
+#: help.c:390
+#, c-format
+msgid ""
+" PROMPT2\n"
+" specifies the prompt used when a statement continues from a previous "
+"line\n"
+msgstr ""
+
+#: help.c:392
+#, c-format
+msgid ""
+" PROMPT3\n"
+" specifies the prompt used during COPY ... FROM STDIN\n"
+msgstr ""
+
+#: help.c:394
+#, c-format
+msgid ""
+" QUIET\n"
+" run quietly (same as -q option)\n"
+msgstr ""
+" QUIET\n"
+" không hiển thị tin nhắn (giống với tùy chọn -q)\n"
+
+#: help.c:396
+#, c-format
+msgid ""
+" ROW_COUNT\n"
+" number of rows returned or affected by last query, or 0\n"
+msgstr ""
+
+#: help.c:398
+#, c-format
+msgid ""
+" SERVER_VERSION_NAME\n"
+" SERVER_VERSION_NUM\n"
+" server's version (in short string or numeric format)\n"
+msgstr ""
+
+#: help.c:401
+#, c-format
+msgid ""
+" SHOW_CONTEXT\n"
+" controls display of message context fields [never, errors, always]\n"
+msgstr ""
+
+#: help.c:403
+#, c-format
+msgid ""
+" SINGLELINE\n"
+" if set, end of line terminates SQL commands (same as -S option)\n"
+msgstr ""
+
+#: help.c:405
+#, c-format
+msgid ""
+" SINGLESTEP\n"
+" single-step mode (same as -s option)\n"
+msgstr ""
+
+#: help.c:407
+#, c-format
+msgid ""
+" SQLSTATE\n"
+" SQLSTATE of last query, or \"00000\" if no error\n"
+msgstr ""
+
+#: help.c:409
+#, c-format
+msgid ""
+" USER\n"
+" the currently connected database user\n"
+msgstr ""
+
+#: help.c:411
+#, c-format
+msgid ""
+" VERBOSITY\n"
+" controls verbosity of error reports [default, verbose, terse]\n"
+msgstr ""
+
+#: help.c:413
+#, c-format
+msgid ""
+" VERSION\n"
+" VERSION_NAME\n"
+" VERSION_NUM\n"
+" psql's version (in verbose string, short string, or numeric format)\n"
+msgstr ""
+
+#: help.c:418
+#, c-format
+msgid ""
+"\n"
+"Display settings:\n"
+msgstr ""
+"\n"
+"Các thiết lập cho hiển thị:\n"
+
+#: help.c:420
+#, c-format
+msgid ""
+" psql --pset=NAME[=VALUE]\n"
+" or \\pset NAME [VALUE] inside psql\n"
+"\n"
+msgstr ""
+
+#: help.c:422
+#, c-format
+msgid ""
+" border\n"
+" border style (number)\n"
+msgstr ""
+
+#: help.c:424
+#, c-format
+msgid ""
+" columns\n"
+" target width for the wrapped format\n"
+msgstr ""
+
+#: help.c:426
+#, c-format
+msgid ""
+" expanded (or x)\n"
+" expanded output [on, off, auto]\n"
+msgstr ""
+
+#: help.c:428
+#, c-format
+msgid ""
+" fieldsep\n"
+" field separator for unaligned output (default \"%s\")\n"
+msgstr ""
+
+#: help.c:431
+#, c-format
+msgid ""
+" fieldsep_zero\n"
+" set field separator for unaligned output to a zero byte\n"
+msgstr ""
+
+#: help.c:433
+#, c-format
+msgid ""
+" footer\n"
+" enable or disable display of the table footer [on, off]\n"
+msgstr ""
+
+#: help.c:435
+#, c-format
+msgid ""
+" format\n"
+" set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
+msgstr ""
+
+#: help.c:437
+#, c-format
+msgid ""
+" linestyle\n"
+" set the border line drawing style [ascii, old-ascii, unicode]\n"
+msgstr ""
+
+#: help.c:439
+#, c-format
+msgid ""
+" null\n"
+" set the string to be printed in place of a null value\n"
+msgstr ""
+
+#: help.c:441
+#, c-format
+msgid ""
+" numericlocale\n"
+" enable display of a locale-specific character to separate groups of "
+"digits\n"
+msgstr ""
+
+#: help.c:443
+#, c-format
+msgid ""
+" pager\n"
+" control when an external pager is used [yes, no, always]\n"
+msgstr ""
+
+#: help.c:445
+#, c-format
+msgid ""
+" recordsep\n"
+" record (line) separator for unaligned output\n"
+msgstr ""
+
+#: help.c:447
+#, c-format
+msgid ""
+" recordsep_zero\n"
+" set record separator for unaligned output to a zero byte\n"
+msgstr ""
+
+#: help.c:449
+#, c-format
+msgid ""
+" tableattr (or T)\n"
+" specify attributes for table tag in html format, or proportional\n"
+" column widths for left-aligned data types in latex-longtable format\n"
+msgstr ""
+
+#: help.c:452
+#, c-format
+msgid ""
+" title\n"
+" set the table title for subsequently printed tables\n"
+msgstr ""
+
+#: help.c:454
+#, c-format
+msgid ""
+" tuples_only\n"
+" if set, only actual table data is shown\n"
+msgstr ""
+
+#: help.c:456
+#, c-format
+msgid ""
+" unicode_border_linestyle\n"
+" unicode_column_linestyle\n"
+" unicode_header_linestyle\n"
+" set the style of Unicode line drawing [single, double]\n"
+msgstr ""
+
+#: help.c:461
+#, c-format
+msgid ""
+"\n"
+"Environment variables:\n"
+msgstr ""
+"\n"
+"Các biến môi trường:\n"
+
+#: help.c:465
+#, c-format
+msgid ""
+" NAME=VALUE [NAME=VALUE] psql ...\n"
+" or \\setenv NAME [VALUE] inside psql\n"
+"\n"
+msgstr ""
+
+#: help.c:467
+#, c-format
+msgid ""
+" set NAME=VALUE\n"
+" psql ...\n"
+" or \\setenv NAME [VALUE] inside psql\n"
+"\n"
+msgstr ""
+
+#: help.c:470
+#, c-format
+msgid ""
+" COLUMNS\n"
+" number of columns for wrapped format\n"
+msgstr ""
+
+#: help.c:472
+#, c-format
+msgid ""
+" PGAPPNAME\n"
+" same as the application_name connection parameter\n"
+msgstr ""
+
+#: help.c:474
+#, c-format
+msgid ""
+" PGDATABASE\n"
+" same as the dbname connection parameter\n"
+msgstr ""
+
+#: help.c:476
+#, c-format
+msgid ""
+" PGHOST\n"
+" same as the host connection parameter\n"
+msgstr ""
+
+#: help.c:478
+#, c-format
+msgid ""
+" PGPASSWORD\n"
+" connection password (not recommended)\n"
+msgstr ""
+
+#: help.c:480
+#, c-format
+msgid ""
+" PGPASSFILE\n"
+" password file name\n"
+msgstr ""
+
+#: help.c:482
+#, c-format
+msgid ""
+" PGPORT\n"
+" same as the port connection parameter\n"
+msgstr ""
+
+#: help.c:484
+#, c-format
+msgid ""
+" PGUSER\n"
+" same as the user connection parameter\n"
+msgstr ""
+
+#: help.c:486
+#, c-format
+msgid ""
+" PSQL_EDITOR, EDITOR, VISUAL\n"
+" editor used by the \\e, \\ef, and \\ev commands\n"
+msgstr ""
+
+#: help.c:488
+#, c-format
+msgid ""
+" PSQL_EDITOR_LINENUMBER_ARG\n"
+" how to specify a line number when invoking the editor\n"
+msgstr ""
+
+#: help.c:490
+#, c-format
+msgid ""
+" PSQL_HISTORY\n"
+" alternative location for the command history file\n"
+msgstr ""
+
+#: help.c:492
+#, c-format
+msgid ""
+" PSQL_PAGER, PAGER\n"
+" name of external pager program\n"
+msgstr ""
+
+#: help.c:494
+#, c-format
+msgid ""
+" PSQLRC\n"
+" alternative location for the user's .psqlrc file\n"
+msgstr ""
+
+#: help.c:496
+#, c-format
+msgid ""
+" SHELL\n"
+" shell used by the \\! command\n"
+msgstr ""
+
+#: help.c:498
+#, c-format
+msgid ""
+" TMPDIR\n"
+" directory for temporary files\n"
+msgstr ""
+" TMPDIR\n"
+" thư mục cho các tệp tạm thời\n"
+
+#: help.c:542
+msgid "Available help:\n"
+msgstr "Các trợ giúp sẵn có:\n"
+
+#: help.c:626
+#, c-format
+msgid ""
+"Command: %s\n"
+"Description: %s\n"
+"Syntax:\n"
+"%s\n"
+"\n"
+msgstr ""
+"Lệnh: %s\n"
+"Mô tả: %s\n"
+"Cú pháp:\n"
+"%s\n"
+"\n"
+
+#: help.c:642
+#, c-format
+msgid ""
+"No help available for \"%s\".\n"
+"Try \\h with no arguments to see available help.\n"
+msgstr ""
+
+#: input.c:216
+#, c-format
+msgid "could not read from input file: %s\n"
+msgstr ""
+
+#: input.c:471 input.c:510
+#, c-format
+msgid "could not save history to file \"%s\": %s\n"
+msgstr "không mở được file nhật kí \"%s\": %s\n"
+
+#: input.c:530
+#, c-format
+msgid "history is not supported by this installation\n"
+msgstr ""
+
+#: large_obj.c:64
+#, c-format
+msgid "%s: not connected to a database\n"
+msgstr "%s: không được kết nối đến một cơ sở dữl liệu\n"
+
+#: large_obj.c:83
+#, c-format
+msgid "%s: current transaction is aborted\n"
+msgstr "%s: transaction hiện tại đã bị hủy\n"
+
+#: large_obj.c:86
+#, c-format
+msgid "%s: unknown transaction status\n"
+msgstr ""
+
+#: large_obj.c:287 large_obj.c:298
+msgid "ID"
+msgstr "ID"
+
+#: large_obj.c:308
+msgid "Large objects"
+msgstr "Đối tượng lớn (Large object)"
+
+#: mainloop.c:136
+#, c-format
+msgid "\\if: escaped\n"
+msgstr ""
+
+#: mainloop.c:183
+#, c-format
+msgid "Use \"\\q\" to leave %s.\n"
+msgstr ""
+
+#: mainloop.c:205
+msgid ""
+"The input is a PostgreSQL custom-format dump.\n"
+"Use the pg_restore command-line client to restore this dump to a database.\n"
+msgstr ""
+
+#: mainloop.c:283
+msgid "Use \\? for help or press control-C to clear the input buffer."
+msgstr ""
+
+#: mainloop.c:285
+msgid "Use \\? for help."
+msgstr "Gõ \\? để được giúp đỡ."
+
+#: mainloop.c:289
+msgid "You are using psql, the command-line interface to PostgreSQL."
+msgstr ""
+
+#: mainloop.c:290
+#, c-format
+msgid ""
+"Type: \\copyright for distribution terms\n"
+" \\h for help with SQL commands\n"
+" \\? for help with psql commands\n"
+" \\g or terminate with semicolon to execute query\n"
+" \\q to quit\n"
+msgstr ""
+
+#: mainloop.c:314
+msgid "Use \\q to quit."
+msgstr "Sử dụng \\q để thoát."
+
+#: mainloop.c:317 mainloop.c:342
+msgid "Use control-D to quit."
+msgstr ""
+
+#: mainloop.c:319 mainloop.c:344
+msgid "Use control-C to quit."
+msgstr ""
+
+#: mainloop.c:451 mainloop.c:593
+#, c-format
+msgid "query ignored; use \\endif or Ctrl-C to exit current \\if block\n"
+msgstr ""
+
+#: mainloop.c:611
+#, c-format
+msgid "reached EOF without finding closing \\endif(s)\n"
+msgstr ""
+
+#: psqlscanslash.l:637
+#, c-format
+msgid "unterminated quoted string\n"
+msgstr ""
+
+#: psqlscanslash.l:810
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: hết bộ nhớ\n"
+
+#: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66
+#: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85
+#: sql_help.c:111 sql_help.c:117 sql_help.c:119 sql_help.c:121 sql_help.c:123
+#: sql_help.c:126 sql_help.c:128 sql_help.c:130 sql_help.c:235 sql_help.c:237
+#: sql_help.c:238 sql_help.c:240 sql_help.c:242 sql_help.c:245 sql_help.c:247
+#: sql_help.c:249 sql_help.c:251 sql_help.c:263 sql_help.c:264 sql_help.c:265
+#: sql_help.c:267 sql_help.c:316 sql_help.c:318 sql_help.c:320 sql_help.c:322
+#: sql_help.c:391 sql_help.c:396 sql_help.c:398 sql_help.c:441 sql_help.c:443
+#: sql_help.c:446 sql_help.c:448 sql_help.c:515 sql_help.c:520 sql_help.c:525
+#: sql_help.c:530 sql_help.c:535 sql_help.c:587 sql_help.c:589 sql_help.c:591
+#: sql_help.c:593 sql_help.c:595 sql_help.c:598 sql_help.c:600 sql_help.c:603
+#: sql_help.c:614 sql_help.c:616 sql_help.c:657 sql_help.c:659 sql_help.c:661
+#: sql_help.c:664 sql_help.c:666 sql_help.c:668 sql_help.c:701 sql_help.c:705
+#: sql_help.c:709 sql_help.c:728 sql_help.c:731 sql_help.c:734 sql_help.c:763
+#: sql_help.c:775 sql_help.c:783 sql_help.c:786 sql_help.c:789 sql_help.c:804
+#: sql_help.c:807 sql_help.c:836 sql_help.c:841 sql_help.c:846 sql_help.c:851
+#: sql_help.c:856 sql_help.c:878 sql_help.c:880 sql_help.c:882 sql_help.c:884
+#: sql_help.c:887 sql_help.c:889 sql_help.c:930 sql_help.c:974 sql_help.c:979
+#: sql_help.c:984 sql_help.c:989 sql_help.c:994 sql_help.c:1013 sql_help.c:1024
+#: sql_help.c:1026 sql_help.c:1045 sql_help.c:1055 sql_help.c:1057
+#: sql_help.c:1059 sql_help.c:1071 sql_help.c:1075 sql_help.c:1077
+#: sql_help.c:1088 sql_help.c:1090 sql_help.c:1092 sql_help.c:1108
+#: sql_help.c:1110 sql_help.c:1114 sql_help.c:1117 sql_help.c:1118
+#: sql_help.c:1119 sql_help.c:1122 sql_help.c:1124 sql_help.c:1257
+#: sql_help.c:1259 sql_help.c:1262 sql_help.c:1265 sql_help.c:1267
+#: sql_help.c:1269 sql_help.c:1272 sql_help.c:1275 sql_help.c:1387
+#: sql_help.c:1389 sql_help.c:1391 sql_help.c:1394 sql_help.c:1415
+#: sql_help.c:1418 sql_help.c:1421 sql_help.c:1424 sql_help.c:1428
+#: sql_help.c:1430 sql_help.c:1432 sql_help.c:1434 sql_help.c:1448
+#: sql_help.c:1451 sql_help.c:1453 sql_help.c:1455 sql_help.c:1465
+#: sql_help.c:1467 sql_help.c:1477 sql_help.c:1479 sql_help.c:1489
+#: sql_help.c:1492 sql_help.c:1514 sql_help.c:1516 sql_help.c:1518
+#: sql_help.c:1521 sql_help.c:1523 sql_help.c:1525 sql_help.c:1528
+#: sql_help.c:1578 sql_help.c:1620 sql_help.c:1623 sql_help.c:1625
+#: sql_help.c:1627 sql_help.c:1629 sql_help.c:1631 sql_help.c:1634
+#: sql_help.c:1681 sql_help.c:1697 sql_help.c:1918 sql_help.c:1987
+#: sql_help.c:2006 sql_help.c:2019 sql_help.c:2075 sql_help.c:2081
+#: sql_help.c:2091 sql_help.c:2111 sql_help.c:2136 sql_help.c:2154
+#: sql_help.c:2183 sql_help.c:2275 sql_help.c:2316 sql_help.c:2339
+#: sql_help.c:2360 sql_help.c:2361 sql_help.c:2396 sql_help.c:2416
+#: sql_help.c:2438 sql_help.c:2452 sql_help.c:2472 sql_help.c:2495
+#: sql_help.c:2525 sql_help.c:2550 sql_help.c:2596 sql_help.c:2867
+#: sql_help.c:2880 sql_help.c:2897 sql_help.c:2913 sql_help.c:2953
+#: sql_help.c:3005 sql_help.c:3009 sql_help.c:3011 sql_help.c:3017
+#: sql_help.c:3035 sql_help.c:3062 sql_help.c:3097 sql_help.c:3109
+#: sql_help.c:3118 sql_help.c:3162 sql_help.c:3176 sql_help.c:3204
+#: sql_help.c:3212 sql_help.c:3220 sql_help.c:3228 sql_help.c:3236
+#: sql_help.c:3244 sql_help.c:3252 sql_help.c:3260 sql_help.c:3269
+#: sql_help.c:3280 sql_help.c:3288 sql_help.c:3296 sql_help.c:3304
+#: sql_help.c:3312 sql_help.c:3322 sql_help.c:3331 sql_help.c:3340
+#: sql_help.c:3348 sql_help.c:3358 sql_help.c:3369 sql_help.c:3377
+#: sql_help.c:3386 sql_help.c:3397 sql_help.c:3406 sql_help.c:3414
+#: sql_help.c:3422 sql_help.c:3430 sql_help.c:3438 sql_help.c:3446
+#: sql_help.c:3454 sql_help.c:3462 sql_help.c:3470 sql_help.c:3478
+#: sql_help.c:3486 sql_help.c:3503 sql_help.c:3512 sql_help.c:3520
+#: sql_help.c:3537 sql_help.c:3552 sql_help.c:3820 sql_help.c:3871
+#: sql_help.c:3900 sql_help.c:3908 sql_help.c:4341 sql_help.c:4389
+#: sql_help.c:4530
+msgid "name"
+msgstr "tên"
+
+#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:327 sql_help.c:1768
+#: sql_help.c:3177 sql_help.c:4127
+msgid "aggregate_signature"
+msgstr "aggregate_signature"
+
+#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:250
+#: sql_help.c:268 sql_help.c:399 sql_help.c:447 sql_help.c:524 sql_help.c:570
+#: sql_help.c:588 sql_help.c:615 sql_help.c:665 sql_help.c:730 sql_help.c:785
+#: sql_help.c:806 sql_help.c:845 sql_help.c:890 sql_help.c:931 sql_help.c:983
+#: sql_help.c:1015 sql_help.c:1025 sql_help.c:1058 sql_help.c:1078
+#: sql_help.c:1091 sql_help.c:1125 sql_help.c:1266 sql_help.c:1388
+#: sql_help.c:1431 sql_help.c:1452 sql_help.c:1466 sql_help.c:1478
+#: sql_help.c:1491 sql_help.c:1522 sql_help.c:1579 sql_help.c:1628
+msgid "new_name"
+msgstr "new_name"
+
+#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:120 sql_help.c:248
+#: sql_help.c:266 sql_help.c:397 sql_help.c:483 sql_help.c:529 sql_help.c:617
+#: sql_help.c:626 sql_help.c:684 sql_help.c:704 sql_help.c:733 sql_help.c:788
+#: sql_help.c:850 sql_help.c:888 sql_help.c:988 sql_help.c:1027 sql_help.c:1056
+#: sql_help.c:1076 sql_help.c:1089 sql_help.c:1123 sql_help.c:1326
+#: sql_help.c:1390 sql_help.c:1433 sql_help.c:1454 sql_help.c:1517
+#: sql_help.c:1626 sql_help.c:2853
+msgid "new_owner"
+msgstr "new_owner"
+
+#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:252 sql_help.c:319
+#: sql_help.c:449 sql_help.c:534 sql_help.c:667 sql_help.c:708 sql_help.c:736
+#: sql_help.c:791 sql_help.c:855 sql_help.c:993 sql_help.c:1060 sql_help.c:1093
+#: sql_help.c:1268 sql_help.c:1435 sql_help.c:1456 sql_help.c:1468
+#: sql_help.c:1480 sql_help.c:1524 sql_help.c:1630
+msgid "new_schema"
+msgstr "new_schema"
+
+#: sql_help.c:44 sql_help.c:1832 sql_help.c:3178 sql_help.c:4156
+msgid "where aggregate_signature is:"
+msgstr "aggregate_signature có thể là:"
+
+#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:337 sql_help.c:350
+#: sql_help.c:354 sql_help.c:370 sql_help.c:373 sql_help.c:376 sql_help.c:516
+#: sql_help.c:521 sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:837
+#: sql_help.c:842 sql_help.c:847 sql_help.c:852 sql_help.c:857 sql_help.c:975
+#: sql_help.c:980 sql_help.c:985 sql_help.c:990 sql_help.c:995 sql_help.c:1786
+#: sql_help.c:1803 sql_help.c:1809 sql_help.c:1833 sql_help.c:1836
+#: sql_help.c:1839 sql_help.c:1988 sql_help.c:2007 sql_help.c:2010
+#: sql_help.c:2276 sql_help.c:2473 sql_help.c:3179 sql_help.c:3182
+#: sql_help.c:3185 sql_help.c:3270 sql_help.c:3359 sql_help.c:3387
+#: sql_help.c:3705 sql_help.c:4038 sql_help.c:4133 sql_help.c:4140
+#: sql_help.c:4146 sql_help.c:4157 sql_help.c:4160 sql_help.c:4163
+msgid "argmode"
+msgstr "argmode"
+
+#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:338 sql_help.c:351
+#: sql_help.c:355 sql_help.c:371 sql_help.c:374 sql_help.c:377 sql_help.c:517
+#: sql_help.c:522 sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:838
+#: sql_help.c:843 sql_help.c:848 sql_help.c:853 sql_help.c:858 sql_help.c:976
+#: sql_help.c:981 sql_help.c:986 sql_help.c:991 sql_help.c:996 sql_help.c:1787
+#: sql_help.c:1804 sql_help.c:1810 sql_help.c:1834 sql_help.c:1837
+#: sql_help.c:1840 sql_help.c:1989 sql_help.c:2008 sql_help.c:2011
+#: sql_help.c:2277 sql_help.c:2474 sql_help.c:3180 sql_help.c:3183
+#: sql_help.c:3186 sql_help.c:3271 sql_help.c:3360 sql_help.c:3388
+#: sql_help.c:4134 sql_help.c:4141 sql_help.c:4147 sql_help.c:4158
+#: sql_help.c:4161 sql_help.c:4164
+msgid "argname"
+msgstr "argname"
+
+#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:339 sql_help.c:352
+#: sql_help.c:356 sql_help.c:372 sql_help.c:375 sql_help.c:378 sql_help.c:518
+#: sql_help.c:523 sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:839
+#: sql_help.c:844 sql_help.c:849 sql_help.c:854 sql_help.c:859 sql_help.c:977
+#: sql_help.c:982 sql_help.c:987 sql_help.c:992 sql_help.c:997 sql_help.c:1788
+#: sql_help.c:1805 sql_help.c:1811 sql_help.c:1835 sql_help.c:1838
+#: sql_help.c:1841 sql_help.c:2278 sql_help.c:2475 sql_help.c:3181
+#: sql_help.c:3184 sql_help.c:3187 sql_help.c:3272 sql_help.c:3361
+#: sql_help.c:3389 sql_help.c:4135 sql_help.c:4142 sql_help.c:4148
+#: sql_help.c:4159 sql_help.c:4162 sql_help.c:4165
+msgid "argtype"
+msgstr "argtype"
+
+#: sql_help.c:112 sql_help.c:394 sql_help.c:472 sql_help.c:484 sql_help.c:925
+#: sql_help.c:1073 sql_help.c:1449 sql_help.c:1573 sql_help.c:1605
+#: sql_help.c:1652 sql_help.c:1889 sql_help.c:1895 sql_help.c:2186
+#: sql_help.c:2227 sql_help.c:2234 sql_help.c:2243 sql_help.c:2317
+#: sql_help.c:2526 sql_help.c:2618 sql_help.c:2882 sql_help.c:3063
+#: sql_help.c:3085 sql_help.c:3572 sql_help.c:3739 sql_help.c:4588
+msgid "option"
+msgstr "lựa chọn"
+
+#: sql_help.c:113 sql_help.c:926 sql_help.c:1574 sql_help.c:2318
+#: sql_help.c:2527 sql_help.c:3064
+msgid "where option can be:"
+msgstr "role_specification có thể là:"
+
+#: sql_help.c:114 sql_help.c:2118
+msgid "allowconn"
+msgstr "allowconn"
+
+#: sql_help.c:115 sql_help.c:927 sql_help.c:1575 sql_help.c:2119
+#: sql_help.c:2528 sql_help.c:3065
+msgid "connlimit"
+msgstr "connlimit"
+
+#: sql_help.c:116 sql_help.c:2120
+msgid "istemplate"
+msgstr "istemplate"
+
+#: sql_help.c:122 sql_help.c:605 sql_help.c:670 sql_help.c:1271 sql_help.c:1319
+msgid "new_tablespace"
+msgstr "new_tablespace"
+
+#: sql_help.c:124 sql_help.c:127 sql_help.c:129 sql_help.c:543 sql_help.c:545
+#: sql_help.c:546 sql_help.c:862 sql_help.c:864 sql_help.c:865 sql_help.c:934
+#: sql_help.c:938 sql_help.c:941 sql_help.c:1002 sql_help.c:1004
+#: sql_help.c:1005 sql_help.c:1136 sql_help.c:1139 sql_help.c:1582
+#: sql_help.c:1586 sql_help.c:1589 sql_help.c:2287 sql_help.c:2479
+#: sql_help.c:3925 sql_help.c:4330
+msgid "configuration_parameter"
+msgstr "configuration_parameter"
+
+#: sql_help.c:125 sql_help.c:395 sql_help.c:467 sql_help.c:473 sql_help.c:485
+#: sql_help.c:544 sql_help.c:597 sql_help.c:676 sql_help.c:682 sql_help.c:863
+#: sql_help.c:886 sql_help.c:935 sql_help.c:1003 sql_help.c:1074
+#: sql_help.c:1113 sql_help.c:1116 sql_help.c:1121 sql_help.c:1137
+#: sql_help.c:1138 sql_help.c:1301 sql_help.c:1321 sql_help.c:1371
+#: sql_help.c:1393 sql_help.c:1450 sql_help.c:1583 sql_help.c:1606
+#: sql_help.c:2187 sql_help.c:2228 sql_help.c:2235 sql_help.c:2244
+#: sql_help.c:2288 sql_help.c:2289 sql_help.c:2348 sql_help.c:2380
+#: sql_help.c:2480 sql_help.c:2481 sql_help.c:2498 sql_help.c:2619
+#: sql_help.c:2649 sql_help.c:2749 sql_help.c:2761 sql_help.c:2774
+#: sql_help.c:2817 sql_help.c:2839 sql_help.c:2856 sql_help.c:2883
+#: sql_help.c:3086 sql_help.c:3740 sql_help.c:4331 sql_help.c:4332
+msgid "value"
+msgstr "giá trị"
+
+#: sql_help.c:197
+msgid "target_role"
+msgstr "target_role"
+
+#: sql_help.c:198 sql_help.c:2170 sql_help.c:2574 sql_help.c:2579
+#: sql_help.c:3687 sql_help.c:3694 sql_help.c:3708 sql_help.c:3714
+#: sql_help.c:4020 sql_help.c:4027 sql_help.c:4041 sql_help.c:4047
+msgid "schema_name"
+msgstr "schema_name"
+
+#: sql_help.c:199
+msgid "abbreviated_grant_or_revoke"
+msgstr "abbreviated_grant_or_revoke"
+
+#: sql_help.c:200
+msgid "where abbreviated_grant_or_revoke is one of:"
+msgstr "mà abbreviated_grant_or_revoke là một trong:"
+
+#: sql_help.c:201 sql_help.c:202 sql_help.c:203 sql_help.c:204 sql_help.c:205
+#: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210
+#: sql_help.c:568 sql_help.c:604 sql_help.c:669 sql_help.c:809 sql_help.c:945
+#: sql_help.c:1270 sql_help.c:1593 sql_help.c:2321 sql_help.c:2322
+#: sql_help.c:2323 sql_help.c:2324 sql_help.c:2325 sql_help.c:2454
+#: sql_help.c:2531 sql_help.c:2532 sql_help.c:2533 sql_help.c:2534
+#: sql_help.c:2535 sql_help.c:3068 sql_help.c:3069 sql_help.c:3070
+#: sql_help.c:3071 sql_help.c:3072 sql_help.c:3721 sql_help.c:3722
+#: sql_help.c:3723 sql_help.c:4021 sql_help.c:4025 sql_help.c:4028
+#: sql_help.c:4030 sql_help.c:4032 sql_help.c:4034 sql_help.c:4036
+#: sql_help.c:4042 sql_help.c:4044 sql_help.c:4046 sql_help.c:4048
+#: sql_help.c:4050 sql_help.c:4052 sql_help.c:4053 sql_help.c:4054
+#: sql_help.c:4351
+msgid "role_name"
+msgstr "role_name"
+
+#: sql_help.c:236 sql_help.c:460 sql_help.c:1286 sql_help.c:1288
+#: sql_help.c:1339 sql_help.c:1350 sql_help.c:1375 sql_help.c:1622
+#: sql_help.c:2139 sql_help.c:2143 sql_help.c:2247 sql_help.c:2251
+#: sql_help.c:2343 sql_help.c:2745 sql_help.c:2757 sql_help.c:2770
+#: sql_help.c:2778 sql_help.c:2789 sql_help.c:2821 sql_help.c:3771
+#: sql_help.c:3786 sql_help.c:3788 sql_help.c:4216 sql_help.c:4217
+#: sql_help.c:4226 sql_help.c:4267 sql_help.c:4268 sql_help.c:4269
+#: sql_help.c:4270 sql_help.c:4271 sql_help.c:4272 sql_help.c:4305
+#: sql_help.c:4306 sql_help.c:4311 sql_help.c:4316 sql_help.c:4455
+#: sql_help.c:4456 sql_help.c:4465 sql_help.c:4506 sql_help.c:4507
+#: sql_help.c:4508 sql_help.c:4509 sql_help.c:4510 sql_help.c:4511
+#: sql_help.c:4558 sql_help.c:4560 sql_help.c:4606 sql_help.c:4662
+#: sql_help.c:4663 sql_help.c:4672 sql_help.c:4713 sql_help.c:4714
+#: sql_help.c:4715 sql_help.c:4716 sql_help.c:4717 sql_help.c:4718
+msgid "expression"
+msgstr "expression"
+
+#: sql_help.c:239
+msgid "domain_constraint"
+msgstr "domain_constraint"
+
+#: sql_help.c:241 sql_help.c:243 sql_help.c:246 sql_help.c:475 sql_help.c:476
+#: sql_help.c:1263 sql_help.c:1307 sql_help.c:1308 sql_help.c:1309
+#: sql_help.c:1338 sql_help.c:1349 sql_help.c:1366 sql_help.c:1774
+#: sql_help.c:1776 sql_help.c:2142 sql_help.c:2246 sql_help.c:2250
+#: sql_help.c:2777 sql_help.c:2788 sql_help.c:3783
+msgid "constraint_name"
+msgstr "constraint_name"
+
+#: sql_help.c:244 sql_help.c:1264
+msgid "new_constraint_name"
+msgstr "new_constraint_name"
+
+#: sql_help.c:317 sql_help.c:1072
+msgid "new_version"
+msgstr "new_version"
+
+#: sql_help.c:321 sql_help.c:323
+msgid "member_object"
+msgstr "member_object"
+
+#: sql_help.c:324
+msgid "where member_object is:"
+msgstr "mà member_object là:"
+
+#: sql_help.c:325 sql_help.c:330 sql_help.c:331 sql_help.c:332 sql_help.c:333
+#: sql_help.c:334 sql_help.c:335 sql_help.c:340 sql_help.c:344 sql_help.c:346
+#: sql_help.c:348 sql_help.c:357 sql_help.c:358 sql_help.c:359 sql_help.c:360
+#: sql_help.c:361 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:367
+#: sql_help.c:368 sql_help.c:1766 sql_help.c:1771 sql_help.c:1778
+#: sql_help.c:1779 sql_help.c:1780 sql_help.c:1781 sql_help.c:1782
+#: sql_help.c:1783 sql_help.c:1784 sql_help.c:1789 sql_help.c:1791
+#: sql_help.c:1795 sql_help.c:1797 sql_help.c:1801 sql_help.c:1806
+#: sql_help.c:1807 sql_help.c:1814 sql_help.c:1815 sql_help.c:1816
+#: sql_help.c:1817 sql_help.c:1818 sql_help.c:1819 sql_help.c:1820
+#: sql_help.c:1821 sql_help.c:1822 sql_help.c:1823 sql_help.c:1824
+#: sql_help.c:1829 sql_help.c:1830 sql_help.c:4123 sql_help.c:4128
+#: sql_help.c:4129 sql_help.c:4130 sql_help.c:4131 sql_help.c:4137
+#: sql_help.c:4138 sql_help.c:4143 sql_help.c:4144 sql_help.c:4149
+#: sql_help.c:4150 sql_help.c:4151 sql_help.c:4152 sql_help.c:4153
+#: sql_help.c:4154
+msgid "object_name"
+msgstr "object_name"
+
+#: sql_help.c:326 sql_help.c:1767 sql_help.c:4126
+msgid "aggregate_name"
+msgstr "aggregate_name"
+
+#: sql_help.c:328 sql_help.c:1769 sql_help.c:2053 sql_help.c:2057
+#: sql_help.c:2059 sql_help.c:3195
+msgid "source_type"
+msgstr "source_type"
+
+#: sql_help.c:329 sql_help.c:1770 sql_help.c:2054 sql_help.c:2058
+#: sql_help.c:2060 sql_help.c:3196
+msgid "target_type"
+msgstr "target_type"
+
+#: sql_help.c:336 sql_help.c:773 sql_help.c:1785 sql_help.c:2055
+#: sql_help.c:2094 sql_help.c:2157 sql_help.c:2397 sql_help.c:2428
+#: sql_help.c:2959 sql_help.c:4037 sql_help.c:4132 sql_help.c:4245
+#: sql_help.c:4249 sql_help.c:4253 sql_help.c:4256 sql_help.c:4484
+#: sql_help.c:4488 sql_help.c:4492 sql_help.c:4495 sql_help.c:4691
+#: sql_help.c:4695 sql_help.c:4699 sql_help.c:4702
+msgid "function_name"
+msgstr "function_name"
+
+#: sql_help.c:341 sql_help.c:766 sql_help.c:1792 sql_help.c:2421
+msgid "operator_name"
+msgstr "operator_name"
+
+#: sql_help.c:342 sql_help.c:702 sql_help.c:706 sql_help.c:710 sql_help.c:1793
+#: sql_help.c:2398 sql_help.c:3313
+msgid "left_type"
+msgstr "left_type"
+
+#: sql_help.c:343 sql_help.c:703 sql_help.c:707 sql_help.c:711 sql_help.c:1794
+#: sql_help.c:2399 sql_help.c:3314
+msgid "right_type"
+msgstr "right_type"
+
+#: sql_help.c:345 sql_help.c:347 sql_help.c:729 sql_help.c:732 sql_help.c:735
+#: sql_help.c:764 sql_help.c:776 sql_help.c:784 sql_help.c:787 sql_help.c:790
+#: sql_help.c:1355 sql_help.c:1796 sql_help.c:1798 sql_help.c:2418
+#: sql_help.c:2439 sql_help.c:2794 sql_help.c:3323 sql_help.c:3332
+msgid "index_method"
+msgstr "index_method"
+
+#: sql_help.c:349 sql_help.c:1802 sql_help.c:4139
+msgid "procedure_name"
+msgstr "procedure_name"
+
+#: sql_help.c:353 sql_help.c:1808 sql_help.c:3704 sql_help.c:4145
+msgid "routine_name"
+msgstr "routine_name"
+
+#: sql_help.c:365 sql_help.c:1325 sql_help.c:1825 sql_help.c:2284
+#: sql_help.c:2478 sql_help.c:2752 sql_help.c:2926 sql_help.c:3494
+#: sql_help.c:3718 sql_help.c:4051
+msgid "type_name"
+msgstr "type_name"
+
+#: sql_help.c:366 sql_help.c:1826 sql_help.c:2283 sql_help.c:2477
+#: sql_help.c:2927 sql_help.c:3153 sql_help.c:3495 sql_help.c:3710
+#: sql_help.c:4043
+msgid "lang_name"
+msgstr "lang_name"
+
+#: sql_help.c:369
+msgid "and aggregate_signature is:"
+msgstr "và aggregate_signature là:"
+
+#: sql_help.c:392 sql_help.c:1920 sql_help.c:2184
+msgid "handler_function"
+msgstr "handler_function"
+
+#: sql_help.c:393 sql_help.c:2185
+msgid "validator_function"
+msgstr "validator_function"
+
+#: sql_help.c:442 sql_help.c:519 sql_help.c:658 sql_help.c:840 sql_help.c:978
+#: sql_help.c:1258 sql_help.c:1346 sql_help.c:1347 sql_help.c:1363
+#: sql_help.c:1364 sql_help.c:1515 sql_help.c:2785 sql_help.c:2786
+#: sql_help.c:2802 sql_help.c:2803
+msgid "action"
+msgstr ""
+
+#: sql_help.c:444 sql_help.c:451 sql_help.c:455 sql_help.c:456 sql_help.c:459
+#: sql_help.c:461 sql_help.c:462 sql_help.c:463 sql_help.c:465 sql_help.c:468
+#: sql_help.c:470 sql_help.c:471 sql_help.c:662 sql_help.c:672 sql_help.c:674
+#: sql_help.c:677 sql_help.c:679 sql_help.c:1054 sql_help.c:1260
+#: sql_help.c:1278 sql_help.c:1282 sql_help.c:1283 sql_help.c:1287
+#: sql_help.c:1289 sql_help.c:1290 sql_help.c:1291 sql_help.c:1293
+#: sql_help.c:1296 sql_help.c:1297 sql_help.c:1299 sql_help.c:1302
+#: sql_help.c:1304 sql_help.c:1351 sql_help.c:1353 sql_help.c:1360
+#: sql_help.c:1369 sql_help.c:1374 sql_help.c:1621 sql_help.c:1624
+#: sql_help.c:1658 sql_help.c:1773 sql_help.c:1886 sql_help.c:1891
+#: sql_help.c:1905 sql_help.c:1906 sql_help.c:1907 sql_help.c:2225
+#: sql_help.c:2238 sql_help.c:2281 sql_help.c:2342 sql_help.c:2346
+#: sql_help.c:2378 sql_help.c:2604 sql_help.c:2632 sql_help.c:2633
+#: sql_help.c:2736 sql_help.c:2744 sql_help.c:2753 sql_help.c:2756
+#: sql_help.c:2765 sql_help.c:2769 sql_help.c:2790 sql_help.c:2792
+#: sql_help.c:2799 sql_help.c:2815 sql_help.c:2820 sql_help.c:2837
+#: sql_help.c:2962 sql_help.c:3098 sql_help.c:3689 sql_help.c:3690
+#: sql_help.c:3770 sql_help.c:3785 sql_help.c:3787 sql_help.c:3789
+#: sql_help.c:4022 sql_help.c:4023 sql_help.c:4125 sql_help.c:4276
+#: sql_help.c:4515 sql_help.c:4557 sql_help.c:4559 sql_help.c:4561
+#: sql_help.c:4594 sql_help.c:4722
+msgid "column_name"
+msgstr "column_name"
+
+#: sql_help.c:445 sql_help.c:663 sql_help.c:1261
+msgid "new_column_name"
+msgstr "new_column_name"
+
+#: sql_help.c:450 sql_help.c:540 sql_help.c:671 sql_help.c:861 sql_help.c:999
+#: sql_help.c:1277 sql_help.c:1531
+msgid "where action is one of:"
+msgstr "abbreviated_grant_or_revoke là một trong:"
+
+#: sql_help.c:452 sql_help.c:457 sql_help.c:1046 sql_help.c:1279
+#: sql_help.c:1284 sql_help.c:1533 sql_help.c:1537 sql_help.c:2137
+#: sql_help.c:2226 sql_help.c:2417 sql_help.c:2597 sql_help.c:2737
+#: sql_help.c:3007 sql_help.c:3872
+msgid "data_type"
+msgstr "data_type"
+
+#: sql_help.c:453 sql_help.c:458 sql_help.c:1280 sql_help.c:1285
+#: sql_help.c:1534 sql_help.c:1538 sql_help.c:2138 sql_help.c:2229
+#: sql_help.c:2344 sql_help.c:2738 sql_help.c:2746 sql_help.c:2758
+#: sql_help.c:2771 sql_help.c:3008 sql_help.c:3014 sql_help.c:3780
+msgid "collation"
+msgstr "collation"
+
+#: sql_help.c:454 sql_help.c:1281 sql_help.c:2230 sql_help.c:2239
+#: sql_help.c:2739 sql_help.c:2754 sql_help.c:2766
+msgid "column_constraint"
+msgstr "column_constraint"
+
+#: sql_help.c:464 sql_help.c:602 sql_help.c:673 sql_help.c:1298
+msgid "integer"
+msgstr ""
+
+#: sql_help.c:466 sql_help.c:469 sql_help.c:675 sql_help.c:678 sql_help.c:1300
+#: sql_help.c:1303
+msgid "attribute_option"
+msgstr "attribute_option"
+
+#: sql_help.c:474 sql_help.c:1305 sql_help.c:2231 sql_help.c:2240
+#: sql_help.c:2740 sql_help.c:2755 sql_help.c:2767
+msgid "table_constraint"
+msgstr "table_constraint"
+
+#: sql_help.c:477 sql_help.c:478 sql_help.c:479 sql_help.c:480 sql_help.c:1310
+#: sql_help.c:1311 sql_help.c:1312 sql_help.c:1313 sql_help.c:1827
+msgid "trigger_name"
+msgstr "trigger_name"
+
+#: sql_help.c:481 sql_help.c:482 sql_help.c:1323 sql_help.c:1324
+#: sql_help.c:2232 sql_help.c:2237 sql_help.c:2743 sql_help.c:2764
+msgid "parent_table"
+msgstr "parent_table"
+
+#: sql_help.c:539 sql_help.c:594 sql_help.c:660 sql_help.c:860 sql_help.c:998
+#: sql_help.c:1494 sql_help.c:2169
+msgid "extension_name"
+msgstr "extension_name"
+
+#: sql_help.c:541 sql_help.c:1000 sql_help.c:2285
+msgid "execution_cost"
+msgstr ""
+
+#: sql_help.c:542 sql_help.c:1001 sql_help.c:2286
+msgid "result_rows"
+msgstr "result_rows"
+
+#: sql_help.c:563 sql_help.c:565 sql_help.c:924 sql_help.c:932 sql_help.c:936
+#: sql_help.c:939 sql_help.c:942 sql_help.c:1572 sql_help.c:1580
+#: sql_help.c:1584 sql_help.c:1587 sql_help.c:1590 sql_help.c:2575
+#: sql_help.c:2577 sql_help.c:2580 sql_help.c:2581 sql_help.c:3688
+#: sql_help.c:3692 sql_help.c:3695 sql_help.c:3697 sql_help.c:3699
+#: sql_help.c:3701 sql_help.c:3703 sql_help.c:3709 sql_help.c:3711
+#: sql_help.c:3713 sql_help.c:3715 sql_help.c:3717 sql_help.c:3719
+msgid "role_specification"
+msgstr "role_specification"
+
+#: sql_help.c:564 sql_help.c:566 sql_help.c:1603 sql_help.c:2112
+#: sql_help.c:2583 sql_help.c:3083 sql_help.c:3528 sql_help.c:4361
+msgid "user_name"
+msgstr "user_name"
+
+#: sql_help.c:567 sql_help.c:944 sql_help.c:1592 sql_help.c:2582
+#: sql_help.c:3720
+msgid "where role_specification can be:"
+msgstr "where role_specification can be:"
+
+#: sql_help.c:569
+msgid "group_name"
+msgstr "group_name"
+
+#: sql_help.c:590 sql_help.c:1372 sql_help.c:2117 sql_help.c:2349
+#: sql_help.c:2381 sql_help.c:2750 sql_help.c:2762 sql_help.c:2775
+#: sql_help.c:2818 sql_help.c:2840 sql_help.c:2852 sql_help.c:3716
+#: sql_help.c:4049
+msgid "tablespace_name"
+msgstr "tablespace_name"
+
+#: sql_help.c:592 sql_help.c:680 sql_help.c:1318 sql_help.c:1327
+#: sql_help.c:1367 sql_help.c:1707
+msgid "index_name"
+msgstr "index_name"
+
+#: sql_help.c:596 sql_help.c:599 sql_help.c:681 sql_help.c:683 sql_help.c:1320
+#: sql_help.c:1322 sql_help.c:1370 sql_help.c:2347 sql_help.c:2379
+#: sql_help.c:2748 sql_help.c:2760 sql_help.c:2773 sql_help.c:2816
+#: sql_help.c:2838
+msgid "storage_parameter"
+msgstr "storage_parameter"
+
+#: sql_help.c:601
+msgid "column_number"
+msgstr "column_number"
+
+#: sql_help.c:625 sql_help.c:1790 sql_help.c:4136
+msgid "large_object_oid"
+msgstr "large_object_oid"
+
+#: sql_help.c:712 sql_help.c:2402
+msgid "res_proc"
+msgstr "res_proc"
+
+#: sql_help.c:713 sql_help.c:2403
+msgid "join_proc"
+msgstr "join_proc"
+
+#: sql_help.c:765 sql_help.c:777 sql_help.c:2420
+msgid "strategy_number"
+msgstr "index_name"
+
+#: sql_help.c:767 sql_help.c:768 sql_help.c:771 sql_help.c:772 sql_help.c:778
+#: sql_help.c:779 sql_help.c:781 sql_help.c:782 sql_help.c:2422 sql_help.c:2423
+#: sql_help.c:2426 sql_help.c:2427
+msgid "op_type"
+msgstr "op_type"
+
+#: sql_help.c:769 sql_help.c:2424
+msgid "sort_family_name"
+msgstr "sort_family_name"
+
+#: sql_help.c:770 sql_help.c:780 sql_help.c:2425
+msgid "support_number"
+msgstr "support_number"
+
+#: sql_help.c:774 sql_help.c:2056 sql_help.c:2429 sql_help.c:2929
+#: sql_help.c:2931
+msgid "argument_type"
+msgstr "argument_type"
+
+#: sql_help.c:805 sql_help.c:808 sql_help.c:879 sql_help.c:881 sql_help.c:883
+#: sql_help.c:1014 sql_help.c:1053 sql_help.c:1490 sql_help.c:1493
+#: sql_help.c:1657 sql_help.c:1706 sql_help.c:1775 sql_help.c:1800
+#: sql_help.c:1813 sql_help.c:1828 sql_help.c:1885 sql_help.c:1890
+#: sql_help.c:2224 sql_help.c:2236 sql_help.c:2340 sql_help.c:2377
+#: sql_help.c:2453 sql_help.c:2496 sql_help.c:2552 sql_help.c:2603
+#: sql_help.c:2634 sql_help.c:2735 sql_help.c:2751 sql_help.c:2763
+#: sql_help.c:2836 sql_help.c:2955 sql_help.c:3132 sql_help.c:3349
+#: sql_help.c:3398 sql_help.c:3504 sql_help.c:3686 sql_help.c:3691
+#: sql_help.c:3736 sql_help.c:3768 sql_help.c:4019 sql_help.c:4024
+#: sql_help.c:4124 sql_help.c:4231 sql_help.c:4233 sql_help.c:4282
+#: sql_help.c:4321 sql_help.c:4470 sql_help.c:4472 sql_help.c:4521
+#: sql_help.c:4555 sql_help.c:4593 sql_help.c:4677 sql_help.c:4679
+#: sql_help.c:4728
+msgid "table_name"
+msgstr "table_name"
+
+#: sql_help.c:810 sql_help.c:2455
+msgid "using_expression"
+msgstr "using_expression"
+
+#: sql_help.c:811 sql_help.c:2456
+msgid "check_expression"
+msgstr "check_expression"
+
+#: sql_help.c:885 sql_help.c:2497
+msgid "publication_parameter"
+msgstr "publication_parameter"
+
+#: sql_help.c:928 sql_help.c:1576 sql_help.c:2319 sql_help.c:2529
+#: sql_help.c:3066
+msgid "password"
+msgstr "mật khẩu"
+
+#: sql_help.c:929 sql_help.c:1577 sql_help.c:2320 sql_help.c:2530
+#: sql_help.c:3067
+msgid "timestamp"
+msgstr "timestamp"
+
+#: sql_help.c:933 sql_help.c:937 sql_help.c:940 sql_help.c:943 sql_help.c:1581
+#: sql_help.c:1585 sql_help.c:1588 sql_help.c:1591 sql_help.c:3696
+#: sql_help.c:4029
+msgid "database_name"
+msgstr "database_name"
+
+#: sql_help.c:1047 sql_help.c:2598
+msgid "increment"
+msgstr "tăng"
+
+#: sql_help.c:1048 sql_help.c:2599
+msgid "minvalue"
+msgstr ""
+
+#: sql_help.c:1049 sql_help.c:2600
+msgid "maxvalue"
+msgstr ""
+
+#: sql_help.c:1050 sql_help.c:2601 sql_help.c:4229 sql_help.c:4319
+#: sql_help.c:4468 sql_help.c:4610 sql_help.c:4675
+msgid "start"
+msgstr "bắt đầu"
+
+#: sql_help.c:1051 sql_help.c:1295
+msgid "restart"
+msgstr ""
+
+#: sql_help.c:1052 sql_help.c:2602
+msgid "cache"
+msgstr ""
+
+#: sql_help.c:1109 sql_help.c:2646
+msgid "conninfo"
+msgstr ""
+
+#: sql_help.c:1111 sql_help.c:2647
+msgid "publication_name"
+msgstr "publication_name"
+
+#: sql_help.c:1112
+msgid "set_publication_option"
+msgstr "set_publication_option"
+
+#: sql_help.c:1115
+msgid "refresh_option"
+msgstr "refresh_option"
+
+#: sql_help.c:1120 sql_help.c:2648
+msgid "subscription_parameter"
+msgstr "subscription_parameter"
+
+#: sql_help.c:1273 sql_help.c:1276
+msgid "partition_name"
+msgstr "partition_name"
+
+#: sql_help.c:1274 sql_help.c:2241 sql_help.c:2768
+msgid "partition_bound_spec"
+msgstr "partition_bound_spec"
+
+#: sql_help.c:1292 sql_help.c:1341 sql_help.c:2780
+msgid "sequence_options"
+msgstr "sequence_options"
+
+#: sql_help.c:1294
+msgid "sequence_option"
+msgstr "sequence_option"
+
+#: sql_help.c:1306
+msgid "table_constraint_using_index"
+msgstr "table_constraint_using_index"
+
+#: sql_help.c:1314 sql_help.c:1315 sql_help.c:1316 sql_help.c:1317
+msgid "rewrite_rule_name"
+msgstr "rewrite_rule_name"
+
+#: sql_help.c:1328 sql_help.c:2805
+msgid "and partition_bound_spec is:"
+msgstr "và partition_bound_spec là:"
+
+#: sql_help.c:1329 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335
+#: sql_help.c:1336 sql_help.c:2806 sql_help.c:2808 sql_help.c:2810
+#: sql_help.c:2812 sql_help.c:2813
+msgid "numeric_literal"
+msgstr ""
+
+#: sql_help.c:1330 sql_help.c:1332 sql_help.c:1334 sql_help.c:2807
+#: sql_help.c:2809 sql_help.c:2811
+msgid "string_literal"
+msgstr ""
+
+#: sql_help.c:1337
+msgid "and column_constraint is:"
+msgstr "and column_constraint is:"
+
+#: sql_help.c:1340 sql_help.c:2248 sql_help.c:2279 sql_help.c:2476
+#: sql_help.c:2779
+msgid "default_expr"
+msgstr "default_expr"
+
+#: sql_help.c:1342 sql_help.c:1343 sql_help.c:1352 sql_help.c:1354
+#: sql_help.c:1358 sql_help.c:2781 sql_help.c:2782 sql_help.c:2791
+#: sql_help.c:2793 sql_help.c:2797
+msgid "index_parameters"
+msgstr "index_parameters"
+
+#: sql_help.c:1344 sql_help.c:1361 sql_help.c:2783 sql_help.c:2800
+msgid "reftable"
+msgstr ""
+
+#: sql_help.c:1345 sql_help.c:1362 sql_help.c:2784 sql_help.c:2801
+msgid "refcolumn"
+msgstr ""
+
+#: sql_help.c:1348 sql_help.c:2249 sql_help.c:2787
+msgid "and table_constraint is:"
+msgstr "and table_constraint is:"
+
+#: sql_help.c:1356 sql_help.c:2795
+msgid "exclude_element"
+msgstr "exclude_element"
+
+#: sql_help.c:1357 sql_help.c:2796 sql_help.c:4227 sql_help.c:4317
+#: sql_help.c:4466 sql_help.c:4608 sql_help.c:4673
+msgid "operator"
+msgstr "toán tử"
+
+#: sql_help.c:1359 sql_help.c:2350 sql_help.c:2798
+msgid "predicate"
+msgstr "predicate"
+
+#: sql_help.c:1365
+msgid "and table_constraint_using_index is:"
+msgstr "và table_constraint_using_index là:"
+
+#: sql_help.c:1368 sql_help.c:2814
+msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
+msgstr ""
+
+#: sql_help.c:1373 sql_help.c:2819
+msgid "exclude_element in an EXCLUDE constraint is:"
+msgstr ""
+
+#: sql_help.c:1376 sql_help.c:2345 sql_help.c:2747 sql_help.c:2759
+#: sql_help.c:2772 sql_help.c:2822 sql_help.c:3781
+msgid "opclass"
+msgstr ""
+
+#: sql_help.c:1392 sql_help.c:1395 sql_help.c:2855
+msgid "tablespace_option"
+msgstr "tablespace_option"
+
+#: sql_help.c:1416 sql_help.c:1419 sql_help.c:1425 sql_help.c:1429
+msgid "token_type"
+msgstr "token_type"
+
+#: sql_help.c:1417 sql_help.c:1420
+msgid "dictionary_name"
+msgstr "dictionary_name"
+
+#: sql_help.c:1422 sql_help.c:1426
+msgid "old_dictionary"
+msgstr "old_dictionary"
+
+#: sql_help.c:1423 sql_help.c:1427
+msgid "new_dictionary"
+msgstr "new_dictionary"
+
+#: sql_help.c:1519 sql_help.c:1532 sql_help.c:1535 sql_help.c:1536
+#: sql_help.c:3006
+msgid "attribute_name"
+msgstr "attribute_name"
+
+#: sql_help.c:1520
+msgid "new_attribute_name"
+msgstr "new_attribute_name"
+
+#: sql_help.c:1526 sql_help.c:1530
+msgid "new_enum_value"
+msgstr "new_enum_value"
+
+#: sql_help.c:1527
+msgid "neighbor_enum_value"
+msgstr "neighbor_enum_value"
+
+#: sql_help.c:1529
+msgid "existing_enum_value"
+msgstr "existing_enum_value"
+
+#: sql_help.c:1604 sql_help.c:2233 sql_help.c:2242 sql_help.c:2614
+#: sql_help.c:3084 sql_help.c:3529 sql_help.c:3702 sql_help.c:3737
+#: sql_help.c:4035
+msgid "server_name"
+msgstr "server_name"
+
+#: sql_help.c:1632 sql_help.c:1635 sql_help.c:3099
+msgid "view_option_name"
+msgstr "view_option_name"
+
+#: sql_help.c:1633 sql_help.c:3100
+msgid "view_option_value"
+msgstr "view_option_value"
+
+#: sql_help.c:1653 sql_help.c:1654 sql_help.c:4589 sql_help.c:4590
+msgid "table_and_columns"
+msgstr "table_and_columns"
+
+#: sql_help.c:1655 sql_help.c:1896 sql_help.c:3575 sql_help.c:4591
+msgid "where option can be one of:"
+msgstr "tùy chọn có thể là một trong số dưới đây:"
+
+#: sql_help.c:1656 sql_help.c:4592
+msgid "and table_and_columns is:"
+msgstr "và table_and_columns là:"
+
+#: sql_help.c:1672 sql_help.c:4377 sql_help.c:4379 sql_help.c:4403
+msgid "transaction_mode"
+msgstr ""
+
+#: sql_help.c:1673 sql_help.c:4380 sql_help.c:4404
+msgid "where transaction_mode is one of:"
+msgstr "transaction_mode là một trong:"
+
+#: sql_help.c:1682 sql_help.c:4237 sql_help.c:4246 sql_help.c:4250
+#: sql_help.c:4254 sql_help.c:4257 sql_help.c:4476 sql_help.c:4485
+#: sql_help.c:4489 sql_help.c:4493 sql_help.c:4496 sql_help.c:4683
+#: sql_help.c:4692 sql_help.c:4696 sql_help.c:4700 sql_help.c:4703
+msgid "argument"
+msgstr "tham số đầu vào"
+
+#: sql_help.c:1772
+msgid "relation_name"
+msgstr "relation_name"
+
+#: sql_help.c:1777 sql_help.c:3698 sql_help.c:4031
+msgid "domain_name"
+msgstr "domain_name"
+
+#: sql_help.c:1799
+msgid "policy_name"
+msgstr "policy_name"
+
+#: sql_help.c:1812
+msgid "rule_name"
+msgstr "rule_name"
+
+#: sql_help.c:1831
+msgid "text"
+msgstr ""
+
+#: sql_help.c:1856 sql_help.c:3881 sql_help.c:4069
+msgid "transaction_id"
+msgstr "transaction_id"
+
+#: sql_help.c:1887 sql_help.c:1893 sql_help.c:3807
+msgid "filename"
+msgstr "tên file"
+
+#: sql_help.c:1888 sql_help.c:1894 sql_help.c:2554 sql_help.c:2555
+#: sql_help.c:2556
+msgid "command"
+msgstr "câu lệnh"
+
+#: sql_help.c:1892 sql_help.c:2382 sql_help.c:2841 sql_help.c:3101
+#: sql_help.c:3119 sql_help.c:3772
+msgid "query"
+msgstr "truy vấn"
+
+#: sql_help.c:1897
+msgid "format_name"
+msgstr "format_name"
+
+#: sql_help.c:1898 sql_help.c:1899 sql_help.c:1902 sql_help.c:3576
+#: sql_help.c:3577 sql_help.c:3578 sql_help.c:3579 sql_help.c:3580
+#: sql_help.c:3581
+msgid "boolean"
+msgstr "boolean"
+
+#: sql_help.c:1900
+msgid "delimiter_character"
+msgstr "delimiter_character"
+
+#: sql_help.c:1901
+msgid "null_string"
+msgstr "null_string"
+
+#: sql_help.c:1903
+msgid "quote_character"
+msgstr "ký tự quote"
+
+#: sql_help.c:1904
+msgid "escape_character"
+msgstr "ký tự escape"
+
+#: sql_help.c:1908
+msgid "encoding_name"
+msgstr "encoding_name"
+
+#: sql_help.c:1919
+msgid "access_method_type"
+msgstr "access_method_type"
+
+#: sql_help.c:1990 sql_help.c:2009 sql_help.c:2012
+msgid "arg_data_type"
+msgstr "arg_data_type"
+
+#: sql_help.c:1991 sql_help.c:2013 sql_help.c:2021
+msgid "sfunc"
+msgstr ""
+
+#: sql_help.c:1992 sql_help.c:2014 sql_help.c:2022
+msgid "state_data_type"
+msgstr "state_data_type"
+
+#: sql_help.c:1993 sql_help.c:2015 sql_help.c:2023
+msgid "state_data_size"
+msgstr "state_data_size"
+
+#: sql_help.c:1994 sql_help.c:2016 sql_help.c:2024
+msgid "ffunc"
+msgstr ""
+
+#: sql_help.c:1995 sql_help.c:2025
+msgid "combinefunc"
+msgstr ""
+
+#: sql_help.c:1996 sql_help.c:2026
+msgid "serialfunc"
+msgstr ""
+
+#: sql_help.c:1997 sql_help.c:2027
+msgid "deserialfunc"
+msgstr ""
+
+#: sql_help.c:1998 sql_help.c:2017 sql_help.c:2028
+msgid "initial_condition"
+msgstr "initial_condition"
+
+#: sql_help.c:1999 sql_help.c:2029
+msgid "msfunc"
+msgstr ""
+
+#: sql_help.c:2000 sql_help.c:2030
+msgid "minvfunc"
+msgstr ""
+
+#: sql_help.c:2001 sql_help.c:2031
+msgid "mstate_data_type"
+msgstr "mstate_data_type"
+
+#: sql_help.c:2002 sql_help.c:2032
+msgid "mstate_data_size"
+msgstr "mstate_data_size"
+
+#: sql_help.c:2003 sql_help.c:2033
+msgid "mffunc"
+msgstr ""
+
+#: sql_help.c:2004 sql_help.c:2034
+msgid "minitial_condition"
+msgstr "minitial_condition"
+
+#: sql_help.c:2005 sql_help.c:2035
+msgid "sort_operator"
+msgstr "sort_operator"
+
+#: sql_help.c:2018
+msgid "or the old syntax"
+msgstr "hoặc là cú pháp cũ"
+
+#: sql_help.c:2020
+msgid "base_type"
+msgstr "base_type"
+
+#: sql_help.c:2076
+msgid "locale"
+msgstr ""
+
+#: sql_help.c:2077 sql_help.c:2115
+msgid "lc_collate"
+msgstr ""
+
+#: sql_help.c:2078 sql_help.c:2116
+msgid "lc_ctype"
+msgstr ""
+
+#: sql_help.c:2079 sql_help.c:4122
+msgid "provider"
+msgstr ""
+
+#: sql_help.c:2080 sql_help.c:2171
+msgid "version"
+msgstr "phiên bản"
+
+#: sql_help.c:2082
+msgid "existing_collation"
+msgstr "existing_collation"
+
+#: sql_help.c:2092
+msgid "source_encoding"
+msgstr "source_encoding"
+
+#: sql_help.c:2093
+msgid "dest_encoding"
+msgstr "dest_encoding"
+
+#: sql_help.c:2113 sql_help.c:2881
+msgid "template"
+msgstr ""
+
+#: sql_help.c:2114
+msgid "encoding"
+msgstr "encoding"
+
+#: sql_help.c:2140
+msgid "constraint"
+msgstr "ràng buộc"
+
+#: sql_help.c:2141
+msgid "where constraint is:"
+msgstr "ràng buộc là:"
+
+#: sql_help.c:2155 sql_help.c:2551 sql_help.c:2954
+msgid "event"
+msgstr ""
+
+#: sql_help.c:2156
+msgid "filter_variable"
+msgstr "filter_variable"
+
+#: sql_help.c:2172
+msgid "old_version"
+msgstr "old_version"
+
+#: sql_help.c:2245 sql_help.c:2776
+msgid "where column_constraint is:"
+msgstr "mà column_constraint là:"
+
+#: sql_help.c:2280
+msgid "rettype"
+msgstr ""
+
+#: sql_help.c:2282
+msgid "column_type"
+msgstr "column_type"
+
+#: sql_help.c:2290 sql_help.c:2482
+msgid "definition"
+msgstr "định nghĩa"
+
+#: sql_help.c:2291 sql_help.c:2483
+msgid "obj_file"
+msgstr ""
+
+#: sql_help.c:2292 sql_help.c:2484
+msgid "link_symbol"
+msgstr ""
+
+#: sql_help.c:2326 sql_help.c:2536 sql_help.c:3073
+msgid "uid"
+msgstr ""
+
+#: sql_help.c:2341
+msgid "method"
+msgstr "phương pháp"
+
+#: sql_help.c:2362
+msgid "call_handler"
+msgstr "call_handler"
+
+#: sql_help.c:2363
+msgid "inline_handler"
+msgstr "inline_handler"
+
+#: sql_help.c:2364
+msgid "valfunction"
+msgstr ""
+
+#: sql_help.c:2400
+msgid "com_op"
+msgstr "com_op"
+
+#: sql_help.c:2401
+msgid "neg_op"
+msgstr "neg_op"
+
+#: sql_help.c:2419
+msgid "family_name"
+msgstr "family_name"
+
+#: sql_help.c:2430
+msgid "storage_type"
+msgstr "storage_type"
+
+#: sql_help.c:2553 sql_help.c:2958 sql_help.c:3135 sql_help.c:3791
+#: sql_help.c:4220 sql_help.c:4222 sql_help.c:4310 sql_help.c:4312
+#: sql_help.c:4459 sql_help.c:4461 sql_help.c:4564 sql_help.c:4666
+#: sql_help.c:4668
+msgid "condition"
+msgstr "điều kiện"
+
+#: sql_help.c:2557 sql_help.c:2961
+msgid "where event can be one of:"
+msgstr "sự kiện có thể là một trong:"
+
+#: sql_help.c:2576 sql_help.c:2578
+msgid "schema_element"
+msgstr "schema_element"
+
+#: sql_help.c:2615
+msgid "server_type"
+msgstr "server_type"
+
+#: sql_help.c:2616
+msgid "server_version"
+msgstr "server_version"
+
+#: sql_help.c:2617 sql_help.c:3700 sql_help.c:4033
+msgid "fdw_name"
+msgstr "fdw_name"
+
+#: sql_help.c:2630
+msgid "statistics_name"
+msgstr "statistics_name"
+
+#: sql_help.c:2631
+msgid "statistics_kind"
+msgstr "statistics_kind"
+
+#: sql_help.c:2645
+msgid "subscription_name"
+msgstr "subscription_name"
+
+#: sql_help.c:2741
+msgid "source_table"
+msgstr "source_table"
+
+#: sql_help.c:2742
+msgid "like_option"
+msgstr "like_option"
+
+#: sql_help.c:2804
+msgid "and like_option is:"
+msgstr "and like_option is:"
+
+#: sql_help.c:2854
+msgid "directory"
+msgstr "thư mục"
+
+#: sql_help.c:2868
+msgid "parser_name"
+msgstr "parser_name"
+
+#: sql_help.c:2869
+msgid "source_config"
+msgstr "source_config"
+
+#: sql_help.c:2898
+msgid "start_function"
+msgstr "start_function"
+
+#: sql_help.c:2899
+msgid "gettoken_function"
+msgstr "gettoken_function"
+
+#: sql_help.c:2900
+msgid "end_function"
+msgstr "end_function"
+
+#: sql_help.c:2901
+msgid "lextypes_function"
+msgstr "lextypes_function"
+
+#: sql_help.c:2902
+msgid "headline_function"
+msgstr "headline_function"
+
+#: sql_help.c:2914
+msgid "init_function"
+msgstr "init_function"
+
+#: sql_help.c:2915
+msgid "lexize_function"
+msgstr "lexize_function"
+
+#: sql_help.c:2928
+msgid "from_sql_function_name"
+msgstr "from_sql_function_name"
+
+#: sql_help.c:2930
+msgid "to_sql_function_name"
+msgstr "to_sql_function_name"
+
+#: sql_help.c:2956
+msgid "referenced_table_name"
+msgstr "referenced_table_name"
+
+#: sql_help.c:2957
+msgid "transition_relation_name"
+msgstr "transition_relation_name"
+
+#: sql_help.c:2960
+msgid "arguments"
+msgstr "arguments"
+
+#: sql_help.c:3010 sql_help.c:4155
+msgid "label"
+msgstr ""
+
+#: sql_help.c:3012
+msgid "subtype"
+msgstr "kiểu con"
+
+#: sql_help.c:3013
+msgid "subtype_operator_class"
+msgstr "subtype_operator_class"
+
+#: sql_help.c:3015
+msgid "canonical_function"
+msgstr "canonical_function"
+
+#: sql_help.c:3016
+msgid "subtype_diff_function"
+msgstr "subtype_diff_function"
+
+#: sql_help.c:3018
+msgid "input_function"
+msgstr "input_function"
+
+#: sql_help.c:3019
+msgid "output_function"
+msgstr "output_function"
+
+#: sql_help.c:3020
+msgid "receive_function"
+msgstr "receive_function"
+
+#: sql_help.c:3021
+msgid "send_function"
+msgstr "send_function"
+
+#: sql_help.c:3022
+msgid "type_modifier_input_function"
+msgstr "type_modifier_input_function"
+
+#: sql_help.c:3023
+msgid "type_modifier_output_function"
+msgstr "type_modifier_output_function"
+
+#: sql_help.c:3024
+msgid "analyze_function"
+msgstr "analyze_function"
+
+#: sql_help.c:3025
+msgid "internallength"
+msgstr ""
+
+#: sql_help.c:3026
+msgid "alignment"
+msgstr ""
+
+#: sql_help.c:3027
+msgid "storage"
+msgstr "storage"
+
+#: sql_help.c:3028
+msgid "like_type"
+msgstr "like_type"
+
+#: sql_help.c:3029
+msgid "category"
+msgstr ""
+
+#: sql_help.c:3030
+msgid "preferred"
+msgstr ""
+
+#: sql_help.c:3031
+msgid "default"
+msgstr "mặc định"
+
+#: sql_help.c:3032
+msgid "element"
+msgstr "phần tử"
+
+#: sql_help.c:3033
+msgid "delimiter"
+msgstr ""
+
+#: sql_help.c:3034
+msgid "collatable"
+msgstr ""
+
+#: sql_help.c:3131 sql_help.c:3767 sql_help.c:4215 sql_help.c:4304
+#: sql_help.c:4454 sql_help.c:4554 sql_help.c:4661
+msgid "with_query"
+msgstr "with_query"
+
+#: sql_help.c:3133 sql_help.c:3769 sql_help.c:4234 sql_help.c:4240
+#: sql_help.c:4243 sql_help.c:4247 sql_help.c:4251 sql_help.c:4259
+#: sql_help.c:4473 sql_help.c:4479 sql_help.c:4482 sql_help.c:4486
+#: sql_help.c:4490 sql_help.c:4498 sql_help.c:4556 sql_help.c:4680
+#: sql_help.c:4686 sql_help.c:4689 sql_help.c:4693 sql_help.c:4697
+#: sql_help.c:4705
+msgid "alias"
+msgstr "alias"
+
+#: sql_help.c:3134
+msgid "using_list"
+msgstr "using_list"
+
+#: sql_help.c:3136 sql_help.c:3607 sql_help.c:3848 sql_help.c:4565
+msgid "cursor_name"
+msgstr "cursor_name"
+
+#: sql_help.c:3137 sql_help.c:3775 sql_help.c:4566
+msgid "output_expression"
+msgstr "output_expression"
+
+#: sql_help.c:3138 sql_help.c:3776 sql_help.c:4218 sql_help.c:4307
+#: sql_help.c:4457 sql_help.c:4567 sql_help.c:4664
+msgid "output_name"
+msgstr "output_name"
+
+#: sql_help.c:3154
+msgid "code"
+msgstr "mã"
+
+#: sql_help.c:3553
+msgid "parameter"
+msgstr "tham số"
+
+#: sql_help.c:3573 sql_help.c:3574 sql_help.c:3873
+msgid "statement"
+msgstr "câu lệnh"
+
+#: sql_help.c:3606 sql_help.c:3847
+msgid "direction"
+msgstr ""
+
+#: sql_help.c:3608 sql_help.c:3849
+msgid "where direction can be empty or one of:"
+msgstr ""
+
+#: sql_help.c:3609 sql_help.c:3610 sql_help.c:3611 sql_help.c:3612
+#: sql_help.c:3613 sql_help.c:3850 sql_help.c:3851 sql_help.c:3852
+#: sql_help.c:3853 sql_help.c:3854 sql_help.c:4228 sql_help.c:4230
+#: sql_help.c:4318 sql_help.c:4320 sql_help.c:4467 sql_help.c:4469
+#: sql_help.c:4609 sql_help.c:4611 sql_help.c:4674 sql_help.c:4676
+msgid "count"
+msgstr ""
+
+#: sql_help.c:3693 sql_help.c:4026
+msgid "sequence_name"
+msgstr "sequence_name"
+
+#: sql_help.c:3706 sql_help.c:4039
+msgid "arg_name"
+msgstr "arg_name"
+
+#: sql_help.c:3707 sql_help.c:4040
+msgid "arg_type"
+msgstr "arg_type"
+
+#: sql_help.c:3712 sql_help.c:4045
+msgid "loid"
+msgstr ""
+
+#: sql_help.c:3735
+msgid "remote_schema"
+msgstr "remote_schema"
+
+#: sql_help.c:3738
+msgid "local_schema"
+msgstr "local_schema"
+
+#: sql_help.c:3773
+msgid "conflict_target"
+msgstr "conflict_target"
+
+#: sql_help.c:3774
+msgid "conflict_action"
+msgstr "conflict_action"
+
+#: sql_help.c:3777
+msgid "where conflict_target can be one of:"
+msgstr ""
+
+#: sql_help.c:3778
+msgid "index_column_name"
+msgstr "index_column_name"
+
+#: sql_help.c:3779
+msgid "index_expression"
+msgstr "index_expression"
+
+#: sql_help.c:3782
+msgid "index_predicate"
+msgstr "index_predicate"
+
+#: sql_help.c:3784
+msgid "and conflict_action is one of:"
+msgstr "và conflict_action là một trong:"
+
+#: sql_help.c:3790 sql_help.c:4562
+msgid "sub-SELECT"
+msgstr ""
+
+#: sql_help.c:3799 sql_help.c:3862 sql_help.c:4538
+msgid "channel"
+msgstr ""
+
+#: sql_help.c:3821
+msgid "lockmode"
+msgstr "chế độ lock"
+
+#: sql_help.c:3822
+msgid "where lockmode is one of:"
+msgstr "chế độ lock là một trong:"
+
+#: sql_help.c:3863
+msgid "payload"
+msgstr ""
+
+#: sql_help.c:3890
+msgid "old_role"
+msgstr "old_role"
+
+#: sql_help.c:3891
+msgid "new_role"
+msgstr "new_role"
+
+#: sql_help.c:3916 sql_help.c:4077 sql_help.c:4085
+msgid "savepoint_name"
+msgstr "savepoint_name"
+
+#: sql_help.c:4219 sql_help.c:4261 sql_help.c:4263 sql_help.c:4309
+#: sql_help.c:4458 sql_help.c:4500 sql_help.c:4502 sql_help.c:4665
+#: sql_help.c:4707 sql_help.c:4709
+msgid "from_item"
+msgstr "from_item"
+
+#: sql_help.c:4221 sql_help.c:4273 sql_help.c:4460 sql_help.c:4512
+#: sql_help.c:4667 sql_help.c:4719
+msgid "grouping_element"
+msgstr "grouping_element"
+
+#: sql_help.c:4223 sql_help.c:4313 sql_help.c:4462 sql_help.c:4669
+msgid "window_name"
+msgstr "window_name"
+
+#: sql_help.c:4224 sql_help.c:4314 sql_help.c:4463 sql_help.c:4670
+msgid "window_definition"
+msgstr "window_definition"
+
+#: sql_help.c:4225 sql_help.c:4239 sql_help.c:4277 sql_help.c:4315
+#: sql_help.c:4464 sql_help.c:4478 sql_help.c:4516 sql_help.c:4671
+#: sql_help.c:4685 sql_help.c:4723
+msgid "select"
+msgstr ""
+
+#: sql_help.c:4232 sql_help.c:4471 sql_help.c:4678
+msgid "where from_item can be one of:"
+msgstr ""
+
+#: sql_help.c:4235 sql_help.c:4241 sql_help.c:4244 sql_help.c:4248
+#: sql_help.c:4260 sql_help.c:4474 sql_help.c:4480 sql_help.c:4483
+#: sql_help.c:4487 sql_help.c:4499 sql_help.c:4681 sql_help.c:4687
+#: sql_help.c:4690 sql_help.c:4694 sql_help.c:4706
+msgid "column_alias"
+msgstr "column_alias"
+
+#: sql_help.c:4236 sql_help.c:4475 sql_help.c:4682
+msgid "sampling_method"
+msgstr "sampling_method"
+
+#: sql_help.c:4238 sql_help.c:4477 sql_help.c:4684
+msgid "seed"
+msgstr ""
+
+#: sql_help.c:4242 sql_help.c:4275 sql_help.c:4481 sql_help.c:4514
+#: sql_help.c:4688 sql_help.c:4721
+msgid "with_query_name"
+msgstr "with_query_name"
+
+#: sql_help.c:4252 sql_help.c:4255 sql_help.c:4258 sql_help.c:4491
+#: sql_help.c:4494 sql_help.c:4497 sql_help.c:4698 sql_help.c:4701
+#: sql_help.c:4704
+msgid "column_definition"
+msgstr "column_definition"
+
+#: sql_help.c:4262 sql_help.c:4501 sql_help.c:4708
+msgid "join_type"
+msgstr "join_type"
+
+#: sql_help.c:4264 sql_help.c:4503 sql_help.c:4710
+msgid "join_condition"
+msgstr "join_condition"
+
+#: sql_help.c:4265 sql_help.c:4504 sql_help.c:4711
+msgid "join_column"
+msgstr "join_column"
+
+#: sql_help.c:4266 sql_help.c:4505 sql_help.c:4712
+msgid "and grouping_element can be one of:"
+msgstr ""
+
+#: sql_help.c:4274 sql_help.c:4513 sql_help.c:4720
+msgid "and with_query is:"
+msgstr "and with_query is:"
+
+#: sql_help.c:4278 sql_help.c:4517 sql_help.c:4724
+msgid "values"
+msgstr ""
+
+#: sql_help.c:4279 sql_help.c:4518 sql_help.c:4725
+msgid "insert"
+msgstr ""
+
+#: sql_help.c:4280 sql_help.c:4519 sql_help.c:4726
+msgid "update"
+msgstr "cập nhật"
+
+#: sql_help.c:4281 sql_help.c:4520 sql_help.c:4727
+msgid "delete"
+msgstr ""
+
+#: sql_help.c:4308
+msgid "new_table"
+msgstr "new_table"
+
+#: sql_help.c:4333
+msgid "timezone"
+msgstr ""
+
+#: sql_help.c:4378
+msgid "snapshot_id"
+msgstr "snapshot_id"
+
+#: sql_help.c:4563
+msgid "from_list"
+msgstr "from_list"
+
+#: sql_help.c:4607
+msgid "sort_expression"
+msgstr "sort_expression"
+
+#: sql_help.c:4734 sql_help.c:5549
+msgid "abort the current transaction"
+msgstr "hủy bỏ transaction hiện tại"
+
+#: sql_help.c:4739
+msgid "change the definition of an aggregate function"
+msgstr ""
+
+#: sql_help.c:4744
+msgid "change the definition of a collation"
+msgstr "thay đổi định nghĩa một collation"
+
+#: sql_help.c:4749
+msgid "change the definition of a conversion"
+msgstr "thay đổi định nghĩa một conversion"
+
+#: sql_help.c:4754
+msgid "change a database"
+msgstr "thay đổi một cơ sở dữ liệu"
+
+#: sql_help.c:4759
+msgid "define default access privileges"
+msgstr "định nghĩa đặc quyền truy cập mặc định"
+
+#: sql_help.c:4764
+msgid "change the definition of a domain"
+msgstr "thay đổi định nghĩa một domain"
+
+#: sql_help.c:4769
+msgid "change the definition of an event trigger"
+msgstr ""
+
+#: sql_help.c:4774
+msgid "change the definition of an extension"
+msgstr "thay đổi định nghĩa một extension"
+
+#: sql_help.c:4779
+msgid "change the definition of a foreign-data wrapper"
+msgstr ""
+
+#: sql_help.c:4784
+msgid "change the definition of a foreign table"
+msgstr "thay đổi định nghĩa một bảng ngoại khóa"
+
+#: sql_help.c:4789
+msgid "change the definition of a function"
+msgstr "thay đổi định nghĩa một hàm"
+
+#: sql_help.c:4794
+msgid "change role name or membership"
+msgstr "thay đổi tên role hoặc thành viên"
+
+#: sql_help.c:4799
+msgid "change the definition of an index"
+msgstr "thay đổi định nghĩa một index"
+
+#: sql_help.c:4804
+msgid "change the definition of a procedural language"
+msgstr ""
+
+#: sql_help.c:4809
+msgid "change the definition of a large object"
+msgstr "thay đổi định nghĩa một large object"
+
+#: sql_help.c:4814
+msgid "change the definition of a materialized view"
+msgstr "thay đổi định nghĩa một materialized view"
+
+#: sql_help.c:4819
+msgid "change the definition of an operator"
+msgstr "thay đổi định nghĩa một toán tử"
+
+#: sql_help.c:4824
+msgid "change the definition of an operator class"
+msgstr "thay đổi định nghĩa một operator class"
+
+#: sql_help.c:4829
+msgid "change the definition of an operator family"
+msgstr "thay đổi định nghĩa một operator family"
+
+#: sql_help.c:4834
+msgid "change the definition of a row level security policy"
+msgstr ""
+
+#: sql_help.c:4839
+msgid "change the definition of a procedure"
+msgstr "thay đổi định nghĩa một procedure"
+
+#: sql_help.c:4844
+msgid "change the definition of a publication"
+msgstr "thay đổi định nghĩa một publication"
+
+#: sql_help.c:4849 sql_help.c:4934
+msgid "change a database role"
+msgstr "thay đổi một database role"
+
+#: sql_help.c:4854
+msgid "change the definition of a routine"
+msgstr "thay đổi định nghĩa một routine"
+
+#: sql_help.c:4859
+msgid "change the definition of a rule"
+msgstr "thay đổi định nghĩa một rule"
+
+#: sql_help.c:4864
+msgid "change the definition of a schema"
+msgstr "thay đổi định nghĩa một schema"
+
+#: sql_help.c:4869
+msgid "change the definition of a sequence generator"
+msgstr ""
+
+#: sql_help.c:4874
+msgid "change the definition of a foreign server"
+msgstr ""
+
+#: sql_help.c:4879
+msgid "change the definition of an extended statistics object"
+msgstr ""
+
+#: sql_help.c:4884
+msgid "change the definition of a subscription"
+msgstr "thay đổi định nghĩa một subscription"
+
+#: sql_help.c:4889
+msgid "change a server configuration parameter"
+msgstr "thay đổi một tham số cấu hình máy chủ"
+
+#: sql_help.c:4894
+msgid "change the definition of a table"
+msgstr "thay đổi định nghĩa một bảng"
+
+#: sql_help.c:4899
+msgid "change the definition of a tablespace"
+msgstr "thay đổi định nghĩa một tablespace"
+
+#: sql_help.c:4904
+msgid "change the definition of a text search configuration"
+msgstr ""
+
+#: sql_help.c:4909
+msgid "change the definition of a text search dictionary"
+msgstr ""
+
+#: sql_help.c:4914
+msgid "change the definition of a text search parser"
+msgstr ""
+
+#: sql_help.c:4919
+msgid "change the definition of a text search template"
+msgstr ""
+
+#: sql_help.c:4924
+msgid "change the definition of a trigger"
+msgstr "thay đổi định nghĩa của một trigger"
+
+#: sql_help.c:4929
+msgid "change the definition of a type"
+msgstr "thay đổi định nghĩa của một kiểu"
+
+#: sql_help.c:4939
+msgid "change the definition of a user mapping"
+msgstr ""
+
+#: sql_help.c:4944
+msgid "change the definition of a view"
+msgstr "thay đổi định nghĩa của một view"
+
+#: sql_help.c:4949
+msgid "collect statistics about a database"
+msgstr ""
+
+#: sql_help.c:4954 sql_help.c:5614
+msgid "start a transaction block"
+msgstr "bắt đầu một transaction"
+
+#: sql_help.c:4959
+msgid "invoke a procedure"
+msgstr "gọi một thủ tục"
+
+#: sql_help.c:4964
+msgid "force a write-ahead log checkpoint"
+msgstr ""
+
+#: sql_help.c:4969
+msgid "close a cursor"
+msgstr "đóng con trỏ"
+
+#: sql_help.c:4974
+msgid "cluster a table according to an index"
+msgstr "cluster một bảng dựa trên một index"
+
+#: sql_help.c:4979
+msgid "define or change the comment of an object"
+msgstr ""
+
+#: sql_help.c:4984 sql_help.c:5449
+msgid "commit the current transaction"
+msgstr "commit transaction hiện tại"
+
+#: sql_help.c:4989
+msgid "commit a transaction that was earlier prepared for two-phase commit"
+msgstr ""
+
+#: sql_help.c:4994
+msgid "copy data between a file and a table"
+msgstr ""
+
+#: sql_help.c:4999
+msgid "define a new access method"
+msgstr "định nghĩa một access method mới"
+
+#: sql_help.c:5004
+msgid "define a new aggregate function"
+msgstr ""
+
+#: sql_help.c:5009
+msgid "define a new cast"
+msgstr "định nghĩa một cast mới"
+
+#: sql_help.c:5014
+msgid "define a new collation"
+msgstr "định nghĩa một collation mới"
+
+#: sql_help.c:5019
+msgid "define a new encoding conversion"
+msgstr ""
+
+#: sql_help.c:5024
+msgid "create a new database"
+msgstr "định nghĩa một database mới"
+
+#: sql_help.c:5029
+msgid "define a new domain"
+msgstr "định nghĩa một domain mới"
+
+#: sql_help.c:5034
+msgid "define a new event trigger"
+msgstr "định nghĩa một sự kiện trigger mới"
+
+#: sql_help.c:5039
+msgid "install an extension"
+msgstr "cài đặt một extension"
+
+#: sql_help.c:5044
+msgid "define a new foreign-data wrapper"
+msgstr ""
+
+#: sql_help.c:5049
+msgid "define a new foreign table"
+msgstr "định nghĩa một bảng ngoại khóa mới"
+
+#: sql_help.c:5054
+msgid "define a new function"
+msgstr "định nghĩa một hàm mới"
+
+#: sql_help.c:5059 sql_help.c:5109 sql_help.c:5194
+msgid "define a new database role"
+msgstr "định nghĩa một database role mới"
+
+#: sql_help.c:5064
+msgid "define a new index"
+msgstr "định nghĩa một index mới"
+
+#: sql_help.c:5069
+msgid "define a new procedural language"
+msgstr "định nghĩa một ngôn ngữ thủ tục mới"
+
+#: sql_help.c:5074
+msgid "define a new materialized view"
+msgstr "định nghĩa một materialized view mới"
+
+#: sql_help.c:5079
+msgid "define a new operator"
+msgstr "định nghĩa một toán tử mới"
+
+#: sql_help.c:5084
+msgid "define a new operator class"
+msgstr "định nghĩa một operator class mới"
+
+#: sql_help.c:5089
+msgid "define a new operator family"
+msgstr "định nghĩa một operator family mới"
+
+#: sql_help.c:5094
+msgid "define a new row level security policy for a table"
+msgstr ""
+
+#: sql_help.c:5099
+msgid "define a new procedure"
+msgstr "định nghĩa một thủ tục mới"
+
+#: sql_help.c:5104
+msgid "define a new publication"
+msgstr "định nghĩa một publication mới"
+
+#: sql_help.c:5114
+msgid "define a new rewrite rule"
+msgstr "định nghĩa một rewrite rule mới"
+
+#: sql_help.c:5119
+msgid "define a new schema"
+msgstr "định nghĩa một schema mới"
+
+#: sql_help.c:5124
+msgid "define a new sequence generator"
+msgstr ""
+
+#: sql_help.c:5129
+msgid "define a new foreign server"
+msgstr ""
+
+#: sql_help.c:5134
+msgid "define extended statistics"
+msgstr "định nghĩa statistic mở rộng"
+
+#: sql_help.c:5139
+msgid "define a new subscription"
+msgstr "định nghĩa một subscription mới"
+
+#: sql_help.c:5144
+msgid "define a new table"
+msgstr "định nghĩa một bảng mới"
+
+#: sql_help.c:5149 sql_help.c:5579
+msgid "define a new table from the results of a query"
+msgstr ""
+
+#: sql_help.c:5154
+msgid "define a new tablespace"
+msgstr "định nghĩa một tablespace mới"
+
+#: sql_help.c:5159
+msgid "define a new text search configuration"
+msgstr ""
+
+#: sql_help.c:5164
+msgid "define a new text search dictionary"
+msgstr ""
+
+#: sql_help.c:5169
+msgid "define a new text search parser"
+msgstr ""
+
+#: sql_help.c:5174
+msgid "define a new text search template"
+msgstr ""
+
+#: sql_help.c:5179
+msgid "define a new transform"
+msgstr "định nghĩa một transform mới"
+
+#: sql_help.c:5184
+msgid "define a new trigger"
+msgstr "định nghĩa một trigger mới"
+
+#: sql_help.c:5189
+msgid "define a new data type"
+msgstr "định nghĩa một kiểu dữ liệu mới"
+
+#: sql_help.c:5199
+msgid "define a new mapping of a user to a foreign server"
+msgstr ""
+
+#: sql_help.c:5204
+msgid "define a new view"
+msgstr "định nghĩa một view mới"
+
+#: sql_help.c:5209
+msgid "deallocate a prepared statement"
+msgstr "giải phóng một prepared statement"
+
+#: sql_help.c:5214
+msgid "define a cursor"
+msgstr "định nghĩa con trỏ"
+
+#: sql_help.c:5219
+msgid "delete rows of a table"
+msgstr "xóa các dòng của một bảng"
+
+#: sql_help.c:5224
+msgid "discard session state"
+msgstr "loại bỏ trạng thái phiên"
+
+#: sql_help.c:5229
+msgid "execute an anonymous code block"
+msgstr ""
+
+#: sql_help.c:5234
+msgid "remove an access method"
+msgstr "xóa một access method"
+
+#: sql_help.c:5239
+msgid "remove an aggregate function"
+msgstr "xóa một aggregate function"
+
+#: sql_help.c:5244
+msgid "remove a cast"
+msgstr "xóa một cast"
+
+#: sql_help.c:5249
+msgid "remove a collation"
+msgstr "xóa một collation"
+
+#: sql_help.c:5254
+msgid "remove a conversion"
+msgstr "xóa một conversion"
+
+#: sql_help.c:5259
+msgid "remove a database"
+msgstr "xóa một cơ sở dữ liệu"
+
+#: sql_help.c:5264
+msgid "remove a domain"
+msgstr "xóa một domain"
+
+#: sql_help.c:5269
+msgid "remove an event trigger"
+msgstr "xóa một sự kiện trigger"
+
+#: sql_help.c:5274
+msgid "remove an extension"
+msgstr "xóa một extension"
+
+#: sql_help.c:5279
+msgid "remove a foreign-data wrapper"
+msgstr "xóa một foreign-data wrapper"
+
+#: sql_help.c:5284
+msgid "remove a foreign table"
+msgstr "xóa một bảng ngoại khóa"
+
+#: sql_help.c:5289
+msgid "remove a function"
+msgstr "xóa một hàm"
+
+#: sql_help.c:5294 sql_help.c:5349 sql_help.c:5434
+msgid "remove a database role"
+msgstr "xóa một database role"
+
+#: sql_help.c:5299
+msgid "remove an index"
+msgstr "xóa một index"
+
+#: sql_help.c:5304
+msgid "remove a procedural language"
+msgstr "xóa một ngôn ngữ thủ tục"
+
+#: sql_help.c:5309
+msgid "remove a materialized view"
+msgstr "loại bỏ một materialized view"
+
+#: sql_help.c:5314
+msgid "remove an operator"
+msgstr "xóa một toán tử"
+
+#: sql_help.c:5319
+msgid "remove an operator class"
+msgstr "xóa một operator class"
+
+#: sql_help.c:5324
+msgid "remove an operator family"
+msgstr "xóa một operator family"
+
+#: sql_help.c:5329
+msgid "remove database objects owned by a database role"
+msgstr ""
+
+#: sql_help.c:5334
+msgid "remove a row level security policy from a table"
+msgstr ""
+
+#: sql_help.c:5339
+msgid "remove a procedure"
+msgstr "xóa một thủ tục"
+
+#: sql_help.c:5344
+msgid "remove a publication"
+msgstr "xóa một publication"
+
+#: sql_help.c:5354
+msgid "remove a routine"
+msgstr "xóa một routine"
+
+#: sql_help.c:5359
+msgid "remove a rewrite rule"
+msgstr "xóa một rewrite rule"
+
+#: sql_help.c:5364
+msgid "remove a schema"
+msgstr "xóa một schema"
+
+#: sql_help.c:5369
+msgid "remove a sequence"
+msgstr "xóa một sequence"
+
+#: sql_help.c:5374
+msgid "remove a foreign server descriptor"
+msgstr ""
+
+#: sql_help.c:5379
+msgid "remove extended statistics"
+msgstr "xóa các statistic mở rộng"
+
+#: sql_help.c:5384
+msgid "remove a subscription"
+msgstr "xóa một subscription"
+
+#: sql_help.c:5389
+msgid "remove a table"
+msgstr "xóa một bảng"
+
+#: sql_help.c:5394
+msgid "remove a tablespace"
+msgstr "xóa một tablespace"
+
+#: sql_help.c:5399
+msgid "remove a text search configuration"
+msgstr ""
+
+#: sql_help.c:5404
+msgid "remove a text search dictionary"
+msgstr ""
+
+#: sql_help.c:5409
+msgid "remove a text search parser"
+msgstr ""
+
+#: sql_help.c:5414
+msgid "remove a text search template"
+msgstr ""
+
+#: sql_help.c:5419
+msgid "remove a transform"
+msgstr "xóa một transform"
+
+#: sql_help.c:5424
+msgid "remove a trigger"
+msgstr "xóa một trigger"
+
+#: sql_help.c:5429
+msgid "remove a data type"
+msgstr "xóa một kiểu dữ liệu"
+
+#: sql_help.c:5439
+msgid "remove a user mapping for a foreign server"
+msgstr ""
+
+#: sql_help.c:5444
+msgid "remove a view"
+msgstr "xóa một view"
+
+#: sql_help.c:5454
+msgid "execute a prepared statement"
+msgstr "thực thi một câu lệnh có sẵn"
+
+#: sql_help.c:5459
+msgid "show the execution plan of a statement"
+msgstr ""
+
+#: sql_help.c:5464
+msgid "retrieve rows from a query using a cursor"
+msgstr ""
+
+#: sql_help.c:5469
+msgid "define access privileges"
+msgstr "định nghĩa quyền truy cập"
+
+#: sql_help.c:5474
+msgid "import table definitions from a foreign server"
+msgstr ""
+
+#: sql_help.c:5479
+msgid "create new rows in a table"
+msgstr "tạo thêm dòng mới trong một bảng"
+
+#: sql_help.c:5484
+msgid "listen for a notification"
+msgstr ""
+
+#: sql_help.c:5489
+msgid "load a shared library file"
+msgstr ""
+
+#: sql_help.c:5494
+msgid "lock a table"
+msgstr "khóa một bảng"
+
+#: sql_help.c:5499
+msgid "position a cursor"
+msgstr "vị trí một con trỏ"
+
+#: sql_help.c:5504
+msgid "generate a notification"
+msgstr ""
+
+#: sql_help.c:5509
+msgid "prepare a statement for execution"
+msgstr "chuẩn bị một câu lệnh để thực thi"
+
+#: sql_help.c:5514
+msgid "prepare the current transaction for two-phase commit"
+msgstr "chuẩn bị giao dịch hiện tại cho commit hai giai đoạn"
+
+#: sql_help.c:5519
+msgid "change the ownership of database objects owned by a database role"
+msgstr ""
+"thay đổi quyền sở hữu của đối tượng trong cơ sở dữ liệu của một vai trò "
+"trong cơ sở dữ liệu"
+
+#: sql_help.c:5524
+msgid "replace the contents of a materialized view"
+msgstr "thay thế nội dung của một materialized view"
+
+#: sql_help.c:5529
+msgid "rebuild indexes"
+msgstr "xây dựng lại các indexes"
+
+#: sql_help.c:5534
+msgid "destroy a previously defined savepoint"
+msgstr "phá hủy một điểm lưu trữ đã xác định trước đó"
+
+#: sql_help.c:5539
+msgid "restore the value of a run-time parameter to the default value"
+msgstr "khôi phục giá trị của tham số thời gian chạy đến giá trị mặc định"
+
+#: sql_help.c:5544
+msgid "remove access privileges"
+msgstr "loại bỏ quyền truy cập"
+
+#: sql_help.c:5554
+msgid "cancel a transaction that was earlier prepared for two-phase commit"
+msgstr "hủy giao dịch đã được chuẩn bị trước đó cho commit hai giai đoạn"
+
+#: sql_help.c:5559
+msgid "roll back to a savepoint"
+msgstr "quay trở lại một thời điểm lưu trữ"
+
+#: sql_help.c:5564
+msgid "define a new savepoint within the current transaction"
+msgstr "xác định một điểm lưu mới trong giao dịch hiện tại"
+
+#: sql_help.c:5569
+msgid "define or change a security label applied to an object"
+msgstr "xác định hoặc thay đổi nhãn bảo mật được áp dụng cho đối tượng"
+
+#: sql_help.c:5574 sql_help.c:5619 sql_help.c:5649
+msgid "retrieve rows from a table or view"
+msgstr "truy xuất các hàng từ một table hoặc một view"
+
+#: sql_help.c:5584
+msgid "change a run-time parameter"
+msgstr "thay đổi tham số run-time"
+
+#: sql_help.c:5589
+msgid "set constraint check timing for the current transaction"
+msgstr "đặt thời gian kiểm tra ràng buộc cho giao dịch hiện tại"
+
+#: sql_help.c:5594
+msgid "set the current user identifier of the current session"
+msgstr "đặt nhận dạng người dùng hiện tại cho phiên hiện tại"
+
+#: sql_help.c:5599
+msgid ""
+"set the session user identifier and the current user identifier of the "
+"current session"
+msgstr ""
+"đặt phiên nhận dạng người dùng và đặt nhận dạng người dùng hiện tại cho "
+"phiên hiện tại"
+
+#: sql_help.c:5604
+msgid "set the characteristics of the current transaction"
+msgstr "thiết lập các đặc điểm của giao dịch hiện tại"
+
+#: sql_help.c:5609
+msgid "show the value of a run-time parameter"
+msgstr "hiển thị giá trị của tham số run-time"
+
+#: sql_help.c:5624
+msgid "empty a table or set of tables"
+msgstr "làm trống một bảng hoặc một bộ bảng"
+
+#: sql_help.c:5629
+msgid "stop listening for a notification"
+msgstr "ngừng nghe thông báo"
+
+#: sql_help.c:5634
+msgid "update rows of a table"
+msgstr "cập nhật thông tin các dòng của một bảng"
+
+#: sql_help.c:5639
+msgid "garbage-collect and optionally analyze a database"
+msgstr "thu thập rác và tùy chọn phân tích cơ sở dữ liệu"
+
+#: sql_help.c:5644
+msgid "compute a set of rows"
+msgstr "tính toán một tập hợp các hàng"
+
+#: startup.c:190
+#, c-format
+msgid "%s: -1 can only be used in non-interactive mode\n"
+msgstr "%s: Chỉ có thể sử dụng -1 ở chế độ không tương tác\n"
+
+#: startup.c:305
+#, c-format
+msgid "%s: could not open log file \"%s\": %s\n"
+msgstr "%s: không mở được file nhật kí \"%s\": %s\n"
+
+#: startup.c:412
+#, c-format
+msgid ""
+"Type \"help\" for help.\n"
+"\n"
+msgstr ""
+"Gõ \"help\" để trợ giúp.\n"
+"\n"
+
+#: startup.c:561
+#, c-format
+msgid "%s: could not set printing parameter \"%s\"\n"
+msgstr "%s: không thể thiết lập thông số in \"%s\"\n"
+
+#: startup.c:663
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "Thử \"%s --help\" để biết thêm thông tin.\n"
+
+#: startup.c:680
+#, c-format
+msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
+msgstr "%s: cảnh báo: các đối số bổ sung của dòng lệnh \"%s\" bị bỏ qua\n"
+
+#: startup.c:729
+#, c-format
+msgid "%s: could not find own program executable\n"
+msgstr "%s: không thể tìm thấy chương trình riêng có thể chạy được\n"
+
+#: tab-complete.c:4473
+#, c-format
+msgid ""
+"tab completion query failed: %s\n"
+"Query was:\n"
+"%s\n"
+msgstr ""
+"truy vấn hoàn thành tab không thành công: %s\n"
+"Truy vấn là:\n"
+"%s\n"
+
+#: variables.c:139
+#, c-format
+msgid "unrecognized value \"%s\" for \"%s\": Boolean expected\n"
+msgstr "giá trị \"%s\" bị lỗi cho \"%s\": cần giá trị boolean\n"
+
+#: variables.c:176
+#, c-format
+msgid "invalid value \"%s\" for \"%s\": integer expected\n"
+msgstr "giá trị \"%s\" bị lỗi cho \"%s\": cần giá trị integer\n"
+
+#: variables.c:224
+#, c-format
+msgid "invalid variable name: \"%s\"\n"
+msgstr "tên biến sai: \"%s\"\n"
+
+#: variables.c:393
+#, c-format
+msgid ""
+"unrecognized value \"%s\" for \"%s\"\n"
+"Available values are: %s.\n"
+msgstr ""
+"không xác định giá trị \"%s\" cho \"%s\"\n"
+"Các giá trị cho phép bao gồm: %s.\n"