pg 1.4.5-x86-mingw32 → 1.4.6-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,868 @@
1
+ # Pgの日本語訳
2
+ # Copyright (C) 2023 gemmaro.
3
+ #
4
+ msgid ""
5
+ msgstr ""
6
+ "Project-Id-Version: Pg 1.4.5\n"
7
+ "POT-Creation-Date: 2023-02-23 22:20+0900\n"
8
+ "PO-Revision-Date: 2023-02-25 14:28+0900\n"
9
+ "Last-Translator: gemmaro <gemmaro.dev@gmail.com>\n"
10
+ "Language-Team: none\n"
11
+ "Language: ja\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+
16
+ #. type: Title #
17
+ #: ../README.md:1
18
+ #, no-wrap
19
+ msgid "pg"
20
+ msgstr "pg"
21
+
22
+ #. type: Plain text
23
+ #: ../README.md:6
24
+ msgid ""
25
+ "home :: https://github.com/ged/ruby-pg docs :: http://deveiate.org/code/pg "
26
+ "clog :: link:/History.md"
27
+ msgstr ""
28
+ "home :: https://github.com/ged/ruby-pg\n"
29
+ "docs :: http://deveiate.org/code/pg\n"
30
+ "clog :: link:/History.md"
31
+
32
+ #. type: Plain text
33
+ #: ../README.md:8
34
+ msgid ""
35
+ "[![Join the chat at https://gitter.im/ged/ruby-pg](https://badges.gitter.im/"
36
+ "Join%20Chat.svg)](https://gitter.im/ged/ruby-pg?"
37
+ "utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)"
38
+ msgstr "[![https://gitter.im/ged/ruby-pg でチャットに参加](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ged/ruby-pg?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)"
39
+
40
+ #. type: Title ##
41
+ #: ../README.md:10
42
+ #, no-wrap
43
+ msgid "Description"
44
+ msgstr "説明"
45
+
46
+ #. type: Plain text
47
+ #: ../README.md:14
48
+ msgid ""
49
+ "Pg is the Ruby interface to the [PostgreSQL RDBMS](http://www.postgresql."
50
+ "org/). It works with [PostgreSQL 9.3 and later](http://www.postgresql.org/"
51
+ "support/versioning/)."
52
+ msgstr "Pgは[PostgreSQL RDBMS](http://www.postgresql.org/)へのRubyのインターフェースです。[PostgreSQL 9.3以降](http://www.postgresql.org/support/versioning/)で動作します。"
53
+
54
+ #. type: Plain text
55
+ #: ../README.md:16
56
+ msgid "A small example usage:"
57
+ msgstr "簡単な使用例は次の通りです。"
58
+
59
+ #. type: Fenced code block (ruby)
60
+ #: ../README.md:16
61
+ #, no-wrap
62
+ msgid ""
63
+ " #!/usr/bin/env ruby\n"
64
+ "\n"
65
+ " require 'pg'\n"
66
+ "\n"
67
+ " # Output a table of current connections to the DB\n"
68
+ " conn = PG.connect( dbname: 'sales' )\n"
69
+ " conn.exec( \"SELECT * FROM pg_stat_activity\" ) do |result|\n"
70
+ " puts \" PID | User | Query\"\n"
71
+ " result.each do |row|\n"
72
+ " puts \" %7d | %-16s | %s \" %\n"
73
+ " row.values_at('pid', 'usename', 'query')\n"
74
+ " end\n"
75
+ " end\n"
76
+ msgstr ""
77
+ " #!/usr/bin/env ruby\n"
78
+ "\n"
79
+ " require 'pg'\n"
80
+ "\n"
81
+ " # データベースへの現在の接続を表に出力します\n"
82
+ " conn = PG.connect( dbname: 'sales' )\n"
83
+ " conn.exec( \"SELECT * FROM pg_stat_activity\" ) do |result|\n"
84
+ " puts \" PID | User | Query\"\n"
85
+ " result.each do |row|\n"
86
+ " puts \" %7d | %-16s | %s \" %\n"
87
+ " row.values_at('pid', 'usename', 'query')\n"
88
+ " end\n"
89
+ " end\n"
90
+
91
+ #. type: Title ##
92
+ #: ../README.md:32
93
+ #, no-wrap
94
+ msgid "Build Status"
95
+ msgstr "ビルド状況"
96
+
97
+ #. type: Plain text
98
+ #: ../README.md:37
99
+ msgid ""
100
+ "[![Build Status Github Actions](https://github.com/ged/ruby-pg/actions/"
101
+ "workflows/source-gem.yml/badge.svg?branch=master)](https://github.com/ged/"
102
+ "ruby-pg/actions/workflows/source-gem.yml) [![Binary gems](https://github."
103
+ "com/ged/ruby-pg/actions/workflows/binary-gems.yml/badge.svg?branch=master)]"
104
+ "(https://github.com/ged/ruby-pg/actions/workflows/binary-gems.yml) [![Build "
105
+ "Status Appveyor](https://ci.appveyor.com/api/projects/status/"
106
+ "gjx5axouf3b1wicp?svg=true)](https://ci.appveyor.com/project/ged/ruby-"
107
+ "pg-9j8l3)"
108
+ msgstr "[![Github Actionsのビルド状況](https://github.com/ged/ruby-pg/actions/workflows/source-gem.yml/badge.svg?branch=master)](https://github.com/ged/ruby-pg/actions/workflows/source-gem.yml) [![バイナリgem](https://github.com/ged/ruby-pg/actions/workflows/binary-gems.yml/badge.svg?branch=master)](https://github.com/ged/ruby-pg/actions/workflows/binary-gems.yml) [![Appveyorのビルド状況](https://ci.appveyor.com/api/projects/status/gjx5axouf3b1wicp?svg=true)](https://ci.appveyor.com/project/ged/ruby-pg-9j8l3)"
109
+
110
+ #. type: Title ##
111
+ #: ../README.md:39
112
+ #, no-wrap
113
+ msgid "Requirements"
114
+ msgstr "要件"
115
+
116
+ #. type: Bullet: '* '
117
+ #: ../README.md:43
118
+ msgid "Ruby 2.4 or newer"
119
+ msgstr "Ruby 2.4かそれより新しいバージョン"
120
+
121
+ #. type: Bullet: '* '
122
+ #: ../README.md:43
123
+ msgid "PostgreSQL 9.3.x or later (with headers, -dev packages, etc)."
124
+ msgstr ""
125
+ "PostgreSQL 9.3.xかそれ以降のバージョン(ヘッダー付属のもの、例えば-devの名前"
126
+ "のパッケージ)。"
127
+
128
+ #. type: Plain text
129
+ #: ../README.md:46
130
+ msgid ""
131
+ "It usually works with earlier versions of Ruby/PostgreSQL as well, but those "
132
+ "are not regularly tested."
133
+ msgstr ""
134
+ "それより前のバージョンのRubyやPostgreSQLでも通常は同様に動作しますが、定期的"
135
+ "なテストはされていません。"
136
+
137
+ #. type: Title ##
138
+ #: ../README.md:48
139
+ #, no-wrap
140
+ msgid "Versioning"
141
+ msgstr "バージョン管理"
142
+
143
+ #. type: Plain text
144
+ #: ../README.md:51
145
+ msgid ""
146
+ "We tag and release gems according to the [Semantic Versioning](http://semver."
147
+ "org/) principle."
148
+ msgstr "[セマンティックバージョニング](http://semver.org/)の原則にしたがってgemをタグ付けしてリリースしています。"
149
+
150
+ #. type: Plain text
151
+ #: ../README.md:53
152
+ msgid ""
153
+ "As a result of this policy, you can (and should) specify a dependency on "
154
+ "this gem using the [Pessimistic Version Constraint](http://guides.rubygems."
155
+ "org/patterns/#pessimistic-version-constraint) with two digits of precision."
156
+ msgstr "この方針の結果として、2つの数字を指定する[悲観的バージョン制約](http://guides.rubygems.org/patterns/#pessimistic-version-constraint)を使ってこのgemへの依存関係を指定することができます(またそうすべきです)。"
157
+
158
+ #. type: Plain text
159
+ #: ../README.md:55
160
+ msgid "For example:"
161
+ msgstr "例えば次の通りです。"
162
+
163
+ #. type: Fenced code block (ruby)
164
+ #: ../README.md:56
165
+ #, no-wrap
166
+ msgid " spec.add_dependency 'pg', '~> 1.0'\n"
167
+ msgstr " spec.add_dependency 'pg', '~> 1.0'\n"
168
+
169
+ #. type: Title ##
170
+ #: ../README.md:60
171
+ #, no-wrap
172
+ msgid "How To Install"
173
+ msgstr "インストール方法"
174
+
175
+ #. type: Plain text
176
+ #: ../README.md:63
177
+ msgid "Install via RubyGems:"
178
+ msgstr "RubyGemsを経由してインストールするには以下とします。"
179
+
180
+ #. type: Plain text
181
+ #: ../README.md:65
182
+ #, no-wrap
183
+ msgid " gem install pg\n"
184
+ msgstr " gem install pg\n"
185
+
186
+ #. type: Plain text
187
+ #: ../README.md:68
188
+ msgid ""
189
+ "You may need to specify the path to the 'pg_config' program installed with "
190
+ "Postgres:"
191
+ msgstr ""
192
+ "Postgresと一緒にインストールされた'pg_config'プログラムへのパスを指定する必要"
193
+ "があるかもしれません。"
194
+
195
+ #. type: Plain text
196
+ #: ../README.md:70
197
+ #, no-wrap
198
+ msgid " gem install pg -- --with-pg-config=<path to pg_config>\n"
199
+ msgstr " gem install pg -- --with-pg-config=<path to pg_config>\n"
200
+
201
+ #. type: Plain text
202
+ #: ../README.md:72
203
+ msgid ""
204
+ "If you're installing via Bundler, you can provide compile hints like so:"
205
+ msgstr ""
206
+ "Bundlerを介してインストールした場合は次のようにコンパイルのためのヒントを与え"
207
+ "られます。"
208
+
209
+ #. type: Plain text
210
+ #: ../README.md:74
211
+ #, no-wrap
212
+ msgid " bundle config build.pg --with-pg-config=<path to pg_config>\n"
213
+ msgstr " bundle config build.pg --with-pg-config=<path to pg_config>\n"
214
+
215
+ #. type: Plain text
216
+ #: ../README.md:77
217
+ msgid ""
218
+ "See README-OS_X.rdoc for more information about installing under MacOS X, "
219
+ "and README-Windows.rdoc for Windows build/installation instructions."
220
+ msgstr ""
221
+ "MacOS Xへインストールする詳しい情報については README-OS_X.rdoc を、Windows用"
222
+ "のビルドやインストールの説明については README-Windows.rdoc を参照してくださ"
223
+ "い。"
224
+
225
+ #. type: Plain text
226
+ #: ../README.md:81
227
+ msgid ""
228
+ "There's also [a Google+ group](http://goo.gl/TFy1U) and a [mailing list]"
229
+ "(http://groups.google.com/group/ruby-pg) if you get stuck, or just want to "
230
+ "chat about something."
231
+ msgstr "詰まったときやただ何か喋りたいときのために[Google+グループ](http://goo.gl/TFy1U)と[メーリングリスト](http://groups.google.com/group/ruby-pg)もあります。"
232
+
233
+ #. type: Plain text
234
+ #: ../README.md:85
235
+ msgid ""
236
+ "If you want to install as a signed gem, the public certs of the gem signers "
237
+ "can be found in [the `certs` directory](https://github.com/ged/ruby-pg/tree/"
238
+ "master/certs) of the repository."
239
+ msgstr "署名されたgemとしてインストールしたい場合は、リポジトリの[`certs`ディレクトリ](https://github.com/ged/ruby-pg/tree/master/certs)にgemの署名をする公開証明書があります。"
240
+
241
+ #. type: Title ##
242
+ #: ../README.md:87
243
+ #, no-wrap
244
+ msgid "Type Casts"
245
+ msgstr "型変換"
246
+
247
+ #. type: Plain text
248
+ #: ../README.md:93
249
+ msgid ""
250
+ "Pg can optionally type cast result values and query parameters in Ruby or "
251
+ "native C code. This can speed up data transfers to and from the database, "
252
+ "because String allocations are reduced and conversions in (slower) Ruby code "
253
+ "can be omitted."
254
+ msgstr ""
255
+ "PgにはおまけとしてRubyとネイティブCコードにある結果の値やクエリ引数の型変換が"
256
+ "できます。\n"
257
+ "こうすることでデータベースとのデータの往来を加速させられますが、それは文字列"
258
+ "のアロケーションが減り、(より遅い)Rubyのコードでの変換部分が除かれるからで"
259
+ "す。"
260
+
261
+ #. type: Plain text
262
+ #: ../README.md:95
263
+ msgid "Very basic type casting can be enabled by:"
264
+ msgstr "とても基本的な型変換は次のようにできます。"
265
+
266
+ #. type: Fenced code block (ruby)
267
+ #: ../README.md:95
268
+ #, no-wrap
269
+ msgid ""
270
+ " conn.type_map_for_results = PG::BasicTypeMapForResults.new conn\n"
271
+ " # ... this works for result value mapping:\n"
272
+ " conn.exec(\"select 1, now(), '{2,3}'::int[]\").values\n"
273
+ " # => [[1, 2014-09-21 20:51:56 +0200, [2, 3]]]\n"
274
+ "\n"
275
+ " conn.type_map_for_queries = PG::BasicTypeMapForQueries.new conn\n"
276
+ " # ... and this for param value mapping:\n"
277
+ " conn.exec_params(\"SELECT $1::text, $2::text, $3::text\", [1, 1.23, [2,3]]).values\n"
278
+ " # => [[\"1\", \"1.2300000000000000E+00\", \"{2,3}\"]]\n"
279
+ msgstr ""
280
+ " conn.type_map_for_results = PG::BasicTypeMapForResults.new conn\n"
281
+ " # ……これは結果の値の対応付けに作用します。\n"
282
+ " conn.exec(\"select 1, now(), '{2,3}'::int[]\").values\n"
283
+ " # => [[1, 2014-09-21 20:51:56 +0200, [2, 3]]]\n"
284
+ "\n"
285
+ " conn.type_map_for_queries = PG::BasicTypeMapForQueries.new conn\n"
286
+ " # ……そしてこれは引数値の対応付けのためのものです。\n"
287
+ " conn.exec_params(\"SELECT $1::text, $2::text, $3::text\", [1, 1.23, [2,3]]).values\n"
288
+ " # => [[\"1\", \"1.2300000000000000E+00\", \"{2,3}\"]]\n"
289
+
290
+ #. type: Plain text
291
+ #: ../README.md:109
292
+ msgid ""
293
+ "But Pg's type casting is highly customizable. That's why it's divided into 2 "
294
+ "layers:"
295
+ msgstr ""
296
+ "しかしPgの型変換はかなり調整が効きます。2層に分かれているのがその理由です。"
297
+
298
+ #. type: Title ###
299
+ #: ../README.md:110
300
+ #, no-wrap
301
+ msgid "Encoders / Decoders (ext/pg_*coder.c, lib/pg/*coder.rb)"
302
+ msgstr "エンコーダーとデコーダー (ext/pg_*coder.c, lib/pg/*coder.rb)"
303
+
304
+ #. type: Plain text
305
+ #: ../README.md:117
306
+ msgid ""
307
+ "This is the lower layer, containing encoding classes that convert Ruby "
308
+ "objects for transmission to the DBMS and decoding classes to convert "
309
+ "received data back to Ruby objects. The classes are namespaced according to "
310
+ "their format and direction in PG::TextEncoder, PG::TextDecoder, PG::"
311
+ "BinaryEncoder and PG::BinaryDecoder."
312
+ msgstr "こちらはより低層で、DBMSへ転送するためにRubyのオブジェクトを変換するエンコーディングクラスと取得してきたデータをRubyのオブジェクトに変換し戻すデコーディングクラスが含まれています。クラスはそれぞれの形式によって名前空間PG::TextEncoder、PG::TextDecoder、PG::BinaryEncoder、そしてPG::BinaryDecoderに分かれています。"
313
+
314
+ # 以下によるとcomposite typeは複合型と訳すのが良さそうです。
315
+ #
316
+ # PostgreSQL 15.0文書
317
+ # 第8章 データ型
318
+ # 8.16. 複合型
319
+ # https://pgsql-jp.github.io/current/html/rowtypes.html
320
+ #
321
+ # また、type OIDはOIDデータ型としました。
322
+ #
323
+ # PostgreSQL 15.0文書
324
+ # 第8章 データ型
325
+ # 8.19. オブジェクト識別子データ型
326
+ # https://pgsql-jp.github.io/current/html/datatype-oid.html
327
+ #. type: Plain text
328
+ #: ../README.md:123
329
+ msgid ""
330
+ "It is possible to assign a type OID, format code (text or binary) and "
331
+ "optionally a name to an encoder or decoder object. It's also possible to "
332
+ "build composite types by assigning an element encoder/decoder. PG::Coder "
333
+ "objects can be used to set up a PG::TypeMap or alternatively to convert "
334
+ "single values to/from their string representation."
335
+ msgstr "エンコーダーないしデコーダーオブジェクトにOIDデータ型や形式コード(テキストないしバイナリ)や任意で名前を割り当てることができます。要素のエンコーダーないしデコーダーを割り当てることによって複合型を構築することもできます。PG::CoderオブジェクトはPG::TypeMapをセットアップしたりその代わりに単一の値と文字列表現とを相互に変換したりするのに使えます。"
336
+
337
+ #. type: Plain text
338
+ #: ../README.md:125
339
+ msgid ""
340
+ "The following PostgreSQL column types are supported by ruby-pg (TE = Text "
341
+ "Encoder, TD = Text Decoder, BE = Binary Encoder, BD = Binary Decoder):"
342
+ msgstr "ruby-pgでは以下のPostgreSQLカラム型に対応しています(TE = Text Encoder、TD = Text Decoder、BE = Binary Encoder、BD = Binary Decoder)。"
343
+
344
+ #. type: Bullet: '* '
345
+ #: ../README.md:143
346
+ msgid ""
347
+ "Integer: [TE](rdoc-ref:PG::TextEncoder::Integer), [TD](rdoc-ref:PG::"
348
+ "TextDecoder::Integer), [BD](rdoc-ref:PG::BinaryDecoder::Integer) 💡 No links? "
349
+ "Switch to [here](https://deveiate.org/code/pg/README_md.html#label-Type"
350
+ "+Casts) 💡"
351
+ msgstr "Integer: [TE](rdoc-ref:PG::TextEncoder::Integer)、[TD](rdoc-ref:PG::TextDecoder::Integer)、[BD](rdoc-ref:PG::BinaryDecoder::Integer) 💡 リンクがないでしょうか。[こちら](https://deveiate.org/code/pg/README_rdoc.html#label-Type+Casts)を代わりに見てください 💡"
352
+
353
+ #. type: Bullet: ' * '
354
+ #: ../README.md:143
355
+ msgid ""
356
+ "BE: [Int2](rdoc-ref:PG::BinaryEncoder::Int2), [Int4](rdoc-ref:PG::"
357
+ "BinaryEncoder::Int4), [Int8](rdoc-ref:PG::BinaryEncoder::Int8)"
358
+ msgstr "BE: [Int2](rdoc-ref:PG::BinaryEncoder::Int2)、[Int4](rdoc-ref:PG::BinaryEncoder::Int4)、[Int8](rdoc-ref:PG::BinaryEncoder::Int8)"
359
+
360
+ #. type: Bullet: '* '
361
+ #: ../README.md:143
362
+ msgid ""
363
+ "Float: [TE](rdoc-ref:PG::TextEncoder::Float), [TD](rdoc-ref:PG::TextDecoder::"
364
+ "Float), [BD](rdoc-ref:PG::BinaryDecoder::Float)"
365
+ msgstr "Float: [TE](rdoc-ref:PG::TextEncoder::Float)、[TD](rdoc-ref:PG::TextDecoder::Float)、[BD](rdoc-ref:PG::BinaryDecoder::Float)"
366
+
367
+ #. type: Bullet: '* '
368
+ #: ../README.md:143
369
+ msgid ""
370
+ "Numeric: [TE](rdoc-ref:PG::TextEncoder::Numeric), [TD](rdoc-ref:PG::"
371
+ "TextDecoder::Numeric)"
372
+ msgstr "Numeric: [TE](rdoc-ref:PG::TextEncoder::Numeric)、[TD](rdoc-ref:PG::TextDecoder::Numeric)"
373
+
374
+ #. type: Bullet: '* '
375
+ #: ../README.md:143
376
+ msgid ""
377
+ "Boolean: [TE](rdoc-ref:PG::TextEncoder::Boolean), [TD](rdoc-ref:PG::"
378
+ "TextDecoder::Boolean), [BE](rdoc-ref:PG::BinaryEncoder::Boolean), [BD](rdoc-"
379
+ "ref:PG::BinaryDecoder::Boolean)"
380
+ msgstr "Boolean: [TE](rdoc-ref:PG::TextEncoder::Boolean)、[TD](rdoc-ref:PG::TextDecoder::Boolean)、[BE](rdoc-ref:PG::BinaryEncoder::Boolean)、[BD](rdoc-ref:PG::BinaryDecoder::Boolean)"
381
+
382
+ #. type: Bullet: '* '
383
+ #: ../README.md:143
384
+ msgid ""
385
+ "String: [TE](rdoc-ref:PG::TextEncoder::String), [TD](rdoc-ref:PG::"
386
+ "TextDecoder::String), [BE](rdoc-ref:PG::BinaryEncoder::String), [BD](rdoc-"
387
+ "ref:PG::BinaryDecoder::String)"
388
+ msgstr "String: [TE](rdoc-ref:PG::TextEncoder::String)、[TD](rdoc-ref:PG::TextDecoder::String)、[BE](rdoc-ref:PG::BinaryEncoder::String)、[BD](rdoc-ref:PG::BinaryDecoder::String)"
389
+
390
+ #. type: Bullet: '* '
391
+ #: ../README.md:143
392
+ msgid ""
393
+ "Bytea: [TE](rdoc-ref:PG::TextEncoder::Bytea), [TD](rdoc-ref:PG::TextDecoder::"
394
+ "Bytea), [BE](rdoc-ref:PG::BinaryEncoder::Bytea), [BD](rdoc-ref:PG::"
395
+ "BinaryDecoder::Bytea)"
396
+ msgstr "Bytea: [TE](rdoc-ref:PG::TextEncoder::Bytea)、[TD](rdoc-ref:PG::TextDecoder::Bytea)、[BE](rdoc-ref:PG::BinaryEncoder::Bytea)、[BD](rdoc-ref:PG::BinaryDecoder::Bytea)"
397
+
398
+ #. type: Bullet: '* '
399
+ #: ../README.md:143
400
+ msgid ""
401
+ "Base64: [TE](rdoc-ref:PG::TextEncoder::ToBase64), [TD](rdoc-ref:PG::"
402
+ "TextDecoder::FromBase64), [BE](rdoc-ref:PG::BinaryEncoder::FromBase64), [BD]"
403
+ "(rdoc-ref:PG::BinaryDecoder::ToBase64)"
404
+ msgstr "Base64: [TE](rdoc-ref:PG::TextEncoder::ToBase64)、[TD](rdoc-ref:PG::TextDecoder::FromBase64)、[BE](rdoc-ref:PG::BinaryEncoder::FromBase64)、[BD](rdoc-ref:PG::BinaryDecoder::ToBase64)"
405
+
406
+ #. type: Bullet: '* '
407
+ #: ../README.md:143
408
+ msgid "Timestamp:"
409
+ msgstr "Timestamp:"
410
+
411
+ #. type: Bullet: ' * '
412
+ #: ../README.md:143
413
+ msgid ""
414
+ "TE: [local](rdoc-ref:PG::TextEncoder::TimestampWithoutTimeZone), [UTC](rdoc-"
415
+ "ref:PG::TextEncoder::TimestampUtc), [with-TZ](rdoc-ref:PG::TextEncoder::"
416
+ "TimestampWithTimeZone)"
417
+ msgstr "TE: [現地時間](rdoc-ref:PG::TextEncoder::TimestampWithoutTimeZone)、[UTC](rdoc-ref:PG::TextEncoder::TimestampUtc)、[タイムゾーン付き](rdoc-ref:PG::TextEncoder::TimestampWithTimeZone)"
418
+
419
+ #. type: Bullet: ' * '
420
+ #: ../README.md:143
421
+ msgid ""
422
+ "TD: [local](rdoc-ref:PG::TextDecoder::TimestampLocal), [UTC](rdoc-ref:PG::"
423
+ "TextDecoder::TimestampUtc), [UTC-to-local](rdoc-ref:PG::TextDecoder::"
424
+ "TimestampUtcToLocal)"
425
+ msgstr "TD: [現地時間](rdoc-ref:PG::TextDecoder::TimestampLocal)、[UTC](rdoc-ref:PG::TextDecoder::TimestampUtc)、[UTCから現地時間へ](rdoc-ref:PG::TextDecoder::TimestampUtcToLocal)"
426
+
427
+ #. type: Bullet: ' * '
428
+ #: ../README.md:143
429
+ msgid ""
430
+ "BD: [local](rdoc-ref:PG::BinaryDecoder::TimestampLocal), [UTC](rdoc-ref:PG::"
431
+ "BinaryDecoder::TimestampUtc), [UTC-to-local](rdoc-ref:PG::BinaryDecoder::"
432
+ "TimestampUtcToLocal)"
433
+ msgstr "BD: [現地時間](rdoc-ref:PG::BinaryDecoder::TimestampLocal)、[UTC](rdoc-ref:PG::BinaryDecoder::TimestampUtc)、[UTCから現地時間へ](rdoc-ref:PG::BinaryDecoder::TimestampUtcToLocal)"
434
+
435
+ #. type: Bullet: '* '
436
+ #: ../README.md:143
437
+ msgid ""
438
+ "Date: [TE](rdoc-ref:PG::TextEncoder::Date), [TD](rdoc-ref:PG::TextDecoder::"
439
+ "Date)"
440
+ msgstr "Date: [TE](rdoc-ref:PG::TextEncoder::Date)、[TD](rdoc-ref:PG::TextDecoder::Date)"
441
+
442
+ #. type: Bullet: '* '
443
+ #: ../README.md:143
444
+ msgid ""
445
+ "JSON and JSONB: [TE](rdoc-ref:PG::TextEncoder::JSON), [TD](rdoc-ref:PG::"
446
+ "TextDecoder::JSON)"
447
+ msgstr "JSONとJSONB: [TE](rdoc-ref:PG::TextEncoder::JSON)、[TD](rdoc-ref:PG::TextDecoder::JSON)"
448
+
449
+ #. type: Bullet: '* '
450
+ #: ../README.md:143
451
+ msgid ""
452
+ "Inet: [TE](rdoc-ref:PG::TextEncoder::Inet), [TD](rdoc-ref:PG::TextDecoder::"
453
+ "Inet)"
454
+ msgstr "Inet: [TE](rdoc-ref:PG::TextEncoder::Inet)、[TD](rdoc-ref:PG::TextDecoder::Inet)"
455
+
456
+ #. type: Bullet: '* '
457
+ #: ../README.md:143
458
+ msgid ""
459
+ "Array: [TE](rdoc-ref:PG::TextEncoder::Array), [TD](rdoc-ref:PG::TextDecoder::"
460
+ "Array)"
461
+ msgstr "Array: [TE](rdoc-ref:PG::TextEncoder::Array)、[TD](rdoc-ref:PG::TextDecoder::Array)"
462
+
463
+ #. type: Bullet: '* '
464
+ #: ../README.md:143
465
+ msgid ""
466
+ "Composite Type (also called \"Row\" or \"Record\"): [TE](rdoc-ref:PG::"
467
+ "TextEncoder::Record), [TD](rdoc-ref:PG::TextDecoder::Record)"
468
+ msgstr "複合型(「行」や「レコード」などとも言います):[TE](rdoc-ref:PG::TextEncoder::Record)、[TD](rdoc-ref:PG::TextDecoder::Record)"
469
+
470
+ #. type: Plain text
471
+ #: ../README.md:145
472
+ msgid ""
473
+ "The following text formats can also be encoded although they are not used as "
474
+ "column type:"
475
+ msgstr ""
476
+ "カラム型として使われていませんが以下のテキスト形式もエンコードできます。"
477
+
478
+ #. type: Bullet: '* '
479
+ #: ../README.md:149
480
+ msgid ""
481
+ "COPY input and output data: [TE](rdoc-ref:PG::TextEncoder::CopyRow), [TD]"
482
+ "(rdoc-ref:PG::TextDecoder::CopyRow)"
483
+ msgstr "COPYの入出力データ:[TE](rdoc-ref:PG::TextEncoder::CopyRow)、[TD](rdoc-ref:PG::TextDecoder::CopyRow)"
484
+
485
+ #. type: Bullet: '* '
486
+ #: ../README.md:149
487
+ msgid ""
488
+ "Literal for insertion into SQL string: [TE](rdoc-ref:PG::TextEncoder::"
489
+ "QuotedLiteral)"
490
+ msgstr "SQL文字列に挿入するリテラル:[TE](rdoc-ref:PG::TextEncoder::QuotedLiteral)"
491
+
492
+ #. type: Bullet: '* '
493
+ #: ../README.md:149
494
+ msgid ""
495
+ "SQL-Identifier: [TE](rdoc-ref:PG::TextEncoder::Identifier), [TD](rdoc-ref:"
496
+ "PG::TextDecoder::Identifier)"
497
+ msgstr "SQLの識別子: [TE](rdoc-ref:PG::TextEncoder::Identifier)、[TD](rdoc-ref:PG::TextDecoder::Identifier)"
498
+
499
+ #. type: Title ###
500
+ #: ../README.md:150
501
+ #, no-wrap
502
+ msgid "PG::TypeMap and derivations (ext/pg_type_map*.c, lib/pg/type_map*.rb)"
503
+ msgstr "PG::TypeMapとその派生 (ext/pg_type_map*.c, lib/pg/type_map*.rb)"
504
+
505
+ #. type: Plain text
506
+ #: ../README.md:156
507
+ msgid ""
508
+ "A TypeMap defines which value will be converted by which encoder/decoder. "
509
+ "There are different type map strategies, implemented by several derivations "
510
+ "of this class. They can be chosen and configured according to the particular "
511
+ "needs for type casting. The default type map is PG::TypeMapAllStrings."
512
+ msgstr ""
513
+ "TypeMapはエンコーダーまたはデコーダーのどちらによってどの値を変換するかを定義"
514
+ "します。様々な型の対応付け戦略があるので、このクラスにはいくつかの派生が実装"
515
+ "されています。型変換の特有の需要に合わせてそれらの派生から選んで調整を加える"
516
+ "ことができます。既定の型の対応付けはPG::TypeMapAllStringsです。"
517
+
518
+ #. type: Plain text
519
+ #: ../README.md:160
520
+ msgid ""
521
+ "A type map can be assigned per connection or per query respectively per "
522
+ "result set. Type maps can also be used for COPY in and out data streaming. "
523
+ "See PG::Connection#copy_data ."
524
+ msgstr ""
525
+ "型の対応付けは、結果の集合それぞれに対し、接続毎ないしクエリ毎に割り当てるこ"
526
+ "とができます。型の対応付けはCOPYの入出力データストリーミングでも使うことがで"
527
+ "きます。PG::Connection#copy_dataを参照してください。"
528
+
529
+ #. type: Plain text
530
+ #: ../README.md:162
531
+ msgid "The following base type maps are available:"
532
+ msgstr "以下の基底となる型の対応付けが使えます。"
533
+
534
+ #. type: Bullet: '* '
535
+ #: ../README.md:168
536
+ msgid ""
537
+ "PG::TypeMapAllStrings - encodes and decodes all values to and from strings "
538
+ "(default)"
539
+ msgstr "PG::TypeMapAllStrings - 全ての値と文字列について相互にエンコードとデコードを行います(既定)"
540
+
541
+ #. type: Bullet: '* '
542
+ #: ../README.md:168
543
+ msgid ""
544
+ "PG::TypeMapByClass - selects encoder based on the class of the value to be "
545
+ "sent"
546
+ msgstr ""
547
+ "PG::TypeMapByClass - 送信する値のクラスに基づいてエンコーダーを選択します"
548
+
549
+ #. type: Bullet: '* '
550
+ #: ../README.md:168
551
+ msgid "PG::TypeMapByColumn - selects encoder and decoder by column order"
552
+ msgstr ""
553
+ "PG::TypeMapByColumn - カラムの順番によってエンコーダーとデコーダーを選択しま"
554
+ "す"
555
+
556
+ #. type: Bullet: '* '
557
+ #: ../README.md:168
558
+ msgid "PG::TypeMapByOid - selects decoder by PostgreSQL type OID"
559
+ msgstr "PG::TypeMapByOid - PostgreSQLのOIDデータ型によってデコーダーを選択します"
560
+
561
+ #. type: Bullet: '* '
562
+ #: ../README.md:168
563
+ msgid "PG::TypeMapInRuby - define a custom type map in ruby"
564
+ msgstr "PG::TypeMapInRuby - Rubyで独自の型の対応付けを定義します"
565
+
566
+ #. type: Plain text
567
+ #: ../README.md:170
568
+ msgid ""
569
+ "The following type maps are prefilled with type mappings from the PG::"
570
+ "BasicTypeRegistry :"
571
+ msgstr "以下の型の対応付けはPG::BasicTypeRegistry由来の型の対応付けが入った状態になっています。"
572
+
573
+ #. type: Bullet: '* '
574
+ #: ../README.md:174
575
+ msgid ""
576
+ "PG::BasicTypeMapForResults - a PG::TypeMapByOid prefilled with decoders for "
577
+ "common PostgreSQL column types"
578
+ msgstr "PG::BasicTypeMapForResults - PG::TypeMapByOidによくあるPostgreSQLカラム型用にデコーダーが入った状態になっています"
579
+
580
+ #. type: Bullet: '* '
581
+ #: ../README.md:174
582
+ msgid ""
583
+ "PG::BasicTypeMapBasedOnResult - a PG::TypeMapByOid prefilled with encoders "
584
+ "for common PostgreSQL column types"
585
+ msgstr "PG::BasicTypeMapBasedOnResult - PG::TypeMapByOidによくあるPostgreSQLカラム型用のエンコーダーが入った状態になっています"
586
+
587
+ #. type: Bullet: '* '
588
+ #: ../README.md:174
589
+ msgid ""
590
+ "PG::BasicTypeMapForQueries - a PG::TypeMapByClass prefilled with encoders "
591
+ "for common Ruby value classes"
592
+ msgstr "PG::BasicTypeMapForQueries - PG::TypeMapByClassによくあるRubyの値クラス用にエンコーダーが入った状態になっています"
593
+
594
+ #. type: Title ##
595
+ #: ../README.md:176
596
+ #, no-wrap
597
+ msgid "Thread support"
598
+ msgstr "スレッド対応"
599
+
600
+ #. type: Plain text
601
+ #: ../README.md:181
602
+ msgid ""
603
+ "PG is thread safe in such a way that different threads can use different PG::"
604
+ "Connection objects concurrently. However it is not safe to access any Pg "
605
+ "objects simultaneously from more than one thread. So make sure to open a "
606
+ "new database server connection for every new thread or use a wrapper library "
607
+ "like ActiveRecord that manages connections in a thread safe way."
608
+ msgstr "PGには個々のスレッドが別々のPG::Connectionオブジェクトを同時に使えるという点でスレッド安全性があります。しかし1つ以上のスレッドから同時にPgのオブジェクトにアクセスすると安全ではありません。そのため必ず、毎回新しいスレッドを作るときに新しいデータベースサーバー接続を開くか、スレッド安全性のある方法で接続を管理するActiveRecordのようなラッパーライブラリを使うようにしてください。"
609
+
610
+ #. type: Plain text
611
+ #: ../README.md:183
612
+ msgid ""
613
+ "If messages like the following are printed to stderr, you're probably using "
614
+ "one connection from several threads:"
615
+ msgstr "以下のようなメッセージが標準エラー出力に表示された場合、恐らく複数のスレッドが1つの接続を使っています。"
616
+
617
+ #. type: Plain text
618
+ #: ../README.md:189
619
+ #, no-wrap
620
+ msgid ""
621
+ " message type 0x31 arrived from server while idle\n"
622
+ " message type 0x32 arrived from server while idle\n"
623
+ " message type 0x54 arrived from server while idle\n"
624
+ " message type 0x43 arrived from server while idle\n"
625
+ " message type 0x5a arrived from server while idle\n"
626
+ msgstr ""
627
+ " message type 0x31 arrived from server while idle\n"
628
+ " message type 0x32 arrived from server while idle\n"
629
+ " message type 0x54 arrived from server while idle\n"
630
+ " message type 0x43 arrived from server while idle\n"
631
+ " message type 0x5a arrived from server while idle\n"
632
+
633
+ #. type: Title ##
634
+ #: ../README.md:191
635
+ #, no-wrap
636
+ msgid "Fiber IO scheduler support"
637
+ msgstr "Fiber IOスケジューラー対応"
638
+
639
+ #. type: Plain text
640
+ #: ../README.md:198
641
+ msgid ""
642
+ "Pg is fully compatible with `Fiber.scheduler` introduced in Ruby-3.0. On "
643
+ "Windows support for `Fiber.scheduler` is available on Ruby-3.1 or newer. "
644
+ "All possibly blocking IO operations are routed through the `Fiber.scheduler` "
645
+ "if one is registered for the running thread. That is why pg internally uses "
646
+ "the asynchronous libpq interface even for synchronous/blocking method "
647
+ "calls. It also uses Ruby's DNS resolution instead of libpq's builtin "
648
+ "functions."
649
+ msgstr "PgはRuby-3.0で導入された`Fiber.scheduler`に完全に対応しています。`Fiber.scheduler`のWindows対応についてはRuby-3.1以降で使えます。`Fiber.scheduler`が走らせているスレッドに登録されている場合、起こりうる全てのブロッキングIO操作はそのスケジューラーを経由します。同期的であったりブロックしたりするメソッド呼び出しについてもpgが内部的に非同期のlibpqインターフェースを使っているのはそれが理由です。またlibpqの組み込み関数に代えてRubyのDNS解決を使っています。"
650
+
651
+ #. type: Plain text
652
+ #: ../README.md:202
653
+ msgid ""
654
+ "Internally Pg always uses the nonblocking connection mode of libpq. It then "
655
+ "behaves like running in blocking mode but ensures, that all blocking IO is "
656
+ "handled in Ruby through a possibly registered `Fiber.scheduler`. When `PG::"
657
+ "Connection.setnonblocking(true)` is called then the nonblocking state stays "
658
+ "enabled, but the additional handling of blocking states is disabled, so that "
659
+ "the calling program has to handle blocking states on its own."
660
+ msgstr "内部的にPgは常にlibpqのノンブロッキング接続モードを使います。それからブロッキングモードで走っているように振舞いますが、もし`Fiber.scheduler`が登録されていれば全てのブロッキングIOはそのスケジューラーを通じてRubyで制御されます。`PG::Connection.setnonblocking(true)`が呼ばれたらノンブロッキング状態が有効になったままになりますが、それ以降のブロッキング状態の制御が無効になるので、呼び出しているプログラムはブロッキング状態を自力で制御しなければなりません。"
661
+
662
+ #. type: Plain text
663
+ #: ../README.md:206
664
+ msgid ""
665
+ "An exception to this rule are the methods for large objects like `PG::"
666
+ "Connection#lo_create` and authentication methods using external libraries "
667
+ "(like GSSAPI authentication). They are not compatible with `Fiber."
668
+ "scheduler`, so that blocking states are not passed to the registered IO "
669
+ "scheduler. That means the operation will work properly, but IO waiting "
670
+ "states can not be used to switch to another Fiber doing IO."
671
+ msgstr "この規則の1つの例外には、`PG::Connection#lo_create`や外部ライブラリを使う認証メソッド(GSSAPI認証など)のような、大きめのオブジェクト用のメソッドがあります。これらは`Fiber.scheduler`と互換性がないため、ブロッキング状態は登録されたIOスケジューラに渡されません。つまり操作は適切に実行されますが、IO待ち状態に別のIOを扱うFiberから使用を切り替えてくることができなくなります。"
672
+
673
+ #. type: Title ##
674
+ #: ../README.md:208
675
+ #, no-wrap
676
+ msgid "Contributing"
677
+ msgstr "貢献"
678
+
679
+ #. type: Plain text
680
+ #: ../README.md:212
681
+ msgid ""
682
+ "To report bugs, suggest features, or check out the source with Git, [check "
683
+ "out the project page](https://github.com/ged/ruby-pg)."
684
+ msgstr "バグを報告したり機能を提案したりGitでソースをチェックアウトしたりするには[プロジェクトページをご確認ください](https://github.com/ged/ruby-pg)。"
685
+
686
+ #. type: Plain text
687
+ #: ../README.md:214
688
+ msgid "After checking out the source, install all dependencies:"
689
+ msgstr "ソースをチェックアウトしたあとは全ての依存関係をインストールします。"
690
+
691
+ #. type: Plain text
692
+ #: ../README.md:216
693
+ #, no-wrap
694
+ msgid " $ bundle install\n"
695
+ msgstr " $ bundle install\n"
696
+
697
+ #. type: Plain text
698
+ #: ../README.md:218
699
+ msgid "Cleanup extension files, packaging files, test databases:"
700
+ msgstr ""
701
+ "拡張ファイル、パッケージファイル、テストデータベースを一掃するには次のように"
702
+ "します。"
703
+
704
+ #. type: Plain text
705
+ #: ../README.md:220
706
+ #, no-wrap
707
+ msgid " $ rake clean\n"
708
+ msgstr " $ rake clean\n"
709
+
710
+ #. type: Plain text
711
+ #: ../README.md:222
712
+ msgid "Compile extension:"
713
+ msgstr "拡張をコンパイルするには次のようにします。"
714
+
715
+ #. type: Plain text
716
+ #: ../README.md:224
717
+ #, no-wrap
718
+ msgid " $ rake compile\n"
719
+ msgstr " $ rake compile\n"
720
+
721
+ #. type: Plain text
722
+ #: ../README.md:226
723
+ msgid "Run tests/specs with PostgreSQL tools like `initdb` in the path:"
724
+ msgstr ""
725
+ "パスにある`initdb`といったPostgreSQLのツールを使ってテストやスペックを走らせ"
726
+ "るには次のようにします。"
727
+
728
+ #. type: Plain text
729
+ #: ../README.md:228
730
+ #, no-wrap
731
+ msgid " $ PATH=$PATH:/usr/lib/postgresql/14/bin rake test\n"
732
+ msgstr " $ PATH=$PATH:/usr/lib/postgresql/14/bin rake test\n"
733
+
734
+ #. type: Plain text
735
+ #: ../README.md:230
736
+ msgid "Or run a specific test with the line number:"
737
+ msgstr "あるいは行番号を使って特定のテストを走らせるには次のようにします。"
738
+
739
+ #. type: Plain text
740
+ #: ../README.md:232
741
+ #, no-wrap
742
+ msgid " $ PATH=$PATH:/usr/lib/postgresql/14/bin rspec -Ilib -fd spec/pg/connection_spec.rb:455\n"
743
+ msgstr " $ PATH=$PATH:/usr/lib/postgresql/14/bin rspec -Ilib -fd spec/pg/connection_spec.rb:455\n"
744
+
745
+ #. type: Plain text
746
+ #: ../README.md:234
747
+ msgid "Generate the API documentation:"
748
+ msgstr "APIドキュメントを生成するには次のようにします。"
749
+
750
+ #. type: Plain text
751
+ #: ../README.md:236
752
+ #, no-wrap
753
+ msgid " $ rake docs\n"
754
+ msgstr " $ rake docs\n"
755
+
756
+ #. type: Plain text
757
+ #: ../README.md:238
758
+ msgid "Make sure, that all bugs and new features are verified by tests."
759
+ msgstr "必ず全てのバグと新機能についてテストを使って検証してください。"
760
+
761
+ #. type: Plain text
762
+ #: ../README.md:241
763
+ msgid ""
764
+ "The current maintainers are Michael Granger <ged@FaerieMUD.org> and Lars "
765
+ "Kanis <lars@greiz-reinsdorf.de>."
766
+ msgstr ""
767
+ "現在のメンテナはMichael Granger <ged@FaerieMUD.org>とLars Kanis <lars@greiz-"
768
+ "reinsdorf.de>です。"
769
+
770
+ #. type: Title ##
771
+ #: ../README.md:243
772
+ #, no-wrap
773
+ msgid "Copying"
774
+ msgstr "著作権"
775
+
776
+ #. type: Plain text
777
+ #: ../README.md:246
778
+ msgid "Copyright (c) 1997-2022 by the authors."
779
+ msgstr "Copyright (c) 1997-2022 by the authors."
780
+
781
+ #. type: Bullet: '* '
782
+ #: ../README.md:255
783
+ msgid "Jeff Davis <ruby-pg@j-davis.com>"
784
+ msgstr "Jeff Davis <ruby-pg@j-davis.com>"
785
+
786
+ #. type: Bullet: '* '
787
+ #: ../README.md:255
788
+ msgid "Guy Decoux (ts) <decoux@moulon.inra.fr>"
789
+ msgstr "Guy Decoux (ts) <decoux@moulon.inra.fr>"
790
+
791
+ #. type: Bullet: '* '
792
+ #: ../README.md:255
793
+ msgid "Michael Granger <ged@FaerieMUD.org>"
794
+ msgstr "Michael Granger <ged@FaerieMUD.org>"
795
+
796
+ #. type: Bullet: '* '
797
+ #: ../README.md:255
798
+ msgid "Lars Kanis <lars@greiz-reinsdorf.de>"
799
+ msgstr "Lars Kanis <lars@greiz-reinsdorf.de>"
800
+
801
+ #. type: Bullet: '* '
802
+ #: ../README.md:255
803
+ msgid "Dave Lee"
804
+ msgstr "Dave Lee"
805
+
806
+ #. type: Bullet: '* '
807
+ #: ../README.md:255
808
+ msgid "Eiji Matsumoto <usagi@ruby.club.or.jp>"
809
+ msgstr "Eiji Matsumoto <usagi@ruby.club.or.jp>"
810
+
811
+ #. type: Bullet: '* '
812
+ #: ../README.md:255
813
+ msgid "Yukihiro Matsumoto <matz@ruby-lang.org>"
814
+ msgstr "Yukihiro Matsumoto <matz@ruby-lang.org>"
815
+
816
+ #. type: Bullet: '* '
817
+ #: ../README.md:255
818
+ msgid "Noboru Saitou <noborus@netlab.jp>"
819
+ msgstr "Noboru Saitou <noborus@netlab.jp>"
820
+
821
+ #. type: Plain text
822
+ #: ../README.md:259
823
+ msgid ""
824
+ "You may redistribute this software under the same terms as Ruby itself; see "
825
+ "https://www.ruby-lang.org/en/about/license.txt or the BSDL file in the "
826
+ "source for details."
827
+ msgstr ""
828
+ "You may redistribute this software under the same terms as Ruby itself; see https://www.ruby-lang.org/en/about/license.txt or the BSDL file in the source for details.\n"
829
+ "(参考訳:このソフトウェアはRuby自体と同じ条件の元で再配布することができます。詳細については https://www.ruby-lang.org/en/about/license.txt やソース中のBSDLファイルを参照してください)"
830
+
831
+ #. type: Plain text
832
+ #: ../README.md:262
833
+ msgid ""
834
+ "Portions of the code are from the PostgreSQL project, and are distributed "
835
+ "under the terms of the PostgreSQL license, included in the file POSTGRES."
836
+ msgstr ""
837
+ "Portions of the code are from the PostgreSQL project, and are distributed "
838
+ "\"\n"
839
+ "\"under the terms of the PostgreSQL license, included in the file POSTGRES.\n"
840
+ "(参考訳:コードの一部はPostgreSQLプロジェクトから来ており、PostgreSQLの使用"
841
+ "許諾の条件の元で配布されます。ファイルPOSTGRESに含まれています)"
842
+
843
+ #. type: Plain text
844
+ #: ../README.md:264
845
+ msgid "Portions copyright LAIKA, Inc."
846
+ msgstr "Portions copyright LAIKA, Inc."
847
+
848
+ #. type: Title ##
849
+ #: ../README.md:266
850
+ #, no-wrap
851
+ msgid "Acknowledgments"
852
+ msgstr "謝辞"
853
+
854
+ #. type: Plain text
855
+ #: ../README.md:270
856
+ msgid ""
857
+ "See Contributors.rdoc for the many additional fine people that have "
858
+ "contributed to this library over the years."
859
+ msgstr "長年にわたって貢献してくださった方々についてはContributors.rdocを参照してください。"
860
+
861
+ #. type: Plain text
862
+ #: ../README.md:272
863
+ msgid ""
864
+ "We are thankful to the people at the ruby-list and ruby-dev mailing lists. "
865
+ "And to the people who developed PostgreSQL."
866
+ msgstr ""
867
+ "ruby-listとruby-devメーリングリストの方々に感謝します。またPostgreSQLを開発さ"
868
+ "れた方々へも謝意を表します。"