Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
0f74fb78
Commit
0f74fb78
authored
Nov 27, 2001
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Chinese PO patch
Laser.
parent
e58261ca
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
162 additions
and
110 deletions
+162
-110
doc/FAQ_DEV
doc/FAQ_DEV
+77
-21
src/interfaces/libpq/zh_CN.po
src/interfaces/libpq/zh_CN.po
+85
-89
No files found.
doc/FAQ_DEV
View file @
0f74fb78
Developer
's Frequently Asked Questions (FAQ) for PostgreSQL
Last updated:
Fri Jun 9 21:54:54 EDT 2000
Last updated:
Mon Nov 26 21:48:19 EST 2001
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
...
...
@@ -30,6 +30,7 @@
14) Why don'
t
we
use
threads
in
the
backend
?
15
)
How
are
RPM
's packaged?
16) How are CVS branches handled?
17) How do I get involved in PostgreSQL development?
_________________________________________________________________
1) What tools are available for developers?
...
...
@@ -444,22 +445,22 @@ typedef struct nameData
15) How are RPM's packaged?
This
is from
Lamar Owen:
This
was written by
Lamar Owen:
As to how the RPMs are built -- to answer that question sanely requires
me to know how much experience you have with the whole RPM paradigm.
'How is the RPM built?' is a multifaceted question. The obvious simple
answer is that I maintain:
1.)
A set of patches to make certain portions of the source
tree 'behave' in the different environment of the RPMset;
2.)
The initscript;
3.)
Any other ancilliary scripts and files;
4.)
A README.rpm-dist document that tries to adequately document
both the differences between the RPM build and the WHY of the
differences, as well as useful RPM environment operations
(like, using syslog, upgrading, getting postmaster to
start at OS boot, etc);
5.)
The spec file that throws it all together. This is not a
trivial undertaking in a package of this size.
1.)
A set of patches to make certain portions of the source
tree 'behave' in the different environment of the RPMset;
2.)
The initscript;
3.)
Any other ancilliary scripts and files;
4.)
A README.rpm-dist document that tries to adequately document
both the differences between the RPM build and the WHY of the
differences, as well as useful RPM environment operations
(like, using syslog, upgrading, getting postmaster to
start at OS boot, etc);
5.)
The spec file that throws it all together. This is not a
trivial undertaking in a package of this size.
I then download and build on as many different canonical distributions
as I can -- currently I am able to build on Red Hat 6.2, 7.0, and 7.1 on
...
...
@@ -582,9 +583,9 @@ snapshot whereas a branch is a changeable fileset.) Rule of thumb is
that names attached to four-number versions where the third number is
zero represent branches, the others are just tags. Here we can see that
the extant branches are
REL7_1_STABLE
REL7_0_PATCHES
REL6_5_PATCHES
REL7_1_STABLE
REL7_0_PATCHES
REL6_5_PATCHES
The next commit to the head will be revision 1.107, whereas any changes
committed into the REL7_1_STABLE branch will have revision numbers like
1.106.2.*, corresponding to the branch number 1.106.0.2 (don't ask where
...
...
@@ -601,17 +602,17 @@ stable branch, you'd better be doubly sure that it's correct.)
Normally, to checkout the head branch, you just cd to the place you
want to contain the toplevel "
pgsql
" directory and say
cvs ... checkout pgsql
cvs ... checkout pgsql
To get a past branch, you cd to whereever you want it and say
cvs ... checkout -r BRANCHNAME pgsql
cvs ... checkout -r BRANCHNAME pgsql
For example, just a couple days ago I did
mkdir ~postgres/REL7_1
cd ~postgres/REL7_1
cvs ... checkout -r REL7_1_STABLE pgsql
mkdir ~postgres/REL7_1
cd ~postgres/REL7_1
cvs ... checkout -r REL7_1_STABLE pgsql
and now I have a maintenance copy of 7.1.*.
...
...
@@ -630,3 +631,58 @@ or two, so that we won't have to double-patch the first wave of fixes.
Also, Ian Lance Taylor points out that branches and tags can be
distiguished by using "
cvs
status
-
v
".
17) How go I get involved in PostgreSQL development?
This was written by Lamar Owen:
> If someone was interested in joining the development team, where would
> they...
> - Find a description of the open source development process used by the
> PostgreSQL team.
Read HACKERS for six months (or a full release cycle, whichever is longer).
Really. HACKERS _is_the process. The process is not well documented (AFAIK
-- it may be somewhere that I am not aware of) -- and it changes continually.
> - Find the development environment (OS, system, compilers, etc)
> required to develop code.
Developers Corner on the website has links to this information. The
distribution tarball itself includes all the extra tools and documents that
go beyond a good Unix-like development environment. In general, a modern
unix with a modern gcc, GNU make or equivalent, autoconf (of a particular
version), and good working knowledge of those tools are required.
> - Find an area or two that needs some support.
The TODO list.
You've made the first step, by finding and subscribing to HACKERS. Once you
find an area to look at in the TODO, and have read the documentation on the
internals, etc, then you check out a current CVS,write what you are going to
write (keeping your CVS checkout up to date in the process), and make up a
patch (as a context diff only) and send to the PATCHES list, prefereably.
Discussion on the patch typically happens here. If the patch adds a major
feature, it would be a good idea to talk about it first on the HACKERS list,
in order to increase the chances of it being accepted, as well as toavoid
duplication of effort. Note that experienced developers with a proven track
record usually get the big jobs -- for more than one reason. Also note that
PostgreSQL is highly portable -- nonportable code will likely be dismissed
out of hand.
Once your contributions get accepted, things move from there. Typically, you
would be added as a developer on the list on the website when one of the
other developers recommends it. Membership on the steering committee is by
invitation only, by the other steering committee members, from what I have
gathered watching froma distance.
I make these statements from having watched the process for over two years.
To see a good example of how one goes about this, search the archives for the
name 'Tom Lane' and see what his first post consisted of, and where he took
things. In particular, note that this hasn't been _that_ long ago -- and his
bugfixing and general deep knowledge with this codebase is legendary. Take a
few days to read after him. And pay special attention to both the sheer
quantity as well as the painstaking quality of his work. Both are in high
demand.
src/interfaces/libpq/zh_CN.po
View file @
0f74fb78
# simplified Chinese translation file for libpq
# Weiping He <laser@zhengmai.com.cn>, 2001
#
#, fuzzy
# $Header: /cvsroot/pgsql/src/interfaces/libpq/Attic/zh_CN.po,v 1.2 2001/11/27 17:51:54 momjian Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: PostgreSQL 7.2\n"
"POT-Creation-Date: 2001-1
0-01 10:02
+0800\n"
"PO-Revision-Date: 2001-1
0-01 23:42:27
+0800\n"
"POT-Creation-Date: 2001-1
1-27 20:20
+0800\n"
"PO-Revision-Date: 2001-1
1-27 20:22:06
+0800\n"
"Last-Translator: Weiping He <laser@zhengmai.com.cn>\n"
"Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=
gb_
2312\n"
"Content-Type: text/plain; charset=
GB
2312\n"
"Content-Transfer-Encoding: 8bit\n"
#: fe-auth.c:22
9
#: fe-auth.c:22
8
#, c-format
msgid "Kerberos 4 error: %s\n"
msgstr "Kerberos 4 错误: %s\n"
#: fe-auth.c:39
3
#: fe-auth.c:39
1
#, c-format
msgid "could not set socket to blocking mode: %s\n"
msgstr "无法将套接字设置为阻塞模式: %s\n"
#: fe-auth.c:40
9
#: fe-auth.c:40
7
#, c-format
msgid "Kerberos 5 authentication rejected: %*s\n"
msgstr "kerberos 5 认证拒绝: %*s\n"
#: fe-auth.c:42
9
#: fe-auth.c:42
7
#, c-format
msgid "could not restore non-blocking mode on socket: %s\n"
msgstr "无法在套接字: %s 上
回
复非阻塞模式\n"
msgstr "无法在套接字: %s 上
恢
复非阻塞模式\n"
#: fe-auth.c:573
#: fe-auth.c:490
msgid "SCM_CRED authentication method not supported\n"
msgstr "不支持 SCM_CRED 认证方式\n"
#: fe-auth.c:576
msgid "Kerberos 4 authentication failed\n"
msgstr "Kerberos 4 认证失败\n"
#: fe-auth.c:5
79
#: fe-auth.c:5
82
msgid "Kerberos 4 authentication not supported\n"
msgstr "不支持 Kerberos 4 认证\n"
#: fe-auth.c:59
0
#: fe-auth.c:59
3
msgid "Kerberos 5 authentication failed\n"
msgstr "Kerberos 5 认证失败\n"
#: fe-auth.c:59
6
#: fe-auth.c:59
9
msgid "Kerberos 5 authentication not supported\n"
msgstr "不支持 Kerberos 5 认证\n"
#: fe-auth.c:623
msgid "SCM_CRED authentication method not supported\n"
msgstr "不支持 SCM_CRED 认证方式\n"
#: fe-auth.c:630
#: fe-auth.c:627
#, c-format
msgid "authentication method %u not supported\n"
msgstr "不支持 %u 认证方式\n"
#: fe-auth.c:66
7
#: fe-auth.c:66
4
#, c-format
msgid "invalid authentication service name \"%s\", ignored\n"
msgstr "忽略非法认证服务名 \"%s\"\n"
#: fe-auth.c:72
4
#: fe-auth.c:72
1
#, c-format
msgid "fe_getauthname: invalid authentication system: %d\n"
msgstr "fe_getauthname: 无效的认证系统: %d\n"
...
...
@@ -72,17 +73,17 @@ msgstr "fe_getauthname:
msgid "could not determine the PostgreSQL user name to use\n"
msgstr "无法判断要使用的 PostgreSQL 用户名\n"
#: fe-connect.c:70
5
#: fe-connect.c:70
3
#, c-format
msgid "could not set socket to non-blocking mode: %s\n"
msgstr "无法将套接字设置为非阻塞模式: %s\n"
#: fe-connect.c:72
9
#: fe-connect.c:72
7
#, c-format
msgid "could not set socket to TCP no delay mode: %s\n"
msgstr "无法将套接字设置为 TCP 无延迟模式: %s\n"
#: fe-connect.c:74
9
#: fe-connect.c:74
7
#, c-format
msgid ""
"could not connect to server: %s\n"
...
...
@@ -93,7 +94,7 @@ msgstr ""
"\t服务器是否在本地运行并且在 Unix 域套接字\n"
"\t\"%s\"上准备接受联接?\n"
#: fe-connect.c:75
8
#: fe-connect.c:75
6
#, c-format
msgid ""
"could not connect to server: %s\n"
...
...
@@ -104,47 +105,47 @@ msgstr ""
"\t服务器是否在主机 %s 上运行并且准备接受在端口\n"
"%s 上的 TCP/IP 联接?\n"
#: fe-connect.c:82
3
#: fe-connect.c:82
0
#, c-format
msgid "invalid host address: %s\n"
msgstr "无效的主机地址: %s\n"
#: fe-connect.c:8
42
#: fe-connect.c:8
39
#, c-format
msgid "unknown host name: %s\n"
msgstr "未知主机名: %s\n"
#: fe-connect.c:88
4
#: fe-connect.c:88
1
#, c-format
msgid "could not create socket: %s\n"
msgstr "无法创建套接字: %s\n"
#: fe-connect.c:94
7
#: fe-connect.c:94
4
#, c-format
msgid "could not send SSL negotiation packet: %s\n"
msgstr "无法发送 SSL 握手包: %s\n"
#: fe-connect.c:95
5
#: fe-connect.c:95
2
#, c-format
msgid "could not receive server response to SSL negotiation packet: %s\n"
msgstr "无法收到服务器对 SSL 握手包的响应: %s\n"
#: fe-connect.c:96
9
#: fe-connect.c:96
6
#, c-format
msgid "could not create SSL context: %s\n"
msgstr "无法创建 SSL 环境: %s\n"
#: fe-connect.c:97
9
#: fe-connect.c:97
6
#, c-format
msgid "could not establish SSL connection: %s\n"
msgstr "无法建立 SSL 联接: %s\n"
#: fe-connect.c:99
7
#: fe-connect.c:99
9
#, c-format
msgid "received invalid response to SSL negotiation: %c\n"
msgstr "收到对 SSL 握手的无效响应: %c\n"
#: fe-connect.c:100
6
#: fe-connect.c:100
8
msgid "server does not support SSL, but SSL was required\n"
msgstr "服务器不支持 SSL, 但是要求使用 SSL\n"
...
...
@@ -172,208 +173,203 @@ msgstr "
msgid "expected authentication request from server, but received %c\n"
msgstr "期待来自服务器的认证请求, 却收到 %c\n"
#: fe-connect.c:143
3
#: fe-connect.c:143
2
msgid "unexpected message from server during startup\n"
msgstr "启动过程中收到来自服务器的非预期信息\n"
#: fe-connect.c:149
2
#: fe-connect.c:149
1
#, c-format
msgid "invalid connection state %c, probably indicative of memory corruption\n"
msgstr "无效的联接状态 %c, 可能是存储器数据被破坏的标志\n"
#: fe-connect.c:159
2
#: fe-connect.c:159
0
#, c-format
msgid "invalid setenv state %c, probably indicative of memory corruption\n"
msgstr "无效的 setenv 状态 %c, 可能是存储器数据被破坏的标志\n"
#: fe-connect.c:163
3
#: fe-connect.c:163
0
#, c-format
msgid "invalid encoding name in PGCLIENTENCODING: %s\n"
msgstr "在 PGCLIENTENCODING 中的非法编码名: %s\n"
#: fe-connect.c:175
8
#: fe-connect.c:175
5
#, c-format
msgid "invalid state %c, probably indicative of memory corruption\n"
msgstr "无效状态 %c, 可能是存储器数据被破坏的标志\n"
#: fe-connect.c:237
9 fe-connect.c:2388 fe-exec.c:1128 fe-lobj.c:527
#: fe-connect.c:237
4 fe-connect.c:2383 fe-exec.c:1184 fe-lobj.c:536
msgid "out of memory\n"
msgstr "内存用尽\n"
#: fe-connect.c:242
7
#: fe-connect.c:242
2
#, c-format
msgid "missing \"=\" after \"%s\" in connection info string\n"
msgstr "在联接信息字串里的 \"%s\" 后面缺少 \"=\"\n"
#: fe-connect.c:247
6
#: fe-connect.c:247
1
msgid "unterminated quoted string in connection info string\n"
msgstr "联接信息字串中未结束的引号字串\n"
#: fe-connect.c:25
10
#: fe-connect.c:25
05
#, c-format
msgid "invalid connection option \"%s\"\n"
msgstr "非法联接选项 \"%s\"\n"
#: fe-connect.c:2
695
#: fe-connect.c:2
720
msgid "connection pointer is NULL\n"
msgstr "联接指针是 NULL\n"
#: fe-exec.c:
570
#: fe-exec.c:
633
msgid "command string is a null pointer\n"
msgstr "命令字串是一个空指针\n"
#: fe-exec.c:
578
#: fe-exec.c:
641
msgid "no connection to the server\n"
msgstr "没有到服务器的联接\n"
#: fe-exec.c:
585
#: fe-exec.c:
648
msgid "another command is already in progress\n"
msgstr "已经有另外一条命令在处理\n"
#: fe-exec.c:
788
#: fe-exec.c:
846
#, c-format
msgid "message type 0x%02x arrived from server while idle\n"
msgstr "空闲时从服务器返回了类型为 0x%02x 的消息\n"
#: fe-exec.c:8
31
#: fe-exec.c:8
88
#, c-format
msgid ""
"unexpected character %c following empty query response (\"I\" message)\n"
msgstr ""
"在空的查询响应后面跟着非预期的字符 %c (\"I\" 消息)\n"
msgstr "在空的查询响应后面跟着非预期的字符 %c (\"I\" 消息)\n"
#: fe-exec.c:
889
#: fe-exec.c:
945
msgid ""
"server sent data (\"D\" message) without prior row description (\"T\" "
"message)\n"
msgstr ""
"服务器在没有发送行描述的前提下发送数据 (\"D\" 消息) (\"T\" "
"消息)\n"
msgstr "服务器在没有发送行描述的前提下发送数据 (\"D\" 消息) (\"T\" 消息)\n"
#: fe-exec.c:9
06
#: fe-exec.c:9
62
msgid ""
"server sent binary data (\"B\" message) without prior row description (\"T\" "
"message)\n"
msgstr ""
"服务器在没有发送行描述的前提下发送数据 (\"B\" 消息) (\"T\" "
"消息)\n"
msgstr "服务器在没有发送行描述的前提下发送数据 (\"B\" 消息) (\"T\" 消息)\n"
#: fe-exec.c:9
22
#: fe-exec.c:9
78
#, c-format
msgid "unexpected response from server; first received character was \"%c\"\n"
msgstr "来自服务器的意外响应; 收到的第一个字符是 \"%c\"\n"
#: fe-exec.c:12
16
#: fe-exec.c:12
71
#, c-format
msgid "unexpected asyncStatus: %d\n"
msgstr "意外的 asyncStatus(异步状态): %d\n"
#: fe-exec.c:1
266
#: fe-exec.c:1
321
msgid "COPY state must be terminated first\n"
msgstr "COPY 状态必须先结束\n"
#: fe-exec.c:16
17
#: fe-exec.c:16
72
msgid "no COPY in progress\n"
msgstr "没有正在处理的 COPY\n"
#: fe-exec.c:1
656
#: fe-exec.c:1
711
msgid "lost synchronization with server, resetting connection\n"
msgstr "失去与服务器的同步, 重置联接\n"
#: fe-exec.c:17
21
#: fe-exec.c:17
76
msgid "connection in wrong state\n"
msgstr "联接处于错误状态\n"
#: fe-exec.c:18
23 fe-exec.c:1857
#: fe-exec.c:18
78 fe-exec.c:1912
#, c-format
msgid "protocol error: id=0x%x\n"
msgstr "协议错误: id=0x%x\n"
#: fe-exec.c:1
892
#: fe-exec.c:1
947
msgid "invalid ExecStatusType code"
msgstr "非法 ExecStatusType 代码"
#: fe-exec.c:
1945 fe-exec.c:1978
#: fe-exec.c:
2000 fe-exec.c:2033
#, c-format
msgid "column number %d is out of range 0..%d\n"
msgstr "列号码 %d 超出了范围 0..%d\n"
#: fe-exec.c:
1967
#: fe-exec.c:
2022
#, c-format
msgid "row number %d is out of range 0..%d\n"
msgstr "行号码 %d 超出了范围 0..%d\n"
#: fe-exec.c:2
163
#: fe-exec.c:2
217
#, c-format
msgid "could not interpret result from server: %s\n"
msgstr "无法解释来自服务器的结果: %s\n"
#: fe-exec.c:2
179
#: fe-exec.c:2
233
msgid "no row count available\n"
msgstr "没有可获得的行数\n"
#: fe-lobj.c:
398 fe-lobj.c:477
#: fe-lobj.c:
400 fe-lobj.c:483
#, c-format
msgid "could not open file \"%s\": %s\n"
msgstr "无法打开文件 \"%s\": %s\n"
#: fe-lobj.c:41
0
#: fe-lobj.c:41
2
#, c-format
msgid "could not create large object for file \"%s\"\n"
msgstr "无法为文件 \"%s\" 创建大对象\n"
#: fe-lobj.c:4
19 fe-lobj.c:466
#: fe-lobj.c:4
22 fe-lobj.c:472
#, c-format
msgid "could not open large object %u\n"
msgstr "无法打开大对象 %u\n"
#: fe-lobj.c:43
3
#: fe-lobj.c:43
7
#, c-format
msgid "error while reading file \"%s\"\n"
msgstr "读取文件 \"%s\" 时出错\n"
#: fe-lobj.c:49
1
#: fe-lobj.c:49
8
#, c-format
msgid "error while writing to file \"%s\"\n"
msgstr "写入文件 \"%s\" 时出错\n"
#: fe-lobj.c:5
55
#: fe-lobj.c:5
64
msgid "query to initialize large object functions did not return data\n"
msgstr "初始化大对象函数的查询没有返回数据\n"
#: fe-lobj.c:
593
#: fe-lobj.c:
602
msgid "cannot determine OID of function lo_open\n"
msgstr "无法判断函数 lo_open 的 OID\n"
#: fe-lobj.c:60
0
#: fe-lobj.c:60
9
msgid "cannot determine OID of function lo_close\n"
msgstr "无法判断函数 lo_close 的 OID\n"
#: fe-lobj.c:6
07
#: fe-lobj.c:6
16
msgid "cannot determine OID of function lo_creat\n"
msgstr "无法判断函数 lo_creat 的 OID\n"
#: fe-lobj.c:6
14
#: fe-lobj.c:6
23
msgid "cannot determine OID of function lo_unlink\n"
msgstr "无法判断函数 lo_unlink 的 OID\n"
#: fe-lobj.c:6
21
#: fe-lobj.c:6
30
msgid "cannot determine OID of function lo_lseek\n"
msgstr "无法判断函数 lo_lseek 的 OID\n"
#: fe-lobj.c:6
28
#: fe-lobj.c:6
37
msgid "cannot determine OID of function lo_tell\n"
msgstr "无法判断函数 lo_tell 的 OID\n"
#: fe-lobj.c:6
35
#: fe-lobj.c:6
44
msgid "cannot determine OID of function loread\n"
msgstr "无法判断函数 loread 的 OID\n"
#: fe-lobj.c:6
42
#: fe-lobj.c:6
51
msgid "cannot determine OID of function lowrite\n"
msgstr "无法判断函数 lowrite 的 OID\n"
#: fe-misc.c:13
1
#: fe-misc.c:13
0
#, c-format
msgid "could not flush enough data (space available: %d, space needed %d)\n"
msgstr "无法冲刷足够的数据 (可用空间: %d, 需要空间 %d)\n"
...
...
@@ -388,12 +384,12 @@ msgstr "pgGetInt
msgid "integer of size %lu not supported by pqPutInt\n"
msgstr "pgPutInt 不支持大小为 %lu 的整数\n"
#: fe-misc.c:355 fe-misc.c:389 fe-misc.c:77
8
#: fe-misc.c:355 fe-misc.c:389 fe-misc.c:77
7
#, c-format
msgid "select() failed: %s\n"
msgstr "select() 失败: %s\n"
#: fe-misc.c:416 fe-misc.c:616 fe-misc.c:75
7
#: fe-misc.c:416 fe-misc.c:616 fe-misc.c:75
6
msgid "connection not open\n"
msgstr "联接未打开\n"
...
...
@@ -402,7 +398,7 @@ msgstr "
msgid "could not receive data from server: %s\n"
msgstr "无法从服务器接收数据: %s\n"
#: fe-misc.c:590 fe-misc.c:67
5
#: fe-misc.c:590 fe-misc.c:67
4
msgid ""
"server closed the connection unexpectedly\n"
"\tThis probably means the server terminated abnormally\n"
...
...
@@ -412,7 +408,7 @@ msgstr ""
"\t这种现象通常意味着服务器在处理请求之前\n"
"或者正在处理请求的时候意外中止\n"
#: fe-misc.c:69
1
#: fe-misc.c:69
0
#, c-format
msgid "could not send data to server: %s\n"
msgstr "无法向服务器发送数据: %s\n"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment