pg 1.3.3 → 1.5.3

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