PostgreSQL FAQØ³ÙˆØ§Ù„Ø§ØªÙŠ ÙƒÙ‡ Ø§ØºÙ„Ø¨ Ø¯Ø± Ù…ÙˆØ±Ø¯ PostgreSQLâ€Œ 
Ù¾Ø±Ø³ÙŠØ¯Ù‡ Ù…ÙŠ Ø´ÙˆÙ†Ø¯
ØªØ§Ø±ÙŠØ® Ø¢Ø®Ø±ÙŠÙ† Ø§ØµÙ„Ø§Ø­ Ø§ÙŠÙ† ÙØ§ÙŠÙ„: 28 Ø´Ù‡Ø±ÛŒÙˆØ± 1383 Ù‡Ø¬Ø±ÛŒ 
Ø´Ù…Ø³ÛŒ
Ù†Ú¯Ù‡Ø¯Ø§Ø±Ù†Ø¯Ù‡ Ø§ØµÙ„ÙŠ ÙØ§ÙŠÙ„ (Ø²Ø¨Ø§Ù† Ø§Ù†Ú¯Ù„ÙŠØ³ÙŠ)Ø¯Ø± Ø­Ø§Ù„ 
Ø­Ø§Ø¶Ø± : Bruce Momjian pgman@candle.pha.pa.us
Ù†Ú¯Ù‡Ø¯Ø§Ø±Ù†Ø¯Ù‡ ÙØ§ÙŠÙ„ Ø¨Ù‡ Ø²Ø¨Ø§Ù† ÙØ§Ø±Ø³ÙŠ: m.taghizadeh@imenafzar.net 
 Ù…Ø­Ù…ÙˆØ¯ ØªÙ‚ÙŠâ€ŒØ²Ø§Ø¯Ù‡ Ù…Ù‡Ø±Ø¬Ø±Ø¯ÛŒ

Ø¢Ø®Ø±ÙŠÙ† Ù†Ø³Ø®Ù‡ Ø§ÙŠÙ† ÙØ§ÙŠÙ„ Ø±Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø§Ø² Ø§ÙŠÙ† 
Ø¢Ø¯Ø±Ø³ Ø¨Ú¯ÙŠØ±ÙŠØ¯  http://www.PostgreSQL.org/docs/faqs/FAQ.html
Ø³ÙˆØ§Ù„Ø§ØªÙŠ ÙƒÙ‡ Ø¯Ø± Ù…ÙˆØ±Ø¯ ÙŠÙƒ Ø³Ú©ÙˆÛŒ(Ù¾Ù„ØªÙØ±Ù…) Ø®Ø§Øµ Ø§Ø³Øª Ø¯Ø± 
Ø§ÙŠÙ† Ø¢Ø¯Ø±Ø³ Ø¬ÙˆØ§Ø¨ Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ù†Ø¯  
http://www.PostgreSQL.org/docs/index.html



Ø³ÙˆØ§Ù„Ø§Øª Ø¹Ù…ÙˆÙ…ÙŠ
1.1) PostgreSQL Ú†ÙŠØ³Øª Ùˆ Ú†Ú¯ÙˆÙ†Ù‡ Ø¨Ø§ÙŠØ¯ Ø¢Ù† Ø±Ø§ ØªÙ„ÙØ¸ ÙƒØ±Ø¯ØŸ
1.2) Ù‚Ø§Ù†ÙˆÙ† ÙƒÙ¾ÙŠ Ø±Ø§ÙŠØªâ€Œ (Ø­Ù‚ÙˆÙ‚ Ù…Ø¹Ù†ÙˆÙŠ) Ø¯Ø± Ù…ÙˆØ±Ø¯ 
PostgreSQL  Ø¨Ù‡ Ú†Ù‡ ØµÙˆØ±Øª Ø§Ø³ØªØŸ
1.3) PostgreSQLâ€Œ Ø±ÙˆÙŠ Ú†Ù‡ Ù†ÙˆØ¹ ÙŠÙˆÙ†ÙŠÙƒØ³Ù‡Ø§ÙŠÙŠ Ø§Ø¬Ø±Ø§ 
Ù…ÙŠâ€ŒØ´ÙˆØ¯ØŸ
1.4) Ø±ÙˆÙŠ Ú†Ù‡ Ù…Ø­ÙŠØ·Ù‡Ø§ÙŠ ØºÙŠØ± ÙŠÙˆÙ†ÙŠÙƒØ³ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¢Ù† Ø±Ø§ 
Ø§Ø¬Ø±Ø§ ÙƒØ±Ø¯ØŸ
1.5) PostgreSQL Ø±Ø§ Ø§Ø² ÙƒØ¬Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨Ú¯ÙŠØ±Ù…ØŸ
1.6) Ø§Ø² ÙƒØ¬Ø§ Ø®Ø¯Ù…Ø§Øª Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ø¨Ú¯ÙŠØ±Ù…ØŸ
1.7) Ø¢Ø®Ø±ÙŠÙ† Ù†Ø³Ø®Ù‡ Ø§Ø¹Ù„Ø§Ù… Ø´Ø¯Ù‡ Ú†ÙŠØ³ØªØŸ
1.8) Ú†Ù‡ Ù…Ø³ØªÙ†Ø¯Ø§Øª Ùˆ Ø±Ø§Ù‡Ù†Ù…Ø§Ø¦ÙŠÙ‡Ø§ÙŠÙŠ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ù†Ø¯ØŸ
1.9) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§Ø²Ø§Ø´ÙƒØ§Ù„Ø§Øª Ø´Ù†Ø§Ø®ØªÙ‡ Ø´Ø¯Ù‡ Ùˆ ÙŠØ§ 
Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ ÙƒÙ‡ Ø¯Ø± Ø§ÙŠÙ† Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ ÙˆØ¬ÙˆØ¯ Ù†Ø¯Ø§Ø±Ø¯  
Ù…Ø·Ù„Ø¹ Ø´ÙˆÙ…ØŸ
1.10) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø²Ø¨Ø§Ù† SQL Ø±Ø§ ÙŠØ§Ø¯ Ø¨Ú¯ÙŠØ±Ù…ØŸ
1.11) Ø¢ÙŠØ§ PostgreSQL Ù…Ø´ÙƒÙ„ Y2Kâ€Œ Ø¯Ø§Ø±Ø¯ ÙŠØ§ Ø®ÙŠØ±ØŸ
1.12) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨Ù‡ ØªÙŠÙ… Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³ PostgreSQL 
Ù…Ù„Ø­Ù‚ Ø´ÙˆÙ…ØŸ
1.13) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ Ø§Ø´ÙƒØ§Ù„ Ø±Ø§ Ø¨Ù‡ Ú¯Ø±ÙˆÙ‡ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³ Ø§Ø¹Ù„Ø§Ù… ÙƒÙ†Ù…ØŸ
1.14)  ÙˆØ¶Ø¹ÙŠØª PostgreSQLâ€Œ Ø¯Ø± Ù…Ù‚Ø§ÙŠØ³Ù‡ Ø¨Ø§ Ø³Ø§ÙŠØ± DBMSÙ‡Ø§ Ø¨Ù‡ 
Ú†Ù‡ ØµÙˆØ±Øª Ø§Ø³ØªØŸ
1.15) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§Ø² Ù†Ø¸Ø± Ù…Ø§Ù„ÙŠ Ø¨Ù‡ PostgreSQL 
ÙƒÙ…Ùƒ ÙƒÙ†Ù…ØŸ

Ø³ÙˆØ§Ù„Ø§Øª Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡
2.1) Ø¢ÙŠØ§ Ù‡ÙŠÚ† Ø¯Ø±Ø§ÙŠÙˆØ± ODBCâ€Œ Ø¨Ø±Ø§ÙŠ PostgreSQL ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ
2.2) Ú†Ù‡ Ø§Ø¨Ø²Ø§Ø±Ù‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² PostgreSQLâ€Œ Ø¨Ø§ 
ØµÙØ­Ø§Øª ÙˆØ¨ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ
2.3) Ø¢ÙŠØ§ PostgreSQLâ€Œ ÙŠÙƒ ÙˆØ§Ø³Ø· ÙƒØ§Ø±Ø¨Ø±ÙŠ Ú¯Ø±Ø§ÙÙŠÙƒÙŠ Ø¯Ø§Ø±Ø¯ØŸ
2.4) Ø¨Ø§ Ú†Ù‡ Ø²Ø¨Ø§Ù†Ù‡Ø§ÙŠ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ 
PostgreSQLâ€Œ Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ø±Ù‚Ø±Ø§Ø± ÙƒØ±Ø¯ØŸ

Ø³ÙˆØ§Ù„Ø§Øª Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø±Ø§Ù‡Ø¨Ø±ÙŠ
3.1) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… PostgreSQLâ€Œ Ø±Ø§ Ø¯Ø± Ø´Ø§Ø®Ù‡â€ŒØ§ÙŠ ØºÙŠØ± 
Ø§Ø² /usr/local/pgsql/  Ù†ØµØ¨ ÙƒÙ†Ù…ØŸ
3.2) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ Ø±Ø§ Ø§Ø¬Ø±Ø§ Ù…ÙŠ 
ÙƒÙ†Ù… Ù¾ÙŠØ§Ù… Bad system callâ€Œ Ùˆ ÙŠØ§ core dump â€ŒÙ…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
3.3) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø³Ø¹ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ 
Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù… Ø®Ø·Ø§ÙŠ IpcMemoryCreate  Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
3.4) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø³Ø¹ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ 
Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù… Ø®Ø·Ø§ÙŠ  IpcSemaphoreCreate Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
3.5) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§ØªØµØ§Ù„Ø§Øª Ø³Ø§ÙŠØ± Ù…Ø§Ø´ÙŠÙ†Ù‡Ø§ Ø±Ø§ 
ÙƒÙ†ØªØ±Ù„ ÙƒÙ†Ù…ØŸ
3.6) Ø¨Ø±Ø§ÙŠ ÙƒØ§Ø±Ø§ÙŠÙŠ Ø¨Ø§Ù„Ø§ØªØ± Ùˆ Ø¨Ù‡ØªØ± Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù…Ù† 
Ú†Ù‡ ØªÙ†Ø¸ÙŠÙ…Ø§ØªÙŠ Ø±Ø§ Ø¨Ø§ÙŠØ¯ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù…ØŸ
3.7) Ú†Ù‡ Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ Ø¨Ø±Ø§ÙŠ Ù¾ÙŠØ¯Ø§ ÙƒØ±Ø¯Ù† Ø§Ø´ÙƒØ§Ù„â€Œ ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯ØŸ
3.8) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ù…ÙŠâ€ŒØ®ÙˆØ§Ù‡Ù… Ø¨Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
ÙˆØµÙ„ Ø´ÙˆÙ… Ù¾ÙŠØ§Ù… "Sorry, too many clients" â€ŒÙ…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
3.9) Ø¯Ø± Ø´Ø§Ø®Ù‡  pgsql_tmp  Ú†Ù‡ Ú†ÙŠØ²ÙŠ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø±Ø¯ØŸ
3.10) Ú†Ø±Ø§ Ø¨Ø±Ø§ÙŠ Ø¨Ù‡ Ø±ÙˆØ² ÙƒØ±Ø¯Ù† Ù†Ø³Ø®Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù…Ù† 
Ø¨Ø§ÙŠØ¯ ÙƒÙ„ Ø¯Ø§Ø¯Ù‡ Ù‡Ø§ Ø±Ø§ dumpâ€Œ Ùˆ Ù…Ø¬Ø¯Ø¯Ø§Ù‹ restore ÙƒÙ†Ù…ØŸ
3.11) Ø§Ø² Ú†Ù‡ Ø³Ø®Øª Ø§ÙØ²Ø§Ø±ÙŠ Ø¨Ø§ÙŠØ¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†Ù…ØŸ

Ø³ÙˆØ§Ù„Ø§Øª Ø¹Ù…Ù„ÙŠØ§ØªÙŠ
4.1) ØªÙØ§ÙˆØª Ø¨ÙŠÙ† binary cursors Ùˆ Normal cursors Ú†ÙŠØ³ØªØŸ
4.2) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙÙ‚Ø· Ø±ÙˆÙŠ Ú†Ù†Ø¯ Ø±Ø¯ÙŠÙ Ø§ÙˆÙ„ ÙŠØ§ 
ÙŠÙƒ Ø±Ø¯ÙŠÙ ØªØµØ§Ø¯ÙÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª SELECTâ€Œ Ø¨Ø²Ù†Ù…ØŸ
4.3) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù„ÙŠØ³ØªÙŠ Ø§Ø² Ø¬Ø¯Ø§ÙˆÙ„ ÙŠØ§ Ø³Ø§ÙŠØ± 
Ú†ÙŠØ²Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ Ø¯Ø± psqlâ€Œ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ Ø±Ø§ Ø¨Ø¨ÙŠÙ†Ù…ØŸ
4.4) Ú†Ú¯ÙˆÙ†Ù‡ ÙŠÙƒ Ø³ØªÙˆÙ† Ø¬Ø¯ÙˆÙ„ Ø±Ø§ Ø­Ø°Ù Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯ØŸ Ú†Ú¯ÙˆÙ†Ù‡ 
Ù†ÙˆØ¹ Ø¯Ø§Ø¯Ù‡ Ø¢Ù† Ø±Ø§ Ø¹ÙˆØ¶ ÙƒÙ†ÙŠÙ…ØŸ
4.5) Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ ÙŠÙƒ Ø±Ø¯ÙŠÙØŒâ€Œ Ø¬Ø¯ÙˆÙ„ Ùˆ Ø®ÙˆØ¯ 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ú†Ù‚Ø¯Ø± Ø§Ø³ØªØŸ
4.6) Ú†Ù‚Ø¯Ø± ÙØ¶Ø§ÙŠ Ø¯ÙŠØ³Ùƒ Ø³Ø®Øª Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ ÙƒØ±Ø¯Ù† 
Ø¯Ø§Ø¯Ù‡â€Œâ€ŒÙ‡Ø§ÙŠ ÙŠÙƒ ÙØ§ÙŠÙ„ Ù…ØªÙ†ÙŠ Ù…ÙˆØ±Ø¯ Ù†ÙŠØ§Ø² Ø§Ø³ØªØŸ
4.7) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨ÙÙ‡Ù…Ù… ÙƒÙ‡ Ú†Ù‡ ÙƒØ§Ø±Ø¨Ø±Ø§Ù†ØŒâ€Œ 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ØŒâ€Œ Ù†Ù…Ø§ÙŠÙ‡ Ùˆ Ø¬Ø¯Ø§ÙˆÙ„ÙŠ Ø¯Ø± Ø³ÙŠØ³ØªÙ… ØªØ¹Ø±ÙŠÙ 
Ø´Ø¯Ù‡ Ø§Ø³ØªØŸ
4.8) Ú†Ø±Ø§ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠ Ù…Ù† ÙƒÙ†Ø¯ Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯ ÙŠØ§ 
Ú†Ø±Ø§ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ù‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ØŸ
4.9) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù†Ø­ÙˆÙ‡ Ø¨Ø±Ø±Ø³ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø±Ø§ 
ØªÙˆØ³Ø· Ø¨Ù‡ÙŠÙ†Ù‡â€ŒØ³Ø§Ø² Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ Ù…Ø´Ø§Ù‡Ø¯Ù‡ ÙƒÙ†Ù…ØŸ
4.10) Ù†Ù…Ø§ÙŠÙ‡ R-treeâ€Œ Ú†ÙŠØ³ØªØŸ
4.11) Ø¨Ù‡ÙŠÙ†Ù‡ Ø³Ø§Ø² ØªÙƒÙˆÙŠÙ†ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ú†ÙŠØ³ØªØŸ (Genetic Query 
Optimizer)
4.12) Ú†Ú¯ÙˆÙ†Ù‡ Ø§Ø² Ø¹Ø¨Ø§Ø±Ø§Øª Ù…Ù†Ø¸Ù… Ø¨Ø±Ø§ÙŠ Ø¬Ø³ØªØ¬Ùˆ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
ÙƒÙ†Ù…ØŸ Ú†Ú¯ÙˆÙ†Ù‡ Ø¬Ø³ØªØ¬ÙˆÙŠÙŠ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù… ÙƒÙ‡ Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† 
Ù†Ø¨Ø§Ø´Ø¯ØŸ Ú†Ú¯ÙˆÙ†Ù‡ Ø¨Ø±Ø§ÙŠ ÙŠÙƒ Ø¬Ø³ØªØ¬ÙˆÙŠ ØºÙŠØ± Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† 
Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†Ù…ØŸ
4.13) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¯Ø± ÙŠÙƒ Ø¯Ø±Ø®ÙˆØ§Ø³Øª ØªØ´Ø®ÙŠØµ Ø¯Ù‡Ù… 
ÙƒÙ‡ ÙŠÙƒ ÙÙŠÙ„Ø¯ NULLâ€Œ Ø§Ø³ØªØŸ
4.14) ØªÙØ§ÙˆØª Ø¨ÙŠÙ† Ú¯ÙˆÙ†Ù‡â€ŒÙ‡Ø§ÙŠ Ù…Ø®ØªÙ„Ù character Ú†ÙŠØ³ØªØŸ
4.15.1) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ ÙŠØ§ 
Ø§ÙØ²Ø§ÙŠØ´ÙŠ Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†Ù…ØŸ
4.15.2) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù…Ù‚Ø¯Ø§Ø± ÙŠÙƒ Ø¯Ø±Ø¬ Ø³Ø±ÙŠØ§Ù„ÙŠ Ø±Ø§ 
Ø¨Ø¯Ø§Ù†Ù…ØŸ
4.15.3) Ø¢ÛŒØ§ ØªÙˆØ§Ø¨Ø¹ ()nextval Ùˆ ()currval Ù…Ù†Ø¬Ø± Ø¨Ù‡ Ø§ÛŒØ¬Ø§Ø¯ 
Ø´Ø±Ø§ÛŒØ· race Ø¨Ø±Ø§ÛŒ Ø³Ø§ÛŒØ± Ú©Ø§Ø±Ø¨Ø±Ø§Ù† Ù…ÛŒ Ø´ÙˆÙ†Ø¯ØŸ
4.15.4) Ú†Ø±Ø§ Ø§Ø¹Ø¯Ø§Ø¯ Ø³Ø±ÛŒØ§Ù„ÛŒ Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ ØªØ±Ø§Ú©Ù†Ø´Ù‡Ø§ÛŒ abort 
Ø´Ø¯Ù‡ Ù…Ø¬Ø¯Ø¯Ø§Ù‹ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÛŒ Ø´ÙˆØ¯ØŸ Ú†Ø±Ø§ Ø¨ÛŒÙ† Ø§Ø¹Ø¯Ø§Ø¯ 
Ø³Ø±ÛŒØ§Ù„ÛŒ ÛŒÚ© ÙØ§ØµÙ„Ù‡ Ø®Ø§Ù„ÛŒ Ø§ÛŒØ¬Ø§Ø¯ Ù…ÛŒ Ø´ÙˆØ¯ØŸ
4.16) OID Ùˆ TID Ú†Ù‡ Ù‡Ø³ØªÙ†Ø¯ØŸ
4.17) Ù…Ø¹Ù†ÙŠ Ø¨Ø¹Ø¶ÙŠ Ø§Ø² ØªØ±Ù…Ù‡Ø§ Ùˆ ÙƒÙ„Ù…Ø§ØªÙŠ ÙƒÙ‡ Ø¯Ø± PostgreSQLâ€Œ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ú†ÙŠØ³ØªØŸ
4.18) Ú†Ø±Ø§ Ù…Ù† Ø®Ø·Ø§ÙŠ "ERROR: Memory exhausted in AllocSetAlloc" 
Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
4.19) Ø§Ø² ÙƒØ¬Ø§ ØªØ´Ø®ÙŠØµ Ø¯Ù‡Ù… ÙƒÙ‡ ÙˆÙŠØ±Ø§ÙŠØ´ ÙŠØ§ Ù†Ø³Ø®Ù‡ 
PostgreSQLÙŠÙŠ ÙƒÙ‡ Ù…Ù† Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ú†ÙŠØ³ØªØŸ
4.20) Ú†Ø±Ø§ Ø¯Ø± Ø­ÛŒÙ† Ø§Ø¬Ø±Ø§ÛŒ Ø¹Ù…Ù„ÛŒØ§Øª Ø±ÙˆÛŒ large-objectÙ‡Ø§ 
Ø®Ø·Ø§ÛŒ "invalid large obj descriptor"Ø¨Ù‡ ÙˆØ¬ÙˆØ¯ Ù…ÛŒ Ø¢ÛŒØ¯ØŸ
4.21) Ú†Ú¯ÙˆÙ†Ù‡ ÙŠÙƒ Ø³ØªÙˆÙ† Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†Ù… ÙƒÙ‡ Ù…Ù‚Ø¯Ø§Ø± Ø²Ù…Ø§Ù† 
Ø¬Ø§Ø±ÙŠ Ø±Ø§ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´â€ŒÙØ±Ø¶ Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ø¯ØŸ
4.22) Ú†Ø±Ø§ Ø²ÙŠØ± Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ Ø§Ø² IN Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ ÙƒÙ†Ø¯ Ù‡Ø³ØªÙ†Ø¯ØŸ
4.23) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ Ø§Ù„Ø­Ø§Ù‚ Ø®Ø§Ø±Ø¬ÙŠ (outer join) 
Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù…ØŸ
4.24) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠÙŠ Ø§Ø² Ú†Ù†Ø¯ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ 
Ø¯Ø§Ø¯Ù‡ ØªÙˆÙ„ÙŠØ¯ ÙƒØ±Ø¯ØŸ
4.25) Ú†Ú¯ÙˆÙ†Ù‡ Ø®Ø±ÙˆØ¬ÙŠ ÙŠÙƒ ØªØ§Ø¨Ø¹ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯  Ú†Ù†Ø¯ Ø±Ø¯ÙŠÙ 
ÙŠØ§ Ø³ØªÙˆÙ† Ø¨Ø§Ø´Ø¯ØŸ
4.26)  Ø¯Ø± ØªÙˆØ§Ø¨Ø¹ PL/PgSQL Ú†Ø±Ø§ Ù†Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ Ø§Ø·Ù…ÙŠÙ†Ø§Ù† 
Ø¬Ø¯Ø§ÙˆÙ„ Ù…ÙˆÙ‚Øª Ø±Ø§ Ø§ÙŠØ¬Ø§Ø¯ ÙŠØ§ Ø­Ø°Ù ÙƒØ±Ø¯ØŸ
4.27) Ú†Ù‡ Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ ØªÙƒØ±Ø§Ø± (replication) ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯ØŸ
4.28) Ú†Ù‡ Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ Ø±Ù…Ø²Ù†Ú¯Ø§Ø±ÙŠ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ

ØªÙˆØ³Ø¹Ù‡ PostgreSQL
5.1) Ù…Ù† ÙŠÙƒ ØªØ§Ø¨Ø¹ Ù†ÙˆØ´ØªÙ‡â€ŒØ§Ù…. Ú†Ú¯ÙˆÙ†Ù‡ Ø¢Ù† Ø±Ø§ Ø¯Ø± psql 
Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù…ØŸ Ú†Ø±Ø§ Ø¨Ø§ Ø§Ø¬Ø±Ø§ÙŠ Ø¢Ù† core dump Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
5.2) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¯Ø± ØªÙˆÙ„ÙŠØ¯ Ù†ÙˆØ¹â€ŒÙ‡Ø§ Ùˆ ØªÙˆØ§Ø¨Ø¹ 
Ø¬Ø¯ÙŠØ¯ Ùˆ Ø¬Ø§Ù„Ø¨ Ø¨Ø±Ø§ÙŠ PostgreSQLâ€Œ Ù‡Ù…ÙƒØ§Ø±ÙŠ Ùˆ Ù…Ø´Ø§Ø±ÙƒØª 
Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ù….
5.3) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ ØªØ§Ø¨Ø¹ Ø¨Ù‡ Ø²Ø¨Ø§Ù† C Ø¨Ù†ÙˆÙŠØ³Ù… 
ÙƒÙ‡ Ø®Ø±ÙˆØ¬ÙŠ Ø¢Ù† ÙŠÙƒ â€Œtuple  (Ú†Ù†Ø¯ ØªØ§ÙŠÙŠ) Ø¨Ø§Ø´Ø¯ØŸ
5.4) Ù…Ù† ÙŠÙƒ ÙØ§ÙŠÙ„ Ù…Ù†Ø¨Ø¹ Ø±Ø§ Ø¹ÙˆØ¶ ÙƒØ±Ø¯Ù‡ Ø§Ù… Ú†Ø±Ø§ Ø¯Ø± 
Ø¹Ù…Ù„ÙŠØ§Øª ÙƒØ§Ù…Ù¾ÙŠÙ„ Ù…Ø¬Ø¯Ø¯ Ø¢Ù† ØªØºÙŠÙŠØ± Ø¯ÙŠØ¯Ù‡ Ù†Ù…ÙŠâ€ŒØ´ÙˆØ¯ØŸ




Ø³ÙˆØ§Ù„Ø§Øª Ø¹Ù…ÙˆÙ…ÙŠ
1.1) PostgreSQL Ú†ÙŠØ³Øª Ùˆ Ú†Ú¯ÙˆÙ†Ù‡ Ø¢Ù† Ø±Ø§ Ø¨Ø§ÙŠØ¯ ØªÙ„ÙØ¸ ÙƒØ±Ø¯ØŸ
PostgreSQL Ø¨Ù‡ ØµÙˆØ±Øª Post-Gres-Q-Lâ€Œ ØªÙ„ÙØ¸ Ù…ÙŠâ€ŒØ´ÙˆØ¯. ÙŠÙƒ ÙØ§ÙŠÙ„ 
ØµÙˆØªÙŠ Ø¯Ø± Ø¢Ø¯Ø±Ø³ http://www.postfresql.org/postgresql.mp3â€Œ Ø¨Ø±Ø§ÙŠ 
ÙƒØ³Ø§Ù†ÙŠ ÙƒÙ‡ Ù…Ø§ÙŠÙ„Ù†Ø¯ ØªÙ„ÙØ¸ ØµØ­ÙŠØ­ Ø±Ø§ Ø¨Ø´Ù†ÙˆÙ†Ø¯ ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯.
PostgreSQL Ø§Ø² Ø±ÙˆÙŠ Ø³ÙŠØ³ØªÙ… Ù…Ø¯ÙŠØ±ÙŠØª Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ POSTGRES 
ØªÙˆØ³Ø¹Ù‡ Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª (Ù‡Ù†ÙˆØ² Ù‡Ù… Ø¨Ø¹Ø¶ÙŠ Ù…ÙˆØ§Ù‚Ø¹ Ø¨Ø±Ø§ÙŠ 
Ø³Ø§Ø¯Ú¯ÙŠ Ø¨Ù‡ Ø¢Ù† Postgres Ú¯ÙØªÙ‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯) ÙƒÙ‡ ÙŠÙƒ Ù†Ù…ÙˆÙ†Ù‡ 
ØªØ­Ù‚ÙŠÙ‚Ø§ØªÙŠ Ø§Ø² Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ù†Ø³Ù„ Ø¨Ø¹Ø¯ Ø§Ø³Øª. 
PostgreSQL Ù‡Ù…Ø§Ù† Ø§Ù„Ú¯ÙˆÙŠ Ø¯Ø§Ø¯Ù‡ Ù‚ÙˆÙŠ Ùˆ Ø§Ù†ÙˆØ§Ø¹ Ø¯Ø§Ø¯Ù‡  Ø±Ø§ 
Ø­ÙØ¸ ÙƒØ±Ø¯Ù‡ Ø§Ø³Øª ÙˆÙ„ÙŠ Ø²Ø¨Ø§Ù† PostQuel Ø±Ø§ Ø¨Ø§ ÙŠÙƒ 
Ø²ÙŠØ±Ù…Ø¬Ù…ÙˆØ¹Ù‡ Ù¾ÙŠØ´Ø±ÙØªÙ‡ Ø§Ø² SQL Ø¬Ø§ÙŠÚ¯Ø²ÙŠÙ† ÙƒØ±Ø¯Ù‡ Ø§Ø³Øª. 
PostgreSQL Ù…ØªÙ† Ø¨Ø§Ø² Ø¨ÙˆØ¯Ù‡ Ùˆ Ù…ØªÙ† ÙƒØ§Ù…Ù„ Ø¢Ù† Ø¯Ø± Ø¯Ø³ØªØ±Ø³ 
Ø§Ø³Øª.
PostgreSQL  ØªÙˆØ³Ø· ÙŠÙƒ ØªÙŠÙ… Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ ÙƒÙ‡ Ù‡Ù…Ú¯ÙŠ Ø¯Ø± 
Ú¯Ø±ÙˆÙ‡ Ù¾Ø³Øª Ø§Ù„ÙƒØªØ±ÙˆÙ†ÙŠÙƒ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³Ø§Ù† PostgreSQL  
Ø¹Ø¶Ùˆ Ù‡Ø³ØªÙ†Ø¯ØŒ Ø§Ù†Ø¬Ø§Ù… Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ù‡Ù…Ø§Ù‡Ù†Ú¯ ÙƒÙ†Ù†Ø¯Ù‡ Ø§ØµÙ„ÙŠ 
Ø¯Ø± Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± Marc G. Fournierâ€Œ Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ scrappy@PostgreSQL.org  
Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. (Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù†Ø­ÙˆÙ‡ Ù…Ù„Ø­Ù‚ Ø´Ø¯Ù† Ø¨Ù‡ Ø§ÙŠÙ† ØªÙŠÙ… 
Ù‚Ø³Ù…Øª 1.6 Ø±Ø§ Ø¨Ø¨ÙŠÙ†ÙŠØ¯). Ø§ÙŠÙ† ØªÙŠÙ… Ø¯Ø± Ø­Ø§Ø¶Ø± Ù…Ø³Ø¦ÙˆÙ„ÙŠØª 
ØªÙ…Ø§Ù… Ù…Ø³Ø§Ø¦Ù„ Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ PostgreSQL Ø±Ø§ 
Ø¨Ø± Ø¹Ù‡Ø¯Ù‡ Ø¯Ø§Ø±Ø¯. Ø§ÙŠÙ† ÙŠÙƒ Ù¾Ø±ÙˆÚ˜Ù‡ Ú¯Ø±ÙˆÙ‡ÙŠ Ø§Ø³Øª Ùˆ ØªØ­Øª 
ÙƒÙ†ØªØ±Ù„ Ù‡ÙŠÚ† Ø´Ø±ÙƒØªÙŠ Ù†ÙŠØ³Øª. Ø¨Ø±Ø§ÙŠ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø¯Ø± 
Ù…ÙˆØ±Ø¯ Ø§ÙŠÙ† ØªÙŠÙ… Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ 
http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
Ø§ÙˆÙ„ÙŠÙ† Ù†Ø³Ø®Ù‡ PostgreSQLâ€Œ ØªÙˆØ³Ø· Andrew Yu and Jolly Chen Ø¨Ù‡ 
ÙˆØ¬ÙˆØ¯ Ø¢Ù…Ø¯. Ø§ÙØ±Ø§Ø¯ Ø¨Ø³ÙŠØ§Ø±ÙŠ Ø¯Ø± ØªÙˆØ³Ø¹Ù‡ Ùˆ Ø±ÙØ¹ Ø§Ø´ÙƒØ§Ù„ Ùˆ 
Ø§Ù†ØªÙ‚Ø§Ù„ Ø¢Ù† Ø´Ø±ÙƒØª ÙƒØ±Ø¯Ù‡â€ŒØ§Ù†Ø¯. Ù…ØªÙ† Ø§ØµÙ„ÙŠ Postgres ÙƒÙ‡ 
PostgreSQL Ø§Ø² Ø±ÙˆÙŠ Ø¢Ù† Ù†ÙˆØ´ØªÙ‡ Ø´Ø¯Ù‡ Ø§Ø³ØªØŒ ØªÙˆØ³Ø· ØªØ¹Ø¯Ø§Ø¯ 
Ø²ÙŠØ§Ø¯ÙŠ Ø¯Ø§Ù†Ø´Ø¬ÙˆÙŠ ÙƒØ§Ø±Ø´Ù†Ø§Ø³ÙŠ Ø§Ø±Ø´Ø¯Ùˆ Ø¯Ø§Ù†Ø´Ø¬ÙˆÙŠ 
ÙƒØ§Ø±Ø´Ù†Ø§Ø³ÙŠ Ùˆ ØªÙŠÙ… Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ ÙƒÙ‡ ØªØ­Øª Ù†Ø¸Ø± 
Ù¾Ø±ÙˆÙØ³ÙˆØ± Michael Stonebrake Ø¯Ø± Ø¯Ø§Ù†Ø´Ú¯Ø§Ù‡ 
Ø¨Ø±ÙƒÙ„ÙŠØŒâ€ŒÙƒØ§Ù„ÙŠÙØ±Ù†ÙŠØ§ ÙƒØ§Ø± Ù…ÙŠâ€ŒÙƒØ±Ø¯Ù‡â€ŒØ§Ù†Ø¯ Ù†ÙˆØ´ØªÙ‡ 
Ø´Ø¯Ù‡ Ø§Ø³Øª.
Ù†Ø§Ù… Ø§ØµÙ„ÙŠ Ù†Ø±Ù… Ø§ÙØ²Ø§Ø± Ø¯Ø± Ø¯Ø§Ù†Ø´Ú¯Ø§Ù‡ Ø¨Ø±ÙƒÙ„ÙŠ Postgresâ€Œ 
Ø¨ÙˆØ¯. Ø¯Ø± Ø³Ø§Ù„ 1995 Ø¨Ø¹Ø¯ Ø§Ø² Ø§Ø¶Ø§ÙÙ‡ Ø´Ø¯Ù† SQL Ù†Ø§Ù… Ø¢Ù† Ø¨Ù‡ 
Postgres95 ØªØºÙŠÙŠØ± Ø¯Ø§Ø¯Ù‡ Ø´Ø¯. Ø¯Ø± Ø³Ø§Ù„ 1996 Ù†Ø§Ù… Ø¢Ù† Ø¨Ù‡ 
PostgreSQL ØªØºÙŠÙŠØ± Ø¯Ø§Ø¯Ù‡ Ø´Ø¯.
1.2) Ù‚ÙˆØ§Ù†ÙŠÙ† ÙƒÙ¾ÙŠ Ø±Ø§ÙŠØª Ø¯Ø± Ù…ÙˆØ±Ø¯ PostgreSQL Ø¨Ù‡ Ú†Ù‡ ØµÙˆØ±Øª 
Ø§Ø³ØªØŸ
PostgreSQL ØªØ­Øª Ù‚Ø§Ù†ÙˆÙ† ÙƒÙ¾ÙŠ Ø±Ø§ÙŠØª Ø²ÙŠØ± Ù‚Ø±Ø§Ø± Ø¯Ø§Ø±Ø¯:
PostgreSQL Data Base Management System
Portions copyright (c) 1996-2004, PostgreSQL Global Development Group Portions 
Copyright (c) 1994-6 Regents of the University of California
Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose, without fee, and without a written agreement is 
hereby granted, provided that the above copyright notice and this paragraph and 
the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR 
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST 
PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF 
THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND 
THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, 
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
Ù‚Ø§Ù†ÙˆÙ† Ø¨Ø§Ù„Ø§ Ù„ÙŠØ³Ø§Ù†Ø³ BSD ÙƒÙ‡ ÙŠÙƒ Ù„ÙŠØ³Ø§Ù†Ø³ ÙƒÙ„Ø§Ø³ÙŠÙƒ 
Ø¨Ø±Ø§ÙŠ Ù…ØªÙ†â€ŒÙ‡Ø§ÙŠ Ø¨Ø§Ø² Ø§Ø³Øª Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. Ù‡ÙŠÚ† Ù…Ø­Ø¯ÙˆØ¯ÙŠØªÙŠ 
Ø¯Ø± Ù…ÙˆØ±Ø¯ Ù†Ø­ÙˆÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù…ØªÙ† Ø¯Ø± Ø¢Ù† Ø¯ÙŠØ¯Ù‡ 
Ù†Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ù…Ø§ Ø¢Ù† Ø±Ø§ Ø¯ÙˆØ³Øª Ø¯Ø§Ø±ÙŠÙ… Ùˆ Ù‡ÙŠÚ† Ù‚ØµØ¯ÙŠ Ø¨Ø±Ø§ÙŠ 
ØªØºÙŠÙŠØ± Ø¢Ù† Ù†Ø¯Ø§Ø±ÙŠÙ….
1.3) PostgreSQLâ€Œ Ø±ÙˆÙŠ Ú†Ù‡ Ù†ÙˆØ¹ ÙŠÙˆÙ†ÙŠÙƒØ³Ù‡Ø§ÙŠÙŠ Ø§Ø¬Ø±Ø§ 
Ù…ÙŠâ€ŒØ´ÙˆØ¯ØŸ
Ø¯Ø± Ø­Ø§Ù„Øª ÙƒÙ„ÙŠ PostgreSQL Ø±ÙˆÙŠ Ù‡Ø± Ù¾Ù„ØªÙØ±Ù… (Ø³ÙƒÙˆÙŠ) Ø³Ø§Ø²Ú¯Ø§Ø± 
Ø¨Ø§ ÙŠÙˆÙ†ÙŠÙƒØ³ Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ù„ÙŠØ³Øª Ù¾Ù„ØªÙØ±Ù…Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ 
ØªØ§ÙƒÙ†ÙˆÙ† PostgreSQLâ€Œ Ø±ÙˆÙŠ Ø¢Ù†Ù‡Ø§ Ù†ØµØ¨ Ùˆ ØªØ³Øª Ø´Ø¯Ù‡ Ø§Ø³Øª 
Ø¯Ø±Ù‚Ø³Ù…Øª Ø¯Ø³ØªÙˆØ±Ø§Ù„Ø¹Ù…Ù„Ù‡Ø§ÙŠ Ù†ØµØ¨ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª.
1.4) Ø±ÙˆÙŠ Ú†Ù‡ Ù…Ø­ÙŠØ·Ù‡Ø§ÙŠ ØºÙŠØ± ÙŠÙˆÙ†ÙŠÙƒØ³ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¢Ù† Ø±Ø§ 
Ø§Ø¬Ø±Ø§ ÙƒØ±Ø¯ØŸ
Client
Ù…ÙŠâ€ŒØªÙˆØ§Ù† psql, ÙƒØªØ§Ø¨Ø®Ø§Ù†Ù‡ libpq Ùˆ Ø³Ø§ÙŠØ± ÙˆØ§Ø³Ø·Ù‡Ø§ Ùˆ 
Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ‡Ø§ÙŠ ÙƒØ§Ø±Ø¨Ø±Ø¯ÙŠ Ø±Ø§ Ø·ÙˆØ±ÙŠ ÙƒØ§Ù…Ù¾ÙŠÙ„ ÙƒØ±Ø¯ ÙƒÙ‡ 
Ø±ÙˆÙŠ Ù…Ø­ÙŠØ·Ù‡Ø§ÙŠ ÙˆÙŠÙ†Ø¯ÙˆØ² Ù†ÙŠØ² Ø§Ø¬Ø±Ø§ Ø´ÙˆÙ†Ø¯. Ø¯Ø± Ø§ÙŠÙ† 
Ø­Ø§Ù„Øª Client Ø±ÙˆÙŠ ÙˆÙŠÙ†Ø¯ÙˆØ² Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ùˆ Ø§Ø² Ø·Ø±Ø¨Ù‚ 
Ø´Ø¨ÙƒÙ‡ Ùˆ Ù¾Ø±ÙˆØªÙƒÙ„ TCP/IP Ø¨Ø§ ÙŠÙƒ Ø³Ø±ÙˆØ± ÙƒÙ‡ Ø±ÙˆÙŠ ÙŠÙƒ Ù¾Ù„ØªÙØ±Ù… 
Ù„ÙŠÙ†ÙˆÙƒØ³ Ø¯Ø± Ø­Ø§Ù„ Ø§Ø¬Ø±Ø§Ø³Øª Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ø±Ù‚Ø±Ø§Ø± 
Ù…ÙŠâ€ŒÙƒÙ†Ø¯.ÙŠÙƒ ÙØ§ÙŠÙ„ win32.mak Ù‡Ù…Ø±Ø§Ù‡ Ø¨Ø§ ÙƒØ¯Ù‡Ø§ÙŠ PostgreSQL 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¨Ø±Ø§ÙŠ ÙƒØ§Ù…Ù¾ÙŠÙ„ ÙƒØ±Ø¯Ù† ÙƒØªØ§Ø¨Ø®Ø§Ù†Ù‡ libpq Ùˆ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ psql Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. Pâ€ŒostgreSQLâ€Œ Ù‡Ù…Ú†Ù†ÙŠÙ† Ø§Ù…ÙƒØ§Ù† 
Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ù‡ ØµÙˆØ±Øª ODBCâ€Œ  Ø±Ø§ Ù†ÙŠØ² Ø¯Ø§Ø±Ø¯.
Server
Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Cygwinâ€Œ Ùˆ ÙƒØªØ§Ø¨Ø®Ø§Ù†Ù‡ Cygnus Ù…ÙŠâ€ŒØªÙˆØ§Ù† 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø±Ø§ Ø±ÙˆÙŠ ÙˆÙŠÙ†Ø¯ÙˆØ² NT Ùˆ ÙŠØ§ Win2K Ø§Ø¬Ø±Ø§ 
ÙƒØ±Ø¯.Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± ÙØ§ÙŠÙ„ pgsql/doc/FAQ_MSWIN 
â€ŒØ±Ø§ ÙƒÙ‡ Ø¨Ù‡Ù…Ø±Ø§Ù‡ ØªÙˆØ²Ø¨Ø¹â€ŒÙ‡Ø§ÙŠ PostgreSQL Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª 
Ø¨Ø¨ÙŠÙ†ÙŠØ¯ Ùˆ ÙŠØ§ Ø§ÙŠÙ†ÙƒÙ‡ Ø¨Ù‡ Ø§ÙŠÙ† ØµÙØ­Ù‡ 
http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
Ø¯Ø± Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± ÙŠÙƒ Ø¹Ù…Ù„ÙŠØ§Øª Ø§Ù†ØªÙ‚Ø§Ù„ PostgreSQL Ø¨Ù‡ Ø±ÙˆÙŠ 
Ø³ÙƒÙˆÙ‡Ø§ÙŠ Win NT/2000/XP Ø¯Ø± Ø¬Ø±ÙŠØ§Ù† Ø§Ø³Øª. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† ÙˆØ¶Ø¹ÙŠØª 
Ø§ÙŠÙ† Ù¾Ø±ÙˆÚ˜Ù‡ Ø¨Ù‡ Ø³Ø§ÙŠØªâ€ŒÙ‡Ø§ÙŠ 
http://momjian.postgresql.org/main/writings/pgsql/win32.htm Ùˆ 
http://techdocs.postgresql.org/guides/Windows Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯. 
Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ Ø¹Ù…Ù„ÙŠØ§Øª Ø§Ù†ØªÙ‚Ø§Ù„ Ø¨Ø± Ø±ÙˆÙŠ Novell Netware 6 Ù†ÙŠØ² 
Ø¯Ø± Ø­Ø§Ù„ Ø§Ù†Ø¬Ø§Ù… Ø§Ø³Øª ÙƒÙ‡ Ø¯Ø± Ø³Ø§ÙŠØª http://forge.novell.com 
Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø±Ø§ Ø¨Ø¨ÙŠÙ†ÙŠØ¯.
1.5) PostgreSQL Ø±Ø§ Ø§Ø² ÙƒØ¬Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨Ú¯ÙŠØ±Ù…ØŸ
PostgreSQLâ€Œ Ø±Ø§ Ø§Ø² Ø³Ø§ÙŠØª Ø§ØµÙ„ÙŠ Ø¢Ù†  ftp://ftp.PostgreSQL.org/pub 
Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ú¯ÙŠØ±ÙŠØ¯. Ø¯Ø± ØµÙØ­Ù‡ Ø§ØµÙ„ÙŠ Ø³Ø§ÙŠØª Ù„ÙŠØ³Øª 
Ø³Ø§ÙŠØ± Ø¢Ø¯Ø±Ø³Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ PostgreSQLâ€Œ Ø±Ø§ Ø§Ø² 
Ø¢Ù†Ù‡Ø§ Ø¨Ú¯ÙŠØ±ÙŠØ¯ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª.
1.6) Ø§Ø² ÙƒØ¬Ø§ Ø®Ø¯Ù…Ø§Øª Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ø¨Ú¯ÙŠØ±Ù…ØŸ
Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÙŠ Ø§ØµÙ„ÙŠ pgsql-general@PostgreSQL.org Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. Ø§ÙŠÙ† 
Ú¯Ø±ÙˆÙ‡ Ø¨Ø±Ø§ÙŠ Ø¨Ø­Ø« Ø¯Ø± Ù…ÙˆØ±Ø¯ Ù…ÙˆØ¶ÙˆØ¹Ø§Øª Ù…Ø®ØªÙ„Ù Ø¯Ø± Ø²Ù…ÙŠÙ†Ù‡ 
PostgreSQL Ø§Ø³Øª. Ø¨Ø±Ø§ÙŠ Ø¹Ø¶Ùˆ Ø´Ø¯Ù† Ø¯Ø± Ø§ÙŠÙ† Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÙŠ ÙŠÙƒ 
Ù†Ø§Ù…Ù‡ Ø§Ù„ÙƒØªØ±ÙˆÙ†ÙŠÙƒÙŠ Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ Ú¯Ø±ÙˆÙ‡ Ø¨Ø§ Ù…Ø­ØªÙˆÙŠØ§ØªÛŒ ÙƒÙ‡ 
Ø¯Ø± Ø§Ø¯Ø§Ù…Ù‡ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯. Ø¯Ø± Ù‚Ø³Ù…Øª Subject 
Ú†ÙŠØ²ÙŠ Ù†Ù†ÙˆÙŠØ³ÙŠØ¯.
    subscribe
    end
Ø¢Ø¯Ø±Ø³ Ú¯Ø±ÙˆÙ‡: pgsql-general-request@PostgreSQL.org
Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÙŠ Ù‡Ù… Ø¨Ù‡ ØµÙˆØ±Øª Ø§Ø±Ø³Ø§Ù„ Ú†ÙƒÙŠØ¯Ù‡ 
Ù¾ÙŠØ§Ù…Ù‡Ø§ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ Ø¹Ø¶Ùˆ Ø´Ø¯Ù† Ø¯Ø± Ø§ÙŠÙ† Ú¯Ø±ÙˆÙ‡ ÙŠÙƒ 
Ù†Ø§Ù…Ù‡ Ø¨Ø§ Ù…Ø­ØªÙˆÙŠØ§Øª Ø²ÙŠØ± Ø¨Ù‡ Ø§ÛŒÙ† Ø¢Ø¯Ø±Ø³  Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯. 
pgsql-general-digest-request@PostgreSQL.org 
    subscribe
    end
Ø¯Ø± Ø§ÙŠÙ† Ú¯Ø±ÙˆÙ‡ Ù‡Ø± Ù…ÙˆÙ‚Ø¹ Ø­Ø¬Ù… Ù†Ø§Ù…Ù‡â€ŒÙ‡Ø§ Ø¨Ù‡ 30 
ÙƒÙŠÙ„ÙˆØ¨Ø§ÙŠØª Ø±Ø³ÙŠØ¯ Ø¨Ø±Ø§ÙŠ ØªÙ…Ø§Ù… Ø§Ø¹Ø¶Ø§Ø¡ Ø§Ø±Ø³Ø§Ù„ Ù…ÙŠâ€ŒØ´ÙˆØ¯.
Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÙŠ Ø¨Ø±Ø±Ø³ÙŠ Ø§ÙØ´ÙƒØ§Ù„Ø§Øª Ù‡Ù… ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ 
Ø¹Ø¶Ùˆ Ø´Ø¯Ù† Ø¯Ø± Ø§ÙŠÙ† Ú¯Ø±ÙˆÙ‡ ÙŠÙƒ Ù†Ø§Ù…Ù‡ Ø¨Ø§ Ù…Ø­ØªÙˆÙŠØ§Øª Ø²ÙŠØ± Ø¨Ù‡ 
pgsql-bugs-request@PostgreSQL.org Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯.
    subscribe
    end
Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÙŠ Ù…Ø®ØµÙˆØµ ØªÙˆØ³Ø¹Ù‡ Ø¯Ù‡Ù†Ø¯Ú¯Ø§Ù† 
(Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³Ø§Ù†) Ù†ÙŠØ² ÙˆØ¬ÙˆØ¯Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ Ø¹Ø¶ÙˆÙŠØª Ø¯Ø± 
Ø§ÙŠÙ† Ú¯Ø±ÙˆÙ‡ ÙŠÙƒ Ù†Ø§Ù…Ù‡ Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ Ø²ÙŠØ± Ø¨Ø§ Ù…Ø­ØªÙˆÙŠØ§Øª Ù…Ø´Ø®Øµ 
Ø´Ø¯Ù‡ Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯.  pgsql-hackers-request@PostgreSQL.org  
    subscribe
    end
Ú¯Ø±ÙˆÙ‡Ù‡Ø§ÙŠ Ù¾Ø³ØªÙŠ Ø¯ÙŠÚ¯Ø±ÙŠ Ù†ÙŠØ² Ø¯Ø± Ø²Ù…ÙŠÙ†Ù‡ PostgreSQLâ€Œ ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯  ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¯Ø± Ø³Ø§ÙŠØª http://www.postgresql.org 
Ø¨Ø¨ÙŠÙ†ÙŠØ¯.
Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ ÙƒØ§Ù†Ø§Ù„ IRC Ø±ÙˆÙŠ Freenode Ùˆ EFNet Ø¨Ù†Ø§Ù… PostgreSQL# 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø´Ù…Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø§Ø² ÙØ±Ù…Ø§Ù† ÙŠÙˆÙ†ÙŠÙƒØ³ÙŠ irc 
-c '#PostgreSQL' "$USER" irc.phoenix.net. ÙŠØ§ irc -c '#PostgreSQL' "$USER" 
irc.freenode.net Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯.
Ù„ÙŠØ³Øª Ø´Ø±ÙƒØªÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ Ø§Ø² Ø·Ø±ÙŠÙ‚ Ø¢Ù†Ù‡Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ 
Ø®Ø¯Ù…Ø§Øª Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ ØªØ¬Ø§Ø±ÙŠ Ø¯Ø± Ø²Ù…ÙŠÙ†Ù‡ PostgreSQL Ø¯Ø±ÙŠØ§ÙØª 
ÙƒÙ†ÙŠØ¯ Ø¯Ø± Ø§ÙŠÙ† Ø¢Ø¯Ø±Ø³ http://techdocs.postgresql.org/companies.php 
Ù…ÙˆØ¬ÙˆØ¯ Ø§Ø³Øª.
1.7) Ø¢Ø®Ø±ÙŠÙ† Ù†Ø³Ø®Ù‡ Ø§Ø¹Ù„Ø§Ù… Ø´Ø¯Ù‡ Ú†ÙŠØ³ØªØŸ
Ø¢Ø®Ø±ÙŠÙ† Ù†Ø³Ø®Ù‡ PostgreSQLâ€Œ  ÙƒÙ‡ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ 7.4.3 Ø§Ø³Øª.
Ù‡Ø¯Ù Ù…Ø§ Ø¢Ù† Ø§Ø³Øª ÙƒÙ‡ Ù‡Ø± 6 Ù…Ø§Ù‡ ØªØ§ 8 Ù…Ø§Ù‡ ÙŠÙƒ Ù†Ø³Ø®Ù‡ Ø¬Ø¯ÙŠØ¯ 
Ø§Ø±Ø§Ø¦Ù‡ Ø´ÙˆØ¯.
1.8) Ú†Ù‡ Ù…Ø³ØªÙ†Ø¯Ø§Øª Ùˆ Ø±Ø§Ù‡Ù†Ù…Ø§Ø¦ÙŠÙ‡Ø§ÙŠÙŠ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ù†Ø¯ØŸ
Ú†Ù†Ø¯ÙŠÙ† ÙƒØªØ§Ø¨Ú†Ù‡ Ùˆ ØµÙØ­Ø§Øª Ø±Ø§Ù‡Ù†Ù…Ø§ Ùˆ Ù…Ø«Ø§Ù„Ù‡Ø§ÙŠ ÙƒÙˆÚ†Ùƒ 
Ù‡Ù…Ø±Ø§Ù‡ Ø¨Ø§ Ù…ØªÙ† Ø§ØµÙ„ÙŠ PostgreSQLâ€Œ Ø¯Ø± Ø´Ø§Ø®Ù‡ doc ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† ØµÙØ­Ø§Øª Ø±Ø§Ù‡Ù†Ù…Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ù‡ 
Ø³Ø§ÙŠØª http://www.PostgreSQL.org/docs  Ù†ÙŠØ² Ù…Ø±Ø§Ø¬Ø¹Ù‡ Ù†Ù…Ø§ÙŠÙŠØ¯.
Ø¯Ùˆ ÙƒØªØ§Ø¨ Ø¯Ø± Ø²Ù…ÙŠÙ†Ù‡ PostgreSQLâ€Œ  Ø¯Ø± Ø¢Ø¯Ø±Ø³â€ŒÙ‡Ø§ÙŠ 
http://www.PostgreSQL.org/docs/awbook.htm Ùˆ http://www.commandprompt.com/ppbook 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ù„ÙŠØ³ØªÙŠ Ø§Ø² ÙƒØªØ§Ø¨Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ Ù‚Ø§Ø¨Ù„ Ø®Ø±ÙŠØ¯ 
Ø§Ø³Øª Ø¯Ø± Ø¢Ø¯Ø±Ø³ http://techdocs.PostgreSQL.org/techdocs/bookreviews.php 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ù‡Ù…Ú†Ù†ÙŠÙ† Ù„ÙŠØ³ØªÙŠ Ø§Ø² Ù…Ù‚Ø§Ù„Ø§Øª ÙÙ†ÙŠ Ø¯Ø± 
Ù…ÙˆØ±Ø¯ PostgreSQL Ø¯Ø± Ø¢Ø¯Ø±Ø³ http://techdocs.PostgreSQL.org ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯.
Ø¨Ø±Ù†Ø§Ù…Ù‡ psql ÙŠÙƒ Ø¯Ø³ØªÙˆØ± d\ Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø§Ø·Ù„Ø§Ø¹Ø§ØªÙŠ Ø¯Ø± 
Ù…ÙˆØ±Ø¯ Ø§Ù†ÙˆØ§Ø¹ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ù‚Ø§Ø¨Ù„ ØªØ¹Ø±ÙŠÙ Ùˆ Ø¹Ù…Ù„Ú¯Ø±â€ŒÙ‡Ø§ 
Ùˆ ØªÙˆØ§Ø¨Ø¹ Ùˆ ... Ø¨Ù‡ Ù…Ø§ Ù†Ø´Ø§Ù† Ù…ÙŠâ€ŒØ¯Ù‡Ø¯. Ø¯Ø± Ø³Ø§ÙŠØª Ø§ØµÙ„ÙŠ 
Ù…Ø§ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ±ÙŠ Ø±Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ù¾ÙŠØ¯Ø§ ÙƒÙ†ÙŠØ¯.
1.9) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§Ø²Ø§Ø´ÙƒØ§Ù„Ø§Øª Ø´Ù†Ø§Ø®ØªÙ‡ Ø´Ø¯Ù‡ Ùˆ ÙŠØ§ 
Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ ÙƒÙ‡ Ø¯Ø± Ø§ÙŠÙ† Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ ÙˆØ¬ÙˆØ¯ Ù†Ø¯Ø§Ø±Ø¯  
Ù…Ø·Ù„Ø¹ Ø´ÙˆÙ…ØŸ
PostgreSQL ÙŠÙƒ Ø²ÙŠØ± Ù…Ø¬Ù…ÙˆØ¹Ù‡ Ù¾ÙŠØ´Ø±ÙØªÙ‡ Ø§Ø² SQL-92 Ø±Ø§ 
Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ø¯Ø± Ù„ÙŠØ³Øª  TODO   Ø§ÙØ´ÙƒØ§Ù„Ø§Øª 
Ø´Ù†Ø§Ø®ØªÙ‡ Ø´Ø¯Ù‡ ÙŠØ§ Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ ÙƒÙ‡ ÙˆØ¬ÙˆØ¯ Ù†Ø¯Ø§Ø±Ø¯ Ùˆ ÙŠØ§ 
Ø¨Ø±Ù†Ø§Ù…Ù‡â€Œâ€ŒÙ‡Ø§ÙŠ Ø¢ÙŠÙ†Ø¯Ù‡ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª.
1.10) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø²Ø¨Ø§Ù† SQL Ø±Ø§ ÙŠØ§Ø¯ Ø¨Ú¯ÙŠØ±Ù…ØŸ
ÙƒØªØ§Ø¨ PostgreSQL Ø¯Ø± Ø¢Ø¯Ø±Ø³ SQL http://www.PostgreSQL.org/docs/awbook.html 
â€ŒØ±Ø§ Ø¢Ù…ÙˆØ²Ø´ Ù…ÙŠâ€ŒØ¯Ù‡Ø¯. Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ ÙƒØªØ§Ø¨ Ø¯Ø± Ø¢Ø¯Ø±Ø³ 
http://www.commandprompt.com/ppbook ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. ÙŠÙƒ Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ 
Ø®ÙŠÙ„ÙŠ Ø®ÙˆØ¨ Ù‡Ù… Ø¯Ø± Ø³Ø§ÙŠØªâ€ŒÙ‡Ø§ÙŠ  
http://www.intermedia.net/support/sql/sqltut.shtm Ùˆ 
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM Ùˆ  
http://sqlcourse.com Ø¯Ø± Ù…ÙˆØ±Ø¯ SQL ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
ÙƒØªØ§Ø¨ Ø¯ÙŠÚ¯Ø±ÙŠ ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø±Ø§ÙŠ ÙŠØ§Ø¯Ú¯ÙŠØ±ÙŠ SQL Ø§Ø² Ø¢Ù† 
Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯ ÙƒØªØ§Ø¨ "SQL Ø±Ø§ Ø¯Ø± 21 Ø±ÙˆØ² ÙŠØ§Ø¯ Ø¨Ú¯ÙŠØ±ÙŠØ¯ØŒâ€Œ 
ÙˆÙŠØ±Ø§ÙŠØ´ Ø¯ÙˆÙ…" Ø¯Ø± Ø³Ø§ÙŠØª 
http://members.tripod.com/er4ebus/sql/index.htm Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯.
ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ Ø§Ø² ÙƒØ§Ø±Ø¨Ø±Ø§Ù† ÙƒØªØ§Ø¨ The Practical SQL Ø±Ø§ 
ØªØ±Ø¬ÙŠØ­ Ù…ÙŠâ€ŒØ¯Ù‡Ù†Ø¯. ÙƒØªØ§Ø¨ Ø¯ÙŠÚ¯Ø± The Complete Refrence SQL 
Ø§Ù†ØªØ´Ø§Ø±Ø§Øª McGraw-Hill Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯.
1.11) Ø¢ÙŠØ§ PostgreSQL Ù…Ø´ÙƒÙ„ Y2Kâ€Œ Ø¯Ø§Ø±Ø¯ ÙŠØ§ Ø®ÙŠØ±ØŸ
Ø®ÙŠØ±ØŒâ€ŒPostgreSQLâ€Œ Ø¨Ø§ ØªØ§Ø±ÙŠØ®â€ŒÙ‡Ø§ÙŠ Ù‚Ø¨Ù„ Ùˆ Ø¨Ø¹Ø¯ Ø§Ø² 2000 
Ù…Ø´ÙƒÙ„ÙŠ Ù†Ø¯Ø§Ø±Ø¯.
1.12) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨Ù‡ ØªÙŠÙ… Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³ PostgreSQL 
Ù…Ù„Ø­Ù‚ Ø´ÙˆÙ…ØŸ
Ø§Ø¨ØªØ¯Ø§ØŒâ€ŒØ¢Ø®Ø±ÙŠÙ† Ø³ÙˆØ±Ø³ Ø±Ø§ Ø¯ÙˆÙ†Ù„ÙˆØ¯ ÙƒØ±Ø¯Ù‡ Ùˆ Ù…Ø³ØªÙ†Ø¯Ø§Øª 
Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ PostgreSQL Ø±Ø§ Ø¯Ø± Ø³Ø§ÙŠØª 
Ù…Ø·Ø§Ù„Ø¹Ù‡ ÙƒÙ†ÙŠØ¯. Ø³Ù¾Ø³ Ø¨Ù‡ Ú¯Ø±ÙˆÙ‡Ù‡Ø§ÙŠ Ù¾Ø³ØªÙŠ â€Œ pgsql-patches Ùˆ 
pgsql-hackers  Ø¹Ø¶Ùˆ Ø´ÙˆÙŠØ¯. Ø¯Ø± Ù…Ø±Ø­Ù„Ù‡ Ø¢Ø®Ø± ÙˆØµÙ„Ù‡â€ŒÙ‡Ø§ÙŠ Ø¨Ø§ 
ÙƒÙŠÙÙŠØª Ø¨Ø§Ù„Ø§ Ø±Ø§ Ø¨Ù‡ pgsql-patches Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯.
ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ Ø§Ø² Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³Ø§Ù† ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ù†Ø¯ ÙƒÙ‡ 
Ø§Ù…ØªÙŠØ§Ø² Ø§Ù†Ø¬Ø§Ù… ØªØºÙŠÙŠØ±Ø§Øª Ø¯Ø± cvsâ€Œ Ø±Ø§ Ø¯Ø§Ø±Ù†Ø¯. Ù‡Ø± 
ÙƒØ¯Ø§Ù… Ø§Ø² Ø¢Ù†Ù‡Ø§ ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ ÙˆØµÙ„Ù‡â€Œâ€Œ Ø¨Ø§ ÙƒÙŠÙÙŠØª 
Ø¨Ø§Ù„Ø§ Ø¨Ù‡ Ú¯Ø±ÙˆÙ‡ Ø§Ø±Ø³Ø§Ù„ ÙƒØ±Ø¯Ù‡â€ŒØ§Ù†Ø¯ ÙƒÙ‡ Ø§Ø¹ØªÙ…Ø§Ø¯ 
Ú¯Ø±Ø¯Ø§Ù†Ù†Ø¯Ú¯Ø§Ù† PostgreSQL Ø±Ø§ Ø¨Ù‡ Ø¯Ø³Øª Ø¢ÙˆØ±Ø¯Ù‡â€ŒØ§Ù†Ø¯.
1.13) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ Ø§ÙØ´ÙƒØ§Ù„ Ø±Ø§ Ø¨Ù‡ Ú¯Ø±ÙˆÙ‡ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³ Ø§Ø¹Ù„Ø§Ù… ÙƒÙ†Ù…ØŸ
Ù„Ø·ÙØ§Ù‹ ØµÙØ­Ù‡ Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø§ÙØ´ÙƒØ§Ù„Ø§Øª PostgreSQL Ø±Ø§ Ø¯Ø± 
Ø³Ø§ÙŠØª http://www.PostgreSQL.org/bugs/bugs.php Ù…Ø´Ø§Ù‡Ø¯Ù‡â€Œ ÙƒÙ†ÙŠØ¯. Ø¯Ø± 
Ø§ÙŠÙ† Ø³Ø§ÙŠØª Ù†Ø­ÙˆÙ‡ Ú¯Ø²Ø§Ø±Ø´ Ùˆ Ø§Ø±Ø³Ø§Ù„ ÙŠÙƒ Ø§Ø´ÙƒØ§Ù„ ØªÙˆØ¶ÙŠØ­ 
Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª.
 Ù‡Ù…Ú†Ù†ÙŠÙ† Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠ Ø¬Ø¯ÙŠØ¯ØªØ± PostgreSQL Ùˆ 
ÙŠØ§ ÙˆØ¬ÙˆØ¯ ÙŠÙƒ ÙˆØµÙ„Ù‡ Ø¬Ø¯ÙŠØ¯ Ø§Ø² Ø³Ø§ÙŠØª ftp://ftp.PostgreSQL.org/pub 
Ø¨Ø§Ø²Ø¯ÙŠØ¯ ÙƒÙ†ÙŠØ¯.
1.14) ÙˆØ¶Ø¹ÙŠØª PostgreSQLâ€Œ Ø¯Ø± Ù…Ù‚Ø§ÙŠØ³Ù‡ Ø¨Ø§ Ø³Ø§ÙŠØ± DBMSÙ‡Ø§ Ø¨Ù‡ 
Ú†Ù‡ ØµÙˆØ±Øª Ø§Ø³ØªØŸ
Ø±Ø§Ù‡Ù‡Ø§ÙŠ Ù…Ø®ØªÙ„ÙÙŠ Ø¨Ø±Ø§ÙŠ Ø§Ù†Ø¯Ø§Ø²Ù‡â€ŒÚ¯ÙŠØ±ÙŠ Ùˆ Ù…Ù‚Ø§ÙŠØ³Ù‡ 
Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¹Ø¨Ø§Ø±ØªÙ†Ø¯ Ø§Ø² 
Ø§Ù…ÙƒØ§Ù†Ø§ØªØŒ ÙƒØ§Ø±Ø§ÙŠÙŠØŒ Ù‚Ø§Ø¨Ù„ÙŠØª Ø§Ø¹ØªÙ…Ø§Ø¯ØŒ Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ùˆ 
Ù‚ÙŠÙ…Øª
    Ø§Ù…ÙƒØ§Ù†Ø§Øª 
    PostgreSQL Ø¨ÙŠØ´ØªØ± Ø§Ù…ÙƒØ§Ù†Ø§Øª Ù…ÙˆØ¬ÙˆØ¯ Ø¯Ø± Ø³ÙŠØ³ØªÙ…â€ŒÙ‡Ø§ÙŠ 
    Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ ØªØ¬Ø§Ø±ÙŠ Ø¨Ø²Ø±Ú¯ Ù†Ø¸ÙŠØ± transactions, subselets, 
    triggers, views, foreign key referential integrity Ùˆ sophisticated 
    lockingâ€Œ Ø±Ø§ Ø¯Ø§Ø±Ø¯. Ø¯Ø± PostgreSQLâ€Œâ€Œ Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ ÙˆØ¬ÙˆØ¯ 
    Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡Ù‡Ø§ÙŠ Ø¯Ø§Ø¯Ù‡ Ø¯ÙŠÚ¯Ø± Ø¢Ù† Ø±Ø§ Ù†Ø¯Ø§Ø±Ù†Ø¯ 
    Ù†Ø¸ÙŠØ± user-defined typesâ€ŒÙˆ Inheritanceâ€ŒÙˆ rulesâ€ŒÙˆ multi-version 
    concurrency control 

  ÙƒØ§Ø±Ø§ÙŠÙŠ
          ÙƒØ§Ø±Ø§ÙŠÙŠ PostgreSQL Ø¯Ø± Ø­Ø¯ Ø¨Ù‚ÙŠÙ‡ Ø³ÙŠØ³ØªÙ…â€ŒÙ‡Ø§ÙŠ 
  ØªØ¬Ø§Ø±ÙŠ Ùˆ Ù…ØªÙ† Ø¨Ø§Ø² Ø§Ø³Øª. Ø¯Ø± Ø¨Ø¹Ø¶ÙŠ Ù…ÙˆØ§Ø±Ø¯ Ø³Ø±ÙŠØ¹ØªØ± Ùˆ 
  Ø¯Ø± Ø¨Ø¹Ø¶ÙŠ Ù…ÙˆØ§Ø±Ø¯ Ø§Ø² Ø¢Ù†Ù‡Ø§ ÙƒÙ†Ø¯ØªØ± Ø§Ø³Øª. Ø¯Ø± Ù…Ù‚Ø§ÙŠØ³Ù‡ 
  Ø¨Ø§ MySQL Ø¨Ø±Ø§ÙŠ ÙƒØ§Ø±Ø¨Ø±Ø§Ù† Ø¨ÙŠØ´ØªØ± Ùˆ Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ÙŠ 
  Ù¾ÙŠÚ†ÙŠØ¯Ù‡ Ùˆ Ø¨Ø§Ø± Ø²ÙŠØ§Ø¯ Ø®ÙˆØ§Ù†Ø¯Ù†/Ù†ÙˆØ´ØªÙ† Ø³Ø±ÙŠØ¹ØªØ± Ø§Ø³Øª. 
  Ø¯Ø± Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ÙŠ Ø³Ø§Ø¯Ù‡ SELECTâ€Œ Ø§Ø² MySQL ÙƒÙ†Ø¯ØªØ± Ø§Ø³Øª. 
  Ø§Ù„Ø¨ØªÙ‡ MySQL Ø®ÙŠÙ„ÙŠ Ø§Ø² Ø§Ù…ÙƒØ§Ù†Ø§Øª PostgreSQL ÙƒÙ‡ Ø¯Ø± Ø¨Ø§Ù„Ø§ 
  Ø¨Ù‡ Ø¢Ù† Ø§Ø´Ø§Ø±Ù‡ Ø´Ø¯ Ø±Ø§ Ù†Ø¯Ø§Ø±Ø¯. Ù‡Ø¯Ù Ø§ØµÙ„ÙŠ Ù…Ø§ Ø§Ù…ÙƒØ§Ù†Ø§Øª 
  Ùˆ Ù‚Ø§Ø¨Ù„ÙŠØª Ø§Ø¹ØªÙ…Ø§Ø¯ Ø¨Ø§Ù„Ø§Ø³Øª Ø¯Ø± Ø¶Ù…Ù† Ø¢Ù†ÙƒÙ‡ ØªÙ„Ø§Ø´ 
  Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ… ØªØ§ ÙƒØ§Ø±Ø§ÙŠÙŠ Ø¢Ù† Ù†ÙŠØ² Ø¨Ù‡Ø¨ÙˆØ¯ ÙŠØ§Ø¨Ø¯. Ø¯Ø± 
  Ø¢Ø¯Ø±Ø³ http://openacs.org/philosophy/why-not-mysql.html ÙŠÙƒ Ù…Ù‚Ø§ÙŠØ³Ù‡ 
  Ø¬Ø§Ù„Ø¨ Ø¨ÙŠÙ† MySQL Ùˆ PostgreSQL ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø§Ø² Ø·Ø±Ù Ø¯ÙŠÚ¯Ø± 
  MySQLâ€Œ ÙŠÙƒ Ø´Ø±ÙƒØª Ø§Ø³Øª ÙƒÙ‡ Ù…Ø­ØµÙˆÙ„ Ø®ÙˆØ¯ Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª Ù…ØªÙ† 
  Ø¨Ø§Ø² Ø§Ø±Ø§Ø¦Ù‡ Ù…ÙŠâ€ŒÙƒÙ†Ø¯ ÙˆÙ„ÙŠ Ø¨Ø±Ø§ÙŠ Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± ØºÙŠØ± 
  Ù…ØªÙ† Ø¨Ø§Ø² Ø®ÙˆØ¯ Ø§Ø­ØªÙŠØ§Ø¬ Ø¨Ù‡ Ù„ÙŠØ³Ø§Ù†Ø³ ØªØ¬Ø§Ø±ÙŠ Ø¯Ø§Ø±Ø¯ Ø¨Ø± 
  Ø®Ù„Ø§Ù PostgreSQL ÙƒÙ‡ ÙŠÙƒ Ú¯Ø±ÙˆÙ‡ ÙƒØ§Ù…Ù„Ø§Ù‹ Ù…ØªÙ† Ø¨Ø§Ø² Ù‡Ø³ØªÙ†Ø¯.

    Ù‚Ø§Ø¨Ù„ÙŠØª Ø§Ø·Ù…ÙŠÙ†Ø§Ù† 
    Ù…Ø§ ÙÙƒØ± Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ… ÙƒÙ‡ ÙŠÙƒ Ø³ÙŠØ³ØªÙ… Ù¾Ø§ÙŠÚ¯Ø§Ù‡ 
    Ø¯Ø§Ø¯Ù‡â€ŒØ§ÙŠ ÙƒÙ‡ Ù…Ø·Ù…Ø¦Ù† Ù†Ø¨Ø§Ø´Ø¯ Ø§Ø±Ø²Ø´ÙŠ Ù†Ø¯Ø§Ø±Ø¯. Ù…Ø§ 
    ØªÙ…Ø§Ù… ØªÙ„Ø§Ø´Ù…Ø§Ù† Ø±Ø§ Ø¨Ø±Ø§ÙŠ Ø§Ø±Ø§Ø¦Ù‡ ÙƒØ¯Ù‡Ø§ÙŠ Ù¾Ø§ÙŠØ¯Ø§Ø±ÙŠ 
    ÙƒÙ‡ Ø¨Ù‡ Ø®ÙˆØ¨ÙŠ ØªØ³Øª Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ù†Ø¯ Ùˆ ÙƒÙ…ØªØ±ÙŠÙ† Ø§ÙØ´ÙƒØ§Ù„Ø§Øª 
    Ø±Ø§ Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ù†Ø¯ Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ…. Ù‡Ø± Ù†Ø³Ø®Ù‡ Ø¬Ø¯ÙŠØ¯ÙŠ ÙƒÙ‡ 
    Ø§Ø±Ø§Ø¦Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø­Ø¯Ø§Ù‚Ù„ ÙŠÙƒ Ù…Ø§Ù‡ Ø±Ø§ Ø¯Ø± Ù…Ø±Ø­Ù„Ù‡ ØªØ³Øª 
    Ø¨ØªØ§ Ù…ÙŠâ€ŒÚ¯Ø°Ø±Ø§Ù†Ø¯. Ù…Ø§ Ø¨Ø± Ø§ÙŠÙ† Ø¨Ø§ÙˆØ± Ù‡Ø³ØªÙŠÙ… ÙƒÙ‡ 
    Ù‚Ø§Ø¨Ù„ÙŠØª Ø§Ø·Ù…ÙŠÙ†Ø§Ù† PostgreSQLâ€Œ Ø¯Ø± Ù…Ù‚Ø§ÙŠØ³Ù‡ Ø¨Ø§ Ø³Ø§ÙŠØ± 
    Ø³ÙŠØ³ØªÙ…â€ŒÙ‡Ø§ÙŠ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù‚Ø§Ø¨Ù„ ØªÙˆØ¬Ù‡ Ø§Ø³Øª Ùˆ 
    Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ ØªØ§ÙƒÙ†ÙˆÙ† Ø§Ø±Ø§Ø¦Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª Ù†Ø´Ø§Ù† 
    Ù…ÙŠâ€ŒØ¯Ù‡Ø¯ ÙƒÙ‡ Ù…Ø§ ØªÙˆØ§Ù†Ø§ÙŠÙŠ Ø§Ø±Ø§Ø¦Ù‡ ÙŠÙƒ Ø³ÙŠØ³ØªÙ… Ù‚ÙˆÙŠ Ùˆ 
    Ù…Ø­ÙƒÙ… Ùˆ Ù…Ø·Ù…Ø¦Ù† Ø±Ø§ ÙƒÙ‡ Ø¢Ù…Ø§Ø¯Ù‡ Ø¨Ù‡Ø±Ù‡â€ŒØ¨Ø±Ø¯Ø§Ø±ÙŠ Ø§Ø³Øª 
    Ø¯Ø§Ø±ÙŠÙ…. 
    Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ 
    Ú¯Ø±ÙˆÙ‡Ù‡Ø§ÙŠ Ù¾Ø³ØªÙŠ Ù…Ø§ Ø§Ù…ÙƒØ§Ù† Ø§Ø±ØªØ¨Ø§Ø· Ùˆ ØªÙ…Ø§Ø³ Ø¨Ù‡ 
    Ú¯Ø±ÙˆÙ‡ Ø¨Ø²Ø±Ú¯ÙŠ Ø§Ø² Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³Ø§Ù† Ùˆ ÙƒØ§Ø±Ø¨Ø±Ø§Ù† Ø±Ø§ 
    Ù…ÙŠâ€ŒØ¯Ù‡Ø¯ ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù†Ø¯ Ø¯Ø± Ø­Ù„ Ù…Ø´ÙƒÙ„Ø§Øª Ø¨Ù‡ 
    Ø¯ÙŠÚ¯Ø±Ø§Ù† ÙƒÙ…Ùƒ ÙƒÙ†Ù†Ø¯. Ø¯Ø³ØªØ±Ø³ÙŠ Ù…Ø³ØªÙ‚ÙŠÙ… Ø¨Ù‡ 
    Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³Ø§Ù† Ùˆ Ú¯Ø±ÙˆÙ‡Ù‡Ø§ÙŠ ÙƒØ§Ø±Ø¨Ø±Ø§Ù† Ùˆ 
    Ø±Ø§Ù‡Ù†Ù…Ø§Ù‡Ø§ Ùˆ ÙƒØ¯Ø§ØµÙ„ÙŠ Ø¨Ø§Ø¹Ø« Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙƒÙ‡ 
    Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ PostgreSQL Ù†Ø³Ø¨Øª Ø¨Ù‡ Ø³Ø§ÙŠØ± Ù¾Ø§ÙŠÚ¯Ø§Ù‡Ù‡Ø§ÙŠ 
    Ø¯Ø§Ø¯Ù‡ Ø¨Ù‡ Ù†Ø­Ùˆ Ø¨Ù‡ØªØ±ÙŠ Ø§Ù†Ø¬Ø§Ù… Ø´ÙˆØ¯. Ù‡Ù…Ú†Ù†ÙŠÙ† Ø§Ù…ÙƒØ§Ù† 
    Ø§Ø±Ø§Ø¦Ù‡ Ø®Ø¯Ù…Ø§Øª Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ø¨Ù‡ ØµÙˆØ±Øª ØªØ¬Ø§Ø±ÙŠ Ù†ÙŠØ² 
    ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø¨Ù‡ FAQ 
    section 1.6  Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯. 
    Ù‚ÙŠÙ…Øª 
    Ù‡Ù… Ø¨Ø±Ø§ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ ØªØ¬Ø§Ø±ÙŠ Ùˆ Ù‡Ù… ØºÙŠØ± ØªØ¬Ø§Ø±ÙŠ Ù‡ÙŠÚ† 
    Ù‡Ø²ÙŠÙ†Ù‡â€ŒØ§ÙŠ Ù†Ø¨Ø§ÙŠØ¯ Ù¾Ø±Ø¯Ø§Ø®Øª Ø´ÙˆØ¯. Ù‡ÙŠÚ† Ù…Ø­Ø¯ÙˆØ¯ÙŠØªÙŠ 
    Ø¨Ø±Ø§ÙŠ Ø§Ù†Ø¬Ø§Ù… ØªØºÙŠÙŠØ±Ø§Øª Ø¯Ø± PostgreSQL ØªÙˆØ³Ø· Ø§Ø³ØªÙØ§Ø¯Ù‡ 
    ÙƒÙ†Ù†Ø¯Ú¯Ø§Ù† ÙˆØ¬ÙˆØ¯ Ù†Ø¯Ø§Ø±Ø¯ Ø¨Ù‡ Ø¬Ø² Ù…ÙˆØ§Ø±Ø¯ÙŠ ÙƒÙ‡ Ø¯Ø± 
    Ù„ÙŠØ³Ø§Ù†Ø³ BSD Ø¨Ù‡ Ø¢Ù† Ø§Ø´Ø§Ø±Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª. 
1.15) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§Ø² Ù†Ø¸Ø± Ù…Ø§Ù„ÙŠ Ø¨Ù‡ PostgreSQL 
ÙƒÙ…Ùƒ ÙƒÙ†Ù…ØŸ
PostgreSQL  Ø¯Ø§Ø±Ø§ÙŠ ÙŠÙƒ Ø³Ø§Ø®ØªØ§Ø± ØªØ´ÙƒÙŠÙ„Ø§ØªÙŠ Ø¯Ø±Ø¬Ù‡ Ø§ÙˆÙ„ Ø§Ø³Øª 
ÙƒÙ‡ Ø¢Ù† Ø±Ø§ Ù…Ø¯ÙŠÙˆÙ† Marc Fournierâ€Œ Ø§Ø³Øª ÙƒÙ‡ Ø§ÙŠÙ† Ø³Ø§Ø®ØªØ§Ø± Ø±Ø§ 
Ø§ÙŠØ¬Ø§Ø¯ ÙƒØ±Ø¯Ù‡ Ø§Ø³Øª.
ÙƒÙŠÙÙŠØª ÙŠÙƒ Ø³Ø§Ø®ØªØ§Ø± Ø¨Ø±Ø§ÙŠ ÙŠÙƒ Ù¾Ø±ÙˆÚ˜Ù‡ Ù…ØªÙ† Ø¨Ø§Ø² Ø¨Ø³ÙŠØ§Ø± 
Ø§Ù‡Ù…ÙŠØª Ø¯Ø§Ø±Ø¯. ÙŠÙƒ Ø³Ø§Ø®ØªØ§Ø± Ø®ÙˆØ¨ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ Ù…Ø§Ù†Ø¹ Ø§Ø² 
Ø­ÙˆØ§Ø¯Ø«ÙŠ Ø´ÙˆØ¯ ÙƒÙ‡ Ø¯Ø± Ø­Ø±ÙƒØª Ø±ÙˆØ¨Ù‡â€ŒØ¬Ù„ÙˆÙŠ Ù¾Ø±ÙˆÚ˜Ù‡ Ø®Ù„Ù„ÙŠ 
ÙˆØ§Ø±Ø¯ Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯.
Ø§Ù„Ø¨ØªÙ‡ Ø§ÙŠÙ† Ø³Ø§Ø®ØªØ§Ø± ØªØ´ÙƒÙŠÙ„Ø§ØªÙŠ Ø§Ø±Ø²Ø§Ù† Ù†ÙŠØ³Øª. 
Ù‡Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠ Ø«Ø§Ø¨Øª Ù…Ø§Ù‡Ø§Ù†Ù‡ Ùˆ Ø±ÙˆØ²Ù…Ø±Ù‡ Ø¨Ø±Ø§ÙŠ 
Ù†Ú¯Ù‡Ø¯Ø§Ø±ÙŠ Ùˆ Ø­ÙØ¸ Ø§ÙŠÙ† Ø³Ø§Ø®ØªØ§Ø± Ù…ÙˆØ±Ø¯ Ù†ÙŠØ§Ø² Ø§Ø³Øª. Ø§Ú¯Ø± 
Ø´Ù…Ø§ ÙŠØ§ Ø´Ø±ÙƒØª Ø´Ù…Ø§ Ù…Ø§ÙŠÙ„ Ø§Ø³Øª ÙƒÙ‡ Ø§Ø² Ù†Ø¸Ø± Ù…Ø§Ù„ÙŠ Ø¨Ù‡ 
Ø§ÙŠÙ† Ø­Ø±ÙƒØª ÙƒÙ…Ùƒ ÙƒÙ†Ø¯ Ù„Ø·ÙØ§Ù‹ Ø¨Ù‡ Ø³Ø§ÙŠØª 
http://store.pgsql.com/shopping Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒØ±Ø¯Ù‡ Ùˆ ÙƒÙ…Ùƒ Ø®ÙˆØ¯ Ø±Ø§ 
Ø§Ù‡Ø¯Ø§ ÙƒÙ†ÙŠØ¯.
Ù‡Ø± Ú†Ù†Ø¯ Ø¯Ø± ØµÙØ­Ù‡ Ø§ØµÙ„ÙŠ Ø¹Ø¨Ø§Ø±Øª PostgreSQL,Incâ€Œ Ø°ÙƒØ± Ø´Ø¯Ù‡ 
Ø§Ø³Øª ÙˆÙ„ÙŠ Ù…Ø´Ø§Ø±ÙƒØª Ø¹Ù…Ø¯ØªØ§Ù‹ Ø¨Ø±Ø§ÙŠ Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ø§Ø² 
Ù¾Ø±ÙˆÚ˜Ù‡ PostgreSQLâ€Œ Ù…ÙŠ Ø¨Ø§Ø´Ø¯ Ùˆ Ù†Ù‡ Ø¨Ø±Ø§ÙŠ ÙŠÙƒ Ø´Ø±ÙƒØª Ù…Ø´Ø®Øµ. 
Ø§Ú¯Ø± ØªØ±Ø¬ÙŠØ­ Ù…ÙŠâ€ŒØ¯Ù‡ÙŠØ¯ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ ÙŠÙƒ Ú†Ùƒ Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ 
Ù…Ø´Ø®Øµ Ø´Ø¯Ù‡ Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯.
Ø§Ú¯Ø± ÙŠÙƒ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙˆÙÙ‚ Ø§Ø² PostgreSQL Ø³Ø±Ø§Øº Ø¯Ø§Ø±ÙŠØ¯ 
Ù„Ø·ÙØ§Ù‹ Ø¢Ù† Ø±Ø§ Ø¨Ù‡ Ø³Ø§ÙŠØª http://advocacy.postgresql.org Ú¯Ø²Ø§Ø±Ø´ 
Ø¯Ù‡ÙŠØ¯.



Ø³ÙˆØ§Ù„Ø§Øª Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡
2.1) Ø¢ÙŠØ§ Ù‡ÙŠÚ† Ø¯Ø±Ø§ÙŠÙˆØ± ODBCâ€Œ Ø¨Ø±Ø§ÙŠ PostgreSQL ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ
Ø¯Ùˆ Ø¯Ø±Ø§ÙŠÙˆØ± ODBC Ø¨Ù†Ø§Ù…Ù‡Ø§ÙŠ psqlODBCâ€Œ Ùˆ OpenLink Ø¨Ø±Ø§ÙŠ 
PostgreSQLâ€Œ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
Ø¨Ø±Ø§ÙŠ Ú¯Ø±ÙØªÙ† psqlODBC Ø¨Ù‡ Ø³Ø§ÙŠØª 
http://gborg.postgresql.org/project/psqlodbc/projdisplay.php Ù…Ø±Ø§Ø¬Ø¹Ù‡ 
ÙƒÙ†ÙŠØ¯.
OpenLlink Ø±Ø§ Ø§Ø² Ø§ÙŠÙ† Ø³Ø§ÙŠØª http://www.openlinksw.com 
Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ú¯ÙŠØ±ÙŠØ¯. Ø§ÙŠÙ† Ø¯Ø±Ø§ÙŠÙˆØ± Ø¨Ø§ 
Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ Ù…Ø®ØªÙ„Ù ODBC ÙƒØ§Ø± Ù…ÙŠâ€ŒÙƒÙ†Ø¯ Ø¨Ù†Ø§Ø¨Ø±Ø§ÙŠÙ† 
Ø´Ù…Ø§ Ù‚Ø§Ø¯Ø± Ø®ÙˆØ§Ù‡ÙŠØ¯ Ø¨ÙˆØ¯ Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² OpenLink Ø±ÙˆÙŠ 
Ø§ÙƒØ«Ø± Ø³ÙƒÙˆâ€ŒÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±ODBCâ€ŒØ¯Ø§Ø±Ù†Ø¯ Ø¨Ø¯ÙˆÙ† 
Ù…Ø´ÙƒÙ„ Ø¨Ù‡ PostgreSQL Ù†ÙŠØ² Ù…ØªØµÙ„ Ø´ÙˆÙŠØ¯.
Ø§ÙŠÙ† Ù…Ø­ØµÙˆÙ„ Ø¨Ù‡ ÙƒØ³Ø§Ù†ÙŠ ÙƒÙ‡ Ø§Ø­ØªÙŠØ§Ø¬ Ø¨Ù‡ Ø®Ø¯Ù…Ø§Øª 
Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ ØªØ¬Ø§Ø±ÙŠ Ø¯Ø§Ø±Ù†Ø¯ ÙØ±ÙˆØ®ØªÙ‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯. ÙˆÙ„ÙŠ 
Ù†Ø³Ø®Ù‡ Ø¢Ø²Ø§Ø¯ Ø§ÙŠÙ† Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± Ù‡Ù…ÙŠØ´Ù‡ Ø¯Ø± Ø¯Ø±Ø³ØªØ±Ø³ 
Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. Ø¨Ø±Ø§ÙŠ ÙƒØ³Ø¨ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø³ÙˆØ§Ù„Ø§Øª Ø®ÙˆØ¯ 
Ø±Ø§ Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ postgres95@openlink.co.uk â€ŒØ§Ø±Ø³Ø§Ù„ Ù†Ù…Ø§ÙŠÙŠØ¯.
2.2) Ú†Ù‡ Ø§Ø¨Ø²Ø§Ø±Ù‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² PostgreSQLâ€Œ Ø¨Ø§ 
ØµÙØ­Ø§Øª ÙˆØ¨ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ
Ø¯Ø± Ø³Ø§ÙŠØª http://www.webreview.com Ø¨Ø±Ø§ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² 
PostgreSQLâ€Œ Ø¯Ø± ØµÙØ­Ø§Øª ÙˆØ¨ Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠÙŠÙ‡Ø§ÙŠ Ø®ÙˆØ¨ÙŠ ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯.
Ø¨Ø±Ø§ÙŠ ØªØ±ÙƒÙŠØ¨ Ùˆ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø¯Ø± ØµÙØ­Ø§Øª ÙˆØ¨ Ø²Ø¨Ø§Ù† PHPâ€Œ ÙŠÙƒ 
ÙˆØ§Ø³Ø· Ø¨Ø³ÙŠØ§Ø± Ù…Ù†Ø§Ø³Ø¨ Ø§Ø³Øª. Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø±Ø§Ø¬Ø¹ Ø¨Ù‡ 
PHPâ€ŒØ¯Ø± Ø³Ø§ÙŠØª http://www.php.net ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
Ù…Ø«Ø§Ù„Ù‡Ø§ÙŠÙŠ Ù†ÙŠØ² Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Perlâ€Œ Ùˆ CGI.pm Ùˆ mod_perl 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
2.3) Ø¢ÙŠØ§ PostgreSQLâ€Œ ÙŠÙƒ ÙˆØ§Ø³Ø· ÙƒØ§Ø±Ø¨Ø±ÙŠ Ú¯Ø±Ø§ÙÙŠÙƒÙŠ Ø¯Ø§Ø±Ø¯ØŸ
Ú†Ù†Ø¯ Ù†Ø±Ù… Ø§ÙØ²Ø§Ø± Ú¯Ø±Ø§ÙÙŠÙƒÙŠ Ø¨Ø±Ø§ÙŠ PostgreSQLâ€Œ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ 
ÙƒÙ‡ Ø´Ø§Ù…Ù„ pgAccess Ø¯Ø±Ø³Ø§ÙŠØª http://www.pgaccess.org Ùˆ pgAdmin III Ø¯Ø± 
Ø³Ø§ÙŠØª http://www.pgadmin.org Ùˆ RHDB Admin Ø¯Ø± Ø³Ø§ÙŠØª 
http://sources.redhat.com/rhdb Ùˆ Rekall Ø¯Ø± Ø³Ø§ÙŠØª 
http://www.thekompany.com/products/rekall  Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯. Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ 
phpPgAdmin Ù‡Ù… Ø¯Ø± Ø³Ø§ÙŠØª http://phppgadmin.sourceforge.net ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ ÙŠÙƒ ÙˆØ§Ø³Ø· ÙˆØ¨ÙŠ Ø¨Ø±Ø§ÙŠ Ù…Ø¯ÙŠØ±ÙŠØª PostgreSQL 
Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯.
Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø±Ø§Ø¬Ø¹ Ø¨Ù‡ 
Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ Ú¯Ø±Ø§ÙÙŠÙƒÙŠ Ø¨Ø±Ø§ÙŠ PostgreSQL Ø¨Ù‡ Ø¢Ø¯Ø±Ø³ 
http://techdocs.postgresql.org/guides/GUITools Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
2.4) Ø¨Ø§ Ú†Ù‡ Ø²Ø¨Ø§Ù†Ù‡Ø§ÙŠ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ 
PostgreSQLâ€Œ Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ø±Ù‚Ø±Ø§Ø± ÙƒØ±Ø¯ØŸ
Ø¨ÙŠØ´ØªØ± Ø²Ø¨Ø§Ù†Ù‡Ø§ÙŠ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ†ÙˆÙŠØ³ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù†Ø¯ Ø¨Ø§ 
PostgreSQLâ€Œ Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ø±Ù‚Ø±Ø§Ø± ÙƒÙ†Ù†Ø¯. Ø¨Ù‡ Ù‡Ù…Ø±Ø§Ù‡  Ø³ÙˆØ±Ø³ 
PostgreSQL ØªØ¹Ø¯Ø§Ø¯ÙŠ Ø§Ø² ÙˆØ§Ø³Ø·Ù‡Ø§ÙŠ Ù…ÙˆØ±Ø¯ Ù†ÙŠØ§Ø² Ø¨Ø±Ø§ÙŠ 
Ø§Ø±ØªØ¨Ø§Ø· Ø¨Ø§ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø§Ø² Ø·Ø±ÙŠÙ‚ Ø²Ø¨Ø§Ù†Ù‡Ø§ÙŠ Ù…Ø®ØªÙ„Ù 
Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª ÙƒÙ‡ Ø¯Ø± Ø²ÙŠØ± Ù„ÙŠØ³Øª Ø¢Ù†Ù‡Ø§ Ø±Ø§ Ù…Ø´Ø§Ù‡Ø¯Ù‡ 
Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯.
  C (libpq) 
  Embedded C (ecpg) 
  Java (jdbc) 
  Python (PyGreSQL) 
  TCL (libpgtcl) 
ÙˆØ§Ø³Ø·Ù‡Ø§ÙŠ Ø¯ÙŠÚ¯Ø± Ø¯Ø± Ø³Ø§ÙŠØª http://gborg.postgresql.org Ø¯Ø± Ù‚Ø³Ù…Øª 
Drivers/Interfaces ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.



Ø³ÙˆØ§Ù„Ø§Øª Ù…Ø¯ÙŠØ±ÙŠØªÙŠ
3.1) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… PostgreSQLâ€Œ Ø±Ø§ Ø¯Ø± Ø´Ø§Ø®Ù‡â€ŒØ§ÙŠ ØºÙŠØ± 
Ø§Ø² /usr/local/pgsql/  Ù†ØµØ¨ ÙƒÙ†Ù…ØŸ
Ù…ÙˆÙ‚Ø¹ Ø§Ø¬Ø±Ø§ÙŠ Ø¯Ø³ØªÙˆØ± configure Ø§Ø² Ú¯Ø²ÙŠÙ†Ù‡ prefix-- Ø§Ø³ØªÙØ§Ø¯Ù‡ 
ÙƒÙ†ÙŠØ¯.
3.2) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ Ø±Ø§ Ø§Ø¬Ø±Ø§ Ù…ÙŠ 
ÙƒÙ†Ù… Ù¾ÙŠØ§Ù… Bad system callâ€Œ Ùˆ ÙŠØ§ core dump â€ŒÙ…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø¨Ù‡ Ø¯Ù„Ø§ÙŠÙ„ Ù…Ø®ØªÙ„Ù Ù…Ù…ÙƒÙ† Ø§Ø³Øª Ø§ÙŠÙ† Ø§ØªÙØ§Ù‚ Ø¨ÙŠÙØªØ¯. Ø§Ù…Ø§ 
Ø¯Ø± Ù‚Ø¯Ù… Ø§ÙˆÙ„ Ø´Ù…Ø§ Ù…Ø·Ù…Ø¦Ù† Ø´ÙˆÙŠØ¯ ÙƒÙ‡ ÙƒÙ‡ Ø§Ù…ÙƒØ§Ù†Ø§Øª 
Ø§Ø¶Ø§ÙÙ‡ System Vâ€Œ Ø¯Ø± ÙƒØ±Ù†Ù„ Ø´Ù…Ø§ Ù†ØµØ¨ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯. PostgreSQL 
Ø¨Ø±Ø§ÙŠ Ø§Ø¬Ø±Ø§ Ø´Ø¯Ù† Ù†ÙŠØ§Ø² Ø¨Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø§Ù…ÙƒØ§Ù†Ø§Øª 
Ø­Ø§ÙØ¸Ù‡ Ù…Ø´ØªØ±Ùƒ Ùˆ Ø³Ù…Ø§ÙÙˆØ±Ù‡Ø§ Ø¯Ø§Ø±Ø¯.
3.3) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø³Ø¹ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ 
Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù… Ø®Ø·Ø§ÙŠ IpcMemoryCreate  Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø§Ø­ØªÙ…Ø§Ù„Ø§Ù‹â€Œ Ù‚Ø³Ù…Øª Ø§ÙŠØ¬Ø§Ø¯ Ø­Ø§ÙØ¸Ù‡ Ù…Ø´ØªØ±Ùƒ Ø¯Ø± ÙƒØ±Ù†Ù„ Ø¨Ù‡ 
Ø¯Ø±Ø³ØªÙŠ ØªÙ†Ø¸ÙŠÙ… Ù†Ø´Ø¯Ù‡ Ø§Ø³Øª Ùˆ ÙŠØ§ Ø§ÙŠÙ†ÙƒÙ‡ Ø¨Ø§ÙŠØ¯ ÙØ¶Ø§ÙŠ 
Ø­Ø§ÙØ¸Ù‡ Ø§Ø´ØªØ±Ø§ÙƒÙŠ Ø¯Ø± ÙƒØ±Ù†Ù„ Ø±Ø§ Ø²ÙŠØ§Ø¯ ÙƒØ±Ø¯. Ù…ÙŠØ²Ø§Ù† 
Ø¯Ù‚ÙŠÙ‚ Ø­Ø§ÙØ¸Ù‡ Ù…Ø´ØªØ±Ùƒ Ù…ÙˆØ±Ø¯ Ù†ÙŠØ§Ø² Ø¨Ø³ØªÙ‡ Ø¨Ù‡ Ù…Ø¹Ù…Ø§Ø±ÙŠ Ùˆ 
Ù†Ø­ÙˆÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¨Ø§ÙØ±Ù‡Ø§ ØªÙˆØ³Ø· Ø¨Ø±Ù†Ø§Ù…Ù‡ postmaster 
Ø¯Ø§Ø±Ø¯. Ø¨Ø±Ø§ÙŠ Ø¨ÙŠØ´ØªØ± Ø³ÙŠØ³ØªÙ…â€ŒÙ‡Ø§ ÙƒÙ‡ Ø¨Ø§ ØªÙ†Ø¸ÙŠÙ…Ø§Øª 
Ù¾ÙŠØ´â€ŒÙØ±Ø¶ ÙƒØ§Ø± Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ Ù…Ù‚Ø¯Ø§Ø± Ø§ÙŠÙ† Ø­Ø§ÙØ¸Ù‡ Ø­Ø¯ÙˆØ¯ 1 
Ù…Ú¯Ø§Ø¨Ø§ÙŠØª Ø§Ø³Øª. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø±Ø§Ø¬Ø¹ Ø¨Ù‡ 
Ø­Ø§ÙØ¸Ù‡ Ù…Ø´ØªØ±Ùƒ Ùˆ Ø³Ù…Ø§ÙÙˆØ± Ø¨Ù‡ PostgreSQL Administrator's Guide 
Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
3.4) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ø³Ø¹ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ø¨Ø±Ù†Ø§Ù…Ù‡ postmasterâ€Œ 
Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù… Ø®Ø·Ø§ÙŠ  IpcSemaphoreCreate Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø§Ú¯Ø± Ù¾ÙŠØºØ§Ù… Ø®Ø·Ø§ (â€ŒpcSemaphoreCreate: semget failed (No space left on 
device  Ø¨Ø§Ø´Ø¯ Ø¨Ù‡ Ø§ÙŠÙ† Ù…Ø¹Ù†ÙŠ Ø§Ø³Øª ÙƒÙ‡ ØªØ¹Ø¯Ø§Ø¯ Ø³Ù…Ø§ÙÙˆØ±Ù‡Ø§ÙŠ 
ØªÙ†Ø¸ÙŠÙ… Ø´Ø¯Ù‡ Ø¯Ø± ÙƒØ±Ù†Ù„ ÙƒØ§ÙÙŠ Ù†ÙŠØ³Øª. PostgreSQLâ€Œ Ø¨Ø±Ø§ÙŠ Ù‡Ø± 
ÙØ±Ø§ÙŠÙ†Ø¯ÙŠ ÙƒÙ‡ Ø¯Ø± backend Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø¨Ù‡ ÙŠÙƒ Ø³Ù…Ø§ÙÙˆØ± 
Ù†ÙŠØ§Ø² Ø¯Ø§Ø±Ø¯. ÙŠÙƒ Ø±Ø§Ù‡ Ø­Ù„ Ù…ÙˆÙ‚Øª Ø¨Ø±Ø§ÙŠ Ø§ÙŠÙ† Ù…Ø³Ø¦Ù„Ù‡ Ø¢Ù† 
Ø§Ø³Øª ÙƒÙ‡ postmaster Ø±Ø§ Ø¨Ø§ Ø§Ø¹Ù…Ø§Ù„ Ù…Ø­Ø¯ÙˆØ¯ÙŠØª Ø±ÙˆÙŠ ØªØ¹Ø¯Ø§Ø¯ 
ÙØ±Ø§ÙŠÙ†Ø¯Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†Ø¯ Ø§Ø¬Ø±Ø§ ÙƒÙ†ÙŠÙ…. 
Ø¨Ø±Ø§ÙŠ Ø§ÙŠÙ†ÙƒØ§Ø± Ø§Ø² Ú¯Ø²ÙŠÙ†Ù‡ N- Ùˆ ÙŠÙƒ Ø¹Ø¯Ø¯ ÙƒÙ…ØªØ± Ø§Ø² 32 
Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯. Ø±Ø§Ù‡ Ø­Ù„ Ø¯Ø§Ø¦Ù…ÙŠ Ø§ÙŠÙ† Ù…Ø´ÙƒÙ„ Ø¢Ù† Ø§Ø³Øª ÙƒÙ‡ 
Ù¾Ø§Ø±Ø§Ù…ØªØ±Ù‡Ø§ÙŠ SEMMNS, SEMMNI ÙƒØ±Ù†Ù„ Ø±Ø§ Ø§ÙØ²Ø§ÙŠØ´ Ø¯Ù‡ÙŠÙ….
Ø¯Ø± Ø²Ù…Ø§Ù† Ø¯Ø³ØªØ±Ø³ÙŠ Ø®ÙŠÙ„ÙŠ Ø²ÙŠØ§Ø¯ Ø¨Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ØŒ â€Œ 
Ø³Ù…Ø§ÙÙˆØ±Ù‡Ø§ÙŠ Ù†Ø§Ù…Ø¹ØªØ¨Ø± Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù†Ø¯ Ø¨Ø§Ø¹Ø« crashâ€Œ ÙƒØ±Ø¯Ù† 
Ø³ÙŠØ³ØªÙ… Ø´ÙˆÙ†Ø¯.
Ø§Ú¯Ø± Ù¾ÙŠØºØ§Ù… Ø®Ø·Ø§ Ú†ÙŠØ² Ø¯ÙŠÚ¯Ø±ÙŠ Ø¨Ø§Ø´Ø¯ Ø§Ø­ØªÙ…Ø§Ù„Ø§Ù‹ Ø¨Ù‡ 
Ø¯Ù„ÙŠÙ„ Ø¢Ù† Ø§Ø³Øª ÙƒÙ‡ ÙƒØ±Ù†Ù„ Ø§Ø² Ø³Ù…Ø§ÙÙˆØ±Ù‡Ø§ Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ 
Ù†Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ 
Ù…Ø¯ÙŠØ±ÙŠØªÙŠ PostgreSQL Ø±Ø§ Ù…Ø·Ø§Ù„Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
3.5) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø§ØªØµØ§Ù„Ø§Øª Ø³Ø§ÙŠØ± Ù…Ø§Ø´ÙŠÙ†Ù‡Ø§ Ø±Ø§ 
ÙƒÙ†ØªØ±Ù„ ÙƒÙ†Ù…ØŸ
Ø¨Ù‡ ØµÙˆØ±Øª Ù¾ÙŠØ´ ÙØ±Ø¶ ÙÙ‚Ø· Ø§Ø² Ù…Ø§Ø´ÙŠÙ†ÙŠ ÙƒÙ‡ PostgreSQL Ø±ÙˆÙŠ Ø¢Ù† 
Ø¯Ø± Ø­Ø§Ù„ Ø§Ø¬Ø±Ø§Ø³Øª Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² 
Ø³ÙˆÙƒØªâ€ŒÙ‡Ø§ÙŠ ÙŠÙˆÙ†ÙŠÙƒØ³ÙŠ Ø¨Ù‡ Ø¢Ù† Ù…ØªØµÙ„ Ø´Ø¯. Ø³Ø§ÙŠØ± 
Ù…Ø§Ø´ÙŠÙ†â€ŒÙ‡Ø§ Ù‚Ø§Ø¯Ø± Ù†ÙŠØ³ØªÙ†Ø¯ Ø¨Ù‡ PostgreSQL Ù…ØªØµÙ„ Ø´ÙˆÙ†Ø¯ Ù…Ú¯Ø± 
Ø¢Ù†ÙƒÙ‡ Ú¯Ø²ÙŠÙ†Ù‡ tcp_sockets Ø¯Ø± ÙØ§ÙŠÙ„ postgresql.conf ÙØ¹Ø§Ù„ Ø´Ø¯Ù‡ Ùˆ 
Ù‡Ù…Ú†Ù†ÙŠÙ† Ø¨Ø§ Ø§ØµÙ„Ø§Ø­ ÙØ§ÙŠÙ„ PGDATA/ph_hba.conf Ù‡ÙˆÙŠØªâ€ŒØ´Ù†Ø§Ø³ÙŠ 
Ù…Ø¨ØªÙ†ÙŠ Ø¨Ø± Ù…ÙŠØ²Ø¨Ø§Ù† Ù†ÙŠØ² ÙØ¹Ø§Ù„ Ø´ÙˆØ¯. Ø¨Ø§ Ø§ÙŠÙ† ÙƒØ§Ø± 
Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§ØªØµØ§Ù„Ø§Øª TCP/IP Ø¨Ù‡ PostgreSQLâ€Œ Ø§ÙŠØ¬Ø§Ø¯ ÙƒØ±Ø¯.
3.6) Ø¨Ø±Ø§ÙŠ ÙƒØ§Ø±Ø§ÙŠÙŠ Ø¨Ø§Ù„Ø§ØªØ± Ùˆ Ø¨Ù‡ØªØ± Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù…Ù† 
Ú†Ù‡ ØªÙ†Ø¸ÙŠÙ…Ø§ØªÙŠ Ø±Ø§ Ø¨Ø§ÙŠØ¯ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù…ØŸ
Ø¨Ù‡ Ø·ÙˆØ± Ø­ØªÙ… Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø§Ù†Ø¯ÙŠØ³â€ŒÙ‡Ø§ Ø¨Ø§Ø¹Ø« Ø¨Ø§Ù„Ø§ 
Ø±ÙØªÙ† Ø³Ø±Ø¹Øª Ù¾Ø§Ø³Ø®â€ŒÚ¯ÙˆÙŠÙŠ Ø¨Ù‡ Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ Ø®ÙˆØ§Ù‡Ø¯ 
Ø´Ø¯. Ø¯Ø³ØªÙˆØ± EXPLAIN ANALYZE Ø¨Ù‡ Ø´Ù…Ø§ Ø§Ù…ÙƒØ§Ù† Ø¯ÙŠØ¯Ù† Ù†Ø­ÙˆÙ‡ 
Ù¾Ø±Ø¯Ø§Ø²Ø´ ÙŠÙƒ Ø¯Ø³ØªÙˆØ± ØªÙˆØ³Ø· PostgreSQL Ø±Ø§ Ù…ÙŠâ€ŒØ¯Ù‡Ø¯.
Ø§Ú¯Ø± Ø´Ù…Ø§ ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ INSERTâ€Œ Ø¯Ø§Ø±ÙŠØ¯ Ø³Ø¹ÙŠ ÙƒÙ†ÙŠØ¯ 
Ø¢Ù†Ù‡Ø§ Ø±Ø§ Ø¨Ø§ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø¯Ù† Ø¯Ø± ÙŠÙƒ ÙØ§ÙŠÙ„ Ø¨Ø§ Ø¯Ø³ØªÙˆØ± COPYâ€Œ 
Ø§Ø¬Ø±Ø§ ÙƒÙ†ÙŠØ¯. Ø§ÙŠÙ† Ø¯Ø³ØªÙˆØ± Ø¨Ù‡ Ù…Ø±Ø§ØªØ¨ Ø§Ø² INSERT Ø³Ø±ÙŠØ¹ØªØ± 
Ø§Ø³Øª. Ø­ØªÙŠâ€ŒØ§Ù„Ø§Ù…ÙƒØ§Ù† Ø³Ø¹ÙŠ ÙƒÙ†ÙŠØ¯ Ø§Ø² ØªØ±Ø§ÙƒÙ†Ø´Ù‡Ø§ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†ÙƒÙ†ÙŠØ¯. ØªØ±Ø§ÙƒÙ†Ø´Ù‡Ø§ Ù…Ø¬Ù…ÙˆØ¹Ù‡ Ø¯Ø³ØªÙˆØ±Ø§ØªÙŠ 
Ù‡Ø³ØªÙ†Ø¯ ÙƒÙ‡ Ø¨ÙŠÙ†Ø¯ BEGIN Ùˆ â€COMMIT Ù…ÙŠâ€ŒØ¢ÙŠÙ†Ø¯. Ø§Ú¯Ø± ÙŠÙƒ 
Ø¯Ø³ØªÙˆØ± Ø¨Ù‡ ØµÙˆØ±Øª Ø¹Ø§Ø¯ÙŠ Ø§Ø¬Ø±Ø§ Ø´ÙˆØ¯ PostgreSQL Ø®ÙˆØ¯ Ø¢Ù† 
Ø¯Ø³ØªÙˆØ± Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ÙŠÙƒ ØªØ±Ø§ÙƒÙ†Ø´ Ù…Ø³ØªÙ‚Ù„ Ù†Ú¯Ø§Ù‡ ÙƒØ±Ø¯Ù‡ Ùˆ 
Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ù…ÙˆÙ‚Ø¹ÛŒ ÙƒÙ‡ ØªØºÙŠÙŠØ±Ø§Øª Ø²ÙŠØ§Ø¯ÙŠ Ø¯Ø± 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø§Ù†Ø¬Ø§Ù… Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø§Ù†Ø¯ÙŠØ³Ù‡Ø§ÙŠ Ù‚Ø¨Ù„ÙŠ Ø±Ø§ 
Ø­Ø°Ù Ùˆ Ù…Ø¬Ø¯Ø¯Ø§Ù‹â€Œ Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†ÙŠØ¯.
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ú¯Ø²ÙŠÙ†Ù‡ o -F- Ø¯Ø± ÙØ±Ù…Ø§Ù† postmaster Ø¨Ø§Ø¹Ø« ØºÙŠØ± 
ÙØ¹Ø§Ù„ ÙƒØ±Ø¯Ù† ()fsync Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ø§ÙŠÙ† Ø¯Ø³ØªÙˆØ± Ø¨Ø¹Ø¯ Ø§Ø² Ù‡Ø± 
ØªØ±Ø§ÙƒÙ†Ø´ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø±Ø§ Ø±ÙˆÙŠ Ù‡Ø§Ø±Ø¯Ø¯ÙŠØ³Ùƒ Ù…Ù†ØªÙ‚Ù„ 
Ù…ÙŠâ€ŒÙƒÙ†Ø¯.
Ø¨Ø±Ø§ÙŠ Ø§ÙØ²Ø§ÙŠØ´ ØªØ¹Ø¯Ø§Ø¯ Ø¨Ø§ÙØ±Ù‡Ø§ÙŠ Ø­Ø§ÙØ¸Ù‡ Ø§Ø´ØªØ±Ø§ÙƒÙŠ Ø§Ø² 
Ú¯Ø²ÙŠÙ†Ù‡ B- Ø¨Ù‡ Ù‡Ù…Ø±Ø§Ù‡ ÙØ±Ù…Ø§Ù† postmaster Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯. 
ØªÙˆØ¬Ù‡ ÙƒÙ†ÙŠØ¯ ÙƒÙ‡ Ø§Ú¯Ø± Ø§ÙŠÙ† Ø¹Ø¯Ø¯ Ø®ÙŠÙ„ÙŠ Ø¨Ø²Ø±Ú¯ Ø¨Ø§Ø´Ø¯ Ù…Ù…ÙƒÙ† 
Ø§Ø³Øª postmaster Ø§ØµÙ„Ø§Ù‹â€Œ Ø§Ø¬Ø±Ø§ Ù†Ø´ÙˆØ¯. Ù‡Ø± Ø¨Ø§ÙØ± 8 ÙƒÙŠÙ„Ùˆ 
Ø¨Ø§ÙŠØª Ø­Ø§ÙØ¸Ù‡ Ù†ÙŠØ§Ø² Ø¯Ø§Ø±Ø¯ Ùˆ ØªØ¹Ø¯Ø§Ø¯ Ø¨Ø§ÙØ±Ù‡Ø§ Ø¨Ù‡ Ø·ÙˆØ± 
Ù¾ÙŠØ´ ÙØ±Ø¶ 64 Ø§Ø³Øª.
Ù‡Ù…Ú†Ù†ÙŠÙ† Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ Ú¯Ø²ÙŠÙ†Ù‡ S-  Ù…ÙŠØ²Ø§Ù† Ø­Ø§ÙØ¸Ù‡â€ŒØ§ÙŠ 
ÙƒÙ‡ Ø¨Ø±Ø§ÙŠ Ù…Ø±ØªØ¨â€ŒØ³Ø§Ø²ÙŠâ€ŒÙ‡Ø§ÙŠ Ù…ÙˆÙ‚Øª ØªÙˆØ³Ø· PostgreSQL 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø±Ø§ Ø§ÙØ²Ø§ÙŠØ´ Ø¯Ø§Ø¯. Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´ ÙØ±Ø¶ 
512 ÙƒÙŠÙ„Ùˆ Ø¨Ø§ÙŠØª Ø§Ø³Øª.
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¯Ø³ØªÙˆØ± CLUSTER Ù†ÙŠØ² Ø¨Ø±Ø§ÙŠ Ø¨Ø§Ù„Ø§ Ø¨Ø±Ø¯Ù† 
ÙƒØ§Ø±Ø§ÙŠÙŠ Ù…ÙˆØ«Ø± Ø§ Ø³Øª. Ø¯Ø³ØªÙˆØ± Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ CLUSTER Ø§Ø·Ù„Ø§Ø¹Ø§Øª 
Ø¨ÙŠØ´ØªØ±ÙŠ Ø¯Ø± Ø§ÙŠÙ† Ø²Ù…ÙŠÙ†Ù‡ Ø¨Ù‡ Ø´Ù…Ø§ Ù…ÙŠâ€ŒØ¯Ù‡Ø¯.
3.7) Ú†Ù‡ Ø§Ù…ÙƒØ§Ù†Ø§ØªÙŠ Ø¨Ø±Ø§ÙŠ Ù¾ÙŠØ¯Ø§ ÙƒØ±Ø¯Ù† Ø§Ø´ÙƒØ§Ù„â€Œ ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯ØŸ
PostgerSQLâ€Œ Ø§Ù…ÙƒØ§Ù†Ø§Øª Ù…Ø®ØªÙ„ÙÙŠ Ø¨Ø±Ø§ÙŠ Ú¯Ø²Ø§Ø±Ø´ Ø¯Ø§Ø¯Ù† 
ÙˆØ¶Ø¹ÙŠØª Ø®ÙˆØ¯ Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¨Ø±Ø§ÙŠ Ø§Ø´ÙƒØ§Ù„ Ø²Ø¯Ø§ÙŠÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù† 
Ø§Ø² Ø¢Ù†Ù‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯.
Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ú¯Ø²ÙŠÙ†Ù‡ enable-assert-- ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ 
()assert Ø¨Ø±Ø§ÙŠ Ù…ÙˆÙ†ÙŠØªÙˆØ± ÙƒØ±Ø¯Ù† Ùˆ ØªÙˆÙ‚Ù Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø¯Ø± ØµÙˆØ±Øª 
Ø¨Ø±ÙˆØ² Ø®Ø·Ø§Ù‡Ø§ÙŠ Ù†Ø§Ø®ÙˆØ§Ø³ØªÙ‡ ÙØ¹Ø§Ù„ Ù…ÙŠâ€ŒØ´ÙˆØ¯.
Ù‡Ù… Postmaster Ùˆ Ù‡Ù… postgres Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠ Ø²ÙŠØ§Ø¯ÙŠ Ø¨Ø±Ø§ÙŠ 
Ø§Ø´ÙƒØ§Ù„ Ø²Ø¯Ø§ÙŠÙŠ Ø¯Ø§Ø±Ù†Ø¯. Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ postmaster Ø±Ø§ Ø§Ø¬Ø±Ø§ 
Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯ Ø®Ø±ÙˆØ¬ÙŠ Ø§Ø³ØªØ§Ù†Ø¯Ø§Ø±Ø¯ Ùˆ Ø®Ø·Ø§ Ø±Ø§ Ø³Ù…Øª ÙØ§ÙŠÙ„ log 
Ø§Ø±Ø³Ø§Ù„ ÙƒÙ†ÙŠØ¯.
    cd /usr/local/pgsql
    ./bin/postmaster >server.log 2>&1 &
Ø§ÙŠÙ† ÙƒØ§Ø± ÙŠÙƒ ÙØ§ÙŠÙ„ log Ø¯Ø± Ø¨Ø§Ù„Ø§ØªØ±ÙŠÙ† Ø´Ø§Ø®Ù‡ PostgreSQLâ€Œ 
Ø§ÙŠØ¬Ø§Ø¯ Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ø§ÙŠÙ† ÙØ§ÙŠÙ„ Ø­Ø§ÙˆÙŠ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ù…ÙÙŠØ¯ÙŠ 
Ø¯Ø± Ù…ÙˆØ±Ø¯ Ù…Ø³Ø§Ø¦Ù„ Ùˆ Ø®Ø·Ø§Ù‡Ø§ÙŠÙŠ Ø§Ø³Øª ÙƒÙ‡ Ø¨Ø±Ø§ÙŠ Ø³Ø±ÙˆØ± 
Ø§ØªÙØ§Ù‚ Ø§ÙØªØ§Ø¯Ù‡ Ø§Ø³Øª. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø¬Ø²Ø¦ÙŠØ§Øª Ø¨ÙŠØ´ØªØ± 
Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§Ø² d-  Ø¨Ù‡ Ù‡Ù…Ø±Ø§Ù‡ ÙØ±Ù…Ø§Ù† postmasterâ€Œ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
ÙƒØ±Ø¯. Ú¯Ø²ÙŠÙ†Ù‡ d- Ù‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ Ø¹Ø¯Ø¯ Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ø¯ ÙƒÙ‡ Ù†Ø´Ø§Ù† 
Ø¯Ù‡Ù†Ø¯Ù‡ Ø³Ø·Ø­ Ø¬Ø²Ø¦ÙŠØ§ØªÙŠ Ø§Ø³Øª ÙƒÙ‡ Ø¯Ø± Logâ€ŒÙØ§ÙŠÙ„ Ù†ÙˆØ´ØªÙ‡ 
Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ø¨Ø§ Ø¨Ø§Ù„Ø§Ø¨Ø±Ø¯Ù† Ø§ÙŠÙ† Ø¹Ø¯Ø¯ Ø­Ø¬Ù… Ø§Ø·Ù„Ø§Ø¹Ø§Øª 
ØªÙˆÙ„ÙŠØ¯ Ø´Ø¯Ù‡ Ø¯Ø± LogÙØ§ÙŠÙ„ Ù†ÙŠØ² Ø§ÙØ²Ø§ÙŠØ´ Ù…ÙŠâ€ŒÙŠØ§Ø¨Ø¯.
Ø§Ú¯Ø± postmaster Ø¯Ø± Ø­Ø§Ù„ Ø§Ø¬Ø±Ø§ Ù†Ø¨Ø§Ø´Ø¯ØŒ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠÙ… postgres 
Ø±Ø§ Ø¨Ù‡ Ø·ÙˆØ± Ù…Ø³ØªÙ‚ÙŠÙ… Ø§Ø² Ø®Ø· ÙØ±Ù…Ø§Ù† Ø§Ø¬Ø±Ø§ ÙƒØ±Ø¯Ù‡ Ùˆ  
Ø¯Ø³ØªÙˆØ±Ø§Øª SQL Ø±Ø§ Ø¨Ù‡ Ø¢Ù† Ø¨Ø¯Ù‡ÙŠÙ…. Ø§ÙŠÙ† ÙƒØ§Ø± ÙÙ‚Ø· Ø¨Ø±Ø§ÙŠ 
Ø§Ø´ÙƒØ§Ù„â€ŒÙŠØ§Ø¨ÙŠ ØªÙˆØµÙŠÙ‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯. ØªÙˆØ¬Ù‡ ÙƒÙ†ÙŠØ¯ ÙƒÙ‡ Ø¯Ø± 
Ø§ÙŠÙ† Ø­Ø§Ù„Øª ÙŠÙƒ Ø¯Ø³ØªÙˆØ± Ø¨Ø§ ÙƒØ§Ø±Ø§ÙƒØªØ± newline Ø®Ø§ØªÙ…Ù‡ Ù¾ÙŠØ¯Ø§ 
Ù…ÙŠâ€ŒÙƒÙ†Ø¯ Ùˆ Ù†Ù‡ Ø¨Ø§ ;. Ø§Ú¯Ø± postmaster Ø±Ø§ Ø¨Ø§ Ø§Ù…ÙƒØ§Ù†Ø§Øª 
Ø§Ø´ÙƒØ§Ù„â€ŒÙŠØ§Ø¨ÙŠ ÙƒØ§Ù…Ù¾ÙŠÙ„ ÙƒØ±Ø¯Ù‡ Ø¨Ø§Ø´ÙŠØ¯ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ø§ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² ÙŠÙƒ Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø§Ø´ÙƒØ§Ù„â€ŒÙŠØ§Ø¨ Ø§Ø¬Ø±Ø§ÙŠ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø±Ø§ Ù…ÙˆÙ†ÙŠØªÙˆØ± ÙƒÙ†ÙŠØ¯. 
Ø§Ú¯Ø± postmaster Ø¯Ø± Ø­Ø§Ù„ Ø§Ø¬Ø±Ø§ Ø¨Ø§Ø´Ø¯ Ø¨Ø§ Ø¯Ø³ØªÙˆØ± psql 
Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ù‡ postgres Ù…ØªØµÙ„ Ø´Ø¯. Ø¨Ø§ Ù¾ÙŠØ¯Ø§ ÙƒØ±Ø¯Ù† PID 
ÙØ±Ø§ÙŠÙ†Ø¯ postgres ÙƒÙ‡ psql Ø¨Ù‡ Ø¢Ù† Ù…ØªØµÙ„ Ø´Ø¯Ù‡ Ø§Ø³Øª Ù…ÙŠâ€ŒØªÙˆØ§Ù† 
Ø¢Ù† Ø±Ø§ Ù…ÙˆÙ†ÙŠØªÙˆØ± ÙƒØ±Ø¯. Ø¨Ø±Ø§ÙŠ Ø§ÙŠÙ†ÙƒØ§Ø± Ø¨Ø§ÙŠØ¯ ÙŠÙƒ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø§Ø´ÙƒØ§Ù„â€ŒÙŠØ§Ø¨ Ø±Ø§ Ø¨Ù‡ Ø¢Ù† pid Ù…ØªØµÙ„ ÙƒØ±Ø¯. Ø§Ú¯Ø± 
Ø¨Ø®ÙˆØ§Ù‡ÙŠÙ… Ø¨Ø§Ù„Ø§ Ø¢Ù…Ø¯Ù† postgres Ø±Ø§ Ù…ÙˆÙ†ÙŠØªÙˆØ± ÙƒÙ†ÙŠÙ… ÙƒØ§ÙÙŠ 
Ø§Ø³Øª "PGOPTIONS="-W n Ùˆ psql Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†ÙŠÙ…. Ø§ÙŠÙ† ÙƒØ§Ø± Ø¨Ø§Ø¹Ø« 
Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙƒÙ‡ postgres Ø¨Ø§ n Ø«Ø§Ù†ÙŠÙ‡ ØªØ§Ø®ÙŠØ± Ø§Ø¬Ø±Ø§ Ø´ÙˆØ¯ Ùˆ Ø¯Ø± 
Ø§ÙŠÙ† ÙØ§ØµÙ„Ù‡ Ø´Ù…Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø§Ø´ÙƒØ§Ù„â€ŒÙŠØ§Ø¨ 
Ø±Ø§ Ø¨Ù‡ Ø¢Ù† Ù…ØªØµÙ„ ÙƒØ±Ø¯Ù‡ Ùˆ Ø¨Ø§ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø¯Ù† ÙŠÙƒ Ù†Ù‚Ø·Ù‡ 
ØªÙˆÙ‚Ù  Ø±ÙˆÙ†Ø¯ Ø§Ø¬Ø±Ø§ÙŠ Ø¢Ù† Ø±Ø§ Ù…ÙˆÙ†ÙŠØªÙˆØ± ÙƒÙ†ÙŠØ¯.
postgres Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠ s-â€Œ Ùˆ A- Ùˆ t-â€Œ Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¨Ø±Ø§ÙŠ 
Ù¾ÙŠØ¯Ø§ ÙƒØ±Ø¯Ù† Ø§Ø´ÙƒØ§Ù„Ø§Øª Ø¨Ø³ÙŠØ§Ø± Ù…Ù†Ø§Ø³Ø¨ Ù‡Ø³ØªÙ†Ø¯.
Ø´Ù…Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ postgreSQL Ø±Ø§ Ø¨Ø§ Ø§Ù…ÙƒØ§Ù†Ø§Øª profiling 
ÙƒØ§Ù…Ù¾ÙŠÙ„ ÙƒÙ†ÙŠØ¯. Ø§ÙŠÙ† ÙƒØ§Ø± Ø¨Ø§Ø¹Ø« Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙƒÙ‡ Ø²Ù…Ø§Ù† 
Ø§Ø¬Ø±Ø§ÙŠ Ø¯Ù‚ÙŠÙ‚ Ù‡Ø± ØªØ§Ø¨Ø¹ Ø¯Ø± Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù…Ø´Ø®Øµ Ø´ÙˆØ¯. 
Ø®Ø±ÙˆØ¬ÙŠâ€ŒÙ‡Ø§ÙŠ ØªÙˆÙ„ÙŠØ¯ Ø´Ø¯Ù‡ Ø¯Ø± Ø§ÙŠÙ† Ø­Ø§Ù„Øª Ø¯Ø± ÙØ§ÙŠÙ„ 
DLINUX_PROFILE. Ø±ÙŠØ®ØªÙ‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯.
3.8) Ú†Ø±Ø§ Ù…ÙˆÙ‚Ø¹ÙŠ ÙƒÙ‡ Ù…Ù† Ù…ÙŠâ€ŒØ®ÙˆØ§Ù‡Ù… Ø¨Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
ÙˆØµÙ„ Ø´ÙˆÙ… Ù¾ÙŠØ§Ù… "Sorry, too many clients" â€ŒÙ…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø´Ù…Ø§ Ø¨Ø§ÙŠØ¯ Ø­Ø¯Ø§ÙƒØ«Ø± ØªØ¹Ø¯Ø§Ø¯ ÙØ±Ø§ÙŠÙ†Ø¯Ù‡Ø§ÙŠ Ù‡Ù…Ø²Ù…Ø§Ù† 
postmaster Ø±Ø§ Ø§ÙØ²Ø§ÙŠØ´ Ø¯Ù‡ÙŠØ¯. Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´ ÙØ±Ø¶ 32 Ø§Ø³Øª. 
Ø¨Ø±Ø§ÙŠ Ø§ÙØ²Ø§ÙŠØ´ Ø¢Ù† Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§Ø² Ú¯Ø²ÙŠÙ†Ù‡ N- Ø§Ø³ØªÙØ§Ø¯Ù‡ 
ÙƒØ±Ø¯ Ùˆ ÙŠØ§ ÙØ§ÙŠÙ„ postgresql.conf Ø±Ø§ Ø§ØµÙ„Ø§Ø­ Ù†Ù…ÙˆØ¯
ØªÙˆØ¬Ù‡ ÙƒÙ†ÙŠØ¯ ÙƒÙ‡ Ø§Ú¯Ø± N- Ù…Ù‚Ø¯Ø§Ø±ÙŠ Ø¨ÙŠØ´ØªØ± Ø§Ø² 32 Ø¯Ø§Ø´ØªÙ‡ 
Ø¨Ø§Ø´Ø¯ Ø¨Ø§ÙŠØ¯ Ù…Ù‚Ø¯Ø§Ø± B- Ø±Ø§ Ù†ÙŠØ² Ø§ÙØ²Ø§ÙŠØ´ Ø¯Ù‡ÙŠÙ…. Ø§ÙŠÙ† 
Ù…Ù‚Ø¯Ø§Ø± Ø¨Ø§ÙŠØ¯ Ø­Ø¯Ø§Ù‚Ù„ Ø¯Ùˆ Ø¨Ø±Ø§Ø¨Ø± Ù…Ù‚Ø¯Ø§Ø± N-â€Œ Ø¨Ø§Ø´Ø¯. 
Ø¨Ø±Ø§ÙŠ Ø§Ø¹Ø¯Ø§Ø¯ Ø®ÙŠÙ„ÙŠ Ø¨Ø§Ù„Ø§ Ø¨Ø§ÙŠØ¯ Ø¨Ø¹Ø¶ÙŠ Ø§Ø² 
Ù¾Ø§Ø±Ø§Ù…ØªØ±Ù‡Ø§ÙŠ ÙƒØ±Ù†Ù„ Ø±Ø§ Ù†ÙŠØ² Ø§ØµÙ„Ø§Ø­ ÙƒØ±Ø¯. 
Ù¾Ø§Ø±Ø§Ù…ØªØ±Ù‡Ø§ÙŠÙŠ Ù†Ø¸ÙŠØ± Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø­Ø§ÙØ¸Ù‡ 
Ø§Ø´ØªØ±Ø§ÙƒÙŠ SHMMAX ØŒ Ø­Ø¯Ø§ÙƒØ«Ø± ØªØ¹Ø¯Ø§Ø¯ Ø³Ù…Ø§ÙÙˆØ±Ù‡Ø§ SEMMNIâ€Œ Ùˆ 
SEMMNS ØŒ Ø­Ø¯Ø§ÙƒØ«Ø± ØªØ¹Ø¯Ø§Ø¯ ÙØ±Ø§ÙŠÙ†Ø¯Ù‡Ø§ NPROCØŒ Ø­Ø¯Ø§ÙƒØ«Ø± 
ÙØ±Ø§ÙŠÙ†Ø¯Ù‡Ø§ÙŠ ÙŠÙƒ ÙƒØ§Ø±Ø¨Ø± MAXUPRC Ùˆ Ø­Ø¯Ø§ÙƒØ«Ø± ÙØ§ÙŠÙ„Ù‡Ø§ÙŠ Ø¨Ø§Ø² 
NFILE Ùˆ NINODE. ÙŠÙƒÙŠ Ø§Ø² Ø¯Ù„Ø§ÙŠÙ„ÙŠ ÙƒÙ‡ ØªØ¹Ø¯Ø§Ø¯ Ø§ØªØµØ§Ù„Ø§Øª 
Ù‡Ù…Ø²Ù…Ø§Ù† postgreSQL Ù…Ø­Ø¯ÙˆØ¯ Ø§Ø³Øª Ø¢Ù† Ø§Ø³Øª ÙƒÙ‡ Ù†ÙŠØ§Ø²Ù‡Ø§ÙŠ 
PostgreSQL Ø¨ÙŠØ´ Ø§Ø² Ù…Ù†Ø§Ø¨Ø¹ Ù…ÙˆØ¬ÙˆØ¯ Ø³ÙŠØ³ØªÙ… Ù†Ø¨Ø§Ø´Ø¯.
3.9) Ø¯Ø± Ø´Ø§Ø®Ù‡  pgsql_tmp  Ú†Ù‡ Ú†ÙŠØ²ÙŠ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø±Ø¯ØŸ
Ø¯Ø±Ø§ÙŠÙ† Ø´Ø§Ø®Ù‡ ÙØ§ÙŠÙ„Ù‡Ø§ÙŠ Ù…ÙˆÙ‚ØªÙŠ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¨Ø§ 
Ø§Ø¬Ø±Ø§ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ Ø¨Ù‡ ÙˆØ¬ÙˆØ¯ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª. Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† 
Ù…Ø«Ø§Ù„ Ø§Ú¯Ø± Ø¨Ø±Ø§ÙŠ Ø§Ø¬Ø±Ø§ÙŠ Ø¯Ø³ØªÙˆØ± order by Ù†ÙŠØ§Ø² Ø¨Ù‡ Ø§Ù†Ø¬Ø§Ù… 
Ù…Ø±ØªØ¨ Ø³Ø§Ø²ÙŠ Ø¨Ø§Ø´Ø¯ Ùˆ Ø¯Ø± ØµÙˆØ±ØªÙŠ ÙƒÙ‡ Ø­Ø§ÙØ¸Ù‡ Ù…Ø´Ø®Øµ Ø´Ø¯Ù‡ 
Ø¨Ø§ Ú¯Ø²ÙŠÙ†Ù‡ S- Ø¨Ø±Ø§ÙŠ Ø§ÙŠÙ†ÙƒØ§Ø± ÙƒØ§ÙÙŠ Ù†Ø¨Ø§Ø´Ø¯ Ø³ÙŠØ³ØªÙ… ÙŠÙƒ 
ÙØ§ÙŠÙ„ Ù…ÙˆÙ‚Øª Ø¯Ø± Ø§ÙŠÙ† Ø´Ø§Ø®Ù‡ Ø§ÙŠØ¬Ø§Ø¯ Ù…ÙŠâ€ŒÙƒÙ†Ø¯ ØªØ§ Ø¹Ù…Ù„ 
Ù…Ø±ØªØ¨ Ø³Ø§Ø²ÙŠ Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ø¯.
ÙØ§ÙŠÙ„Ù‡Ø§ÙŠ Ù…ÙˆÙ‚Øª Ù…Ø¹Ù…ÙˆÙ„Ø§Ù‹ Ø¨Ù‡ ØµÙˆØ±Øª Ø§ØªÙˆÙ…Ø§ØªÙŠÙƒ Ù¾Ø§Ùƒ 
Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø§Ù…Ø§ Ø§Ú¯Ø± postgreSQL Ø¯Ø± Ø­ÙŠÙ† Ù…Ø±ØªØ¨ Ø³Ø§Ø²ÙŠ crashâ€Œ 
ÙƒÙ†Ø¯ Ø¢Ù† ÙØ§ÙŠÙ„Ù‡Ø§ Ø¨Ø§Ù‚ÙŠ Ù…ÙŠâ€ŒÙ…Ø§Ù†Ù†Ø¯. Ø¨Ø§ stop Ùˆ start ÙƒØ±Ø¯Ù† 
Ø¨Ø±Ù†Ø§Ù…Ù‡ postmaster Ø§ÙŠÙ† ÙØ§ÙŠÙ„Ù‡Ø§ Ù¾Ø§Ùƒ Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯.
3.10) Ú†Ø±Ø§ Ø¨Ø±Ø§ÙŠ Ø¨Ù‡ Ø±ÙˆØ² ÙƒØ±Ø¯Ù† Ù†Ø³Ø®Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù…Ù† 
Ø¨Ø§ÙŠØ¯ ÙƒÙ„ Ø¯Ø§Ø¯Ù‡ Ù‡Ø§ Ø±Ø§ dumpâ€Œ Ùˆ Ù…Ø¬Ø¯Ø¯Ø§Ù‹ restore ÙƒÙ†Ù…ØŸ
ØªÙŠÙ… Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÙŠØ³ postgreSQL Ø¯Ø± Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠ Ø§Ø±Ø§Ø¦Ù‡ Ø´Ø¯Ù‡ 
ÙƒÙ‡ ÙÙ‚Ø· minor Ø¢Ù†Ù‡Ø§ Ù…ØªÙØ§ÙˆØª Ø§Ø³Øª ÙÙ‚Ø· ØªØºÙŠÙŠØ±Ø§Øª ÙƒÙˆÚ†ÙƒÙŠ 
Ø§Ø¹Ù…Ø§Ù„ Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯Ø› Ø¨Ù†Ø§Ø¨Ø±Ø§ÙŠÙ† Ø¨Ø±Ø§ÙŠ Ø¨Ù‡ Ø±ÙˆØ² ÙƒØ±Ø¯Ù† Ø§Ø² 
Ù†Ø³Ø®Ù‡ 7.2â€ŒØ¨Ù‡ 7.2.1 Ù†ÙŠØ§Ø²ÙŠ Ø¨Ù‡ dump Ùˆ restore Ù†ÙŠØ³Øª. Ø§Ù…Ø§ Ø¯Ø± 
Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ major Ø¢Ù†Ù‡Ø§ ØªØºÙŠÙŠØ± Ù…ÙŠâ€ŒÙƒÙ†Ø¯ ØºØ§Ù„Ø¨Ø§Ù‹ 
Ø³Ø§Ø®ØªØ§Ø± Ø¯Ø§Ø®Ù„ÙŠ Ø¬Ø¯Ø§ÙˆÙ„ Ùˆ ÙØ§ÙŠÙ„Ù‡Ø§ÙŠ Ø¯Ø§Ø¯Ù‡ ØªØºÙŠÙŠØ± 
Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ø§ÙŠÙ† ØªØºÙŠÙŠØ±Ø§Øª Ù…Ø¹Ù…ÙˆÙ„Ø§Ù‹â€Œ Ù¾ÙŠÚ†ÙŠØ¯Ù‡ Ù‡Ø³ØªÙ†Ø¯. 
Ø¨Ø±Ø§ÙŠ Ø§Ù†ØªÙ‚Ø§Ù„ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ù…ÙˆØ¬ÙˆØ¯ Ø¯Ø± Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
Ø¯Ø± Ø§ÙŠÙ† Ø­Ø§Ù„Øª Ø¨Ø§ÙŠØ¯ â€ŒØ§Ø² dump Ùˆ restore Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯.
Ø¯Ø± Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠÙŠ ÙƒÙ‡ Ø³Ø§Ø®ØªØ§Ø± Ø±ÙˆÙŠ Ø¯ÙŠØ³Ùƒ ØªØºÙŠÙŠØ±ÙŠ 
Ù†Ù…ÙŠâ€ŒÙƒÙ†Ø¯ Ù…ÙŠ ØªÙˆØ§Ù† Ø§Ø² Ø¨Ø±Ù†Ø§Ù…Ù‡ pg_upgrade Ø¨Ø±Ø§ÙŠ Ø¨Ù‡ Ø±ÙˆØ² 
ÙƒØ±Ø¯Ù† Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯ Ø¨Ø¯ÙˆÙ† Ø§ÙŠÙ†ÙƒÙ‡ 
Ù†ÙŠØ§Ø²ÙŠ Ø¨Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² dump Ùˆ restore  Ø¨Ø§Ø´Ø¯. Ø¯Ø± 
ÙŠØ§Ø¯Ø¯Ø§Ø´ØªÙŠ ÙƒÙ‡ Ø¨Ù‡ Ù‡Ù…Ø±Ø§Ù‡ Ù‡Ø± ØªÙˆØ²ÙŠØ¹ Ù…ÙŠâ€ŒØ¢ÙŠØ¯ Ø°ÙƒØ± 
Ø´Ø¯Ù‡ Ø§Ø³Øª ÙƒÙ‡ Ø¢ÙŠØ§ Ø¨Ø±Ù†Ø§Ù…Ù‡ pg_upgrade Ø¨Ø±Ø§ÙŠ Ø§ÙŠÙ† ØªÙˆØ²ÙŠØ¹ 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ ÙŠØ§ Ø®ÙŠØ±.
3.11) Ø§Ø² Ú†Ù‡ Ø³Ø®Øª Ø§ÙØ²Ø§Ø±ÙŠ Ø¨Ø§ÙŠØ¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†Ù…ØŸ

Ú†ÙˆÙ† Ø§ÙƒØ«Ø± Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ PC  Ø³Ø§Ø²Ú¯Ø§Ø± Ù‡Ø³ØªÙ†Ø¯ Ù…Ø±Ø¯Ù… 
ÙÙƒØ± Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ ÙƒÙ‡ ÙƒÙŠÙÙŠØª Ø¢Ù†Ù‡Ø§ Ù†ÙŠØ² ÙŠÙƒØ³Ø§Ù† Ø§Ø³Øª. Ø¯Ø± 
Ø­Ø§Ù„ÙŠÙƒÙ‡ Ø§ÙŠÙ†Ø·ÙˆØ± Ù†ÙŠØ³Øª. Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù‡Ø§Ø±Ø¯Ù‡Ø§ÙŠ SCSI Ùˆ 
Ø­Ø§ÙØ¸Ù‡â€ŒÙ‡Ø§ÙŠ ECC Ùˆ Ù…Ø§Ø¯Ø±Ø¨Ø±Ø¯Ù‡Ø§ÙŠ Ø¨Ø§ ÙƒÙŠÙÙŠØª Ø¨Ø§Ù„Ø§ 
Ù†Ø³Ø¨Øª Ø¨Ù‡ Ø³Ø®Øª Ø§ÙØ²Ø§Ø±Ù‡Ø§ÙŠ Ø§Ø±Ø²Ø§Ù†ØªØ± Ù†ØªØ§ÙŠØ¬ Ø¨Ù‡ØªØ±ÙŠ Ø§Ø² 
Ù†Ø¸Ø± ÙƒØ§Ø±Ø§ÙŠÙŠ Ùˆ Ù¾Ø§ÙŠØ¯Ø§Ø±ÙŠ Ø³ÙŠØ³ØªÙ… Ø¨Ù‡Ù…Ø±Ø§Ù‡ Ø®ÙˆØ§Ù‡Ø¯ 
Ø¯Ø§Ø´Øª. PostgreSQL Ø±ÙˆÙŠ Ø¨ÙŠØ´ØªØ± Ø³Ø®Øª Ø§ÙØ²Ø§Ø±Ù‡Ø§ Ø§Ø¬Ø±Ø§ 
Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ø§Ù…Ø§ Ø§Ú¯Ø± ÙƒØ§Ø±Ø§ÙŠÙŠ Ùˆ Ø§Ø·Ù…ÙŠÙ†Ø§Ù† ÙØ§ÙƒØªÙˆØ±Ù‡Ø§ÙŠ 
Ù…Ù‡Ù…ÙŠ Ù‡Ø³ØªÙ†Ø¯ Ø¨Ø§ÙŠØ¯ Ø³Ø®Øª Ø§ÙØ²Ø§Ø± Ù…Ù†Ø§Ø³Ø¨ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯. 
Ø¯Ø± Ú¯Ø±ÙˆÙ‡Ù‡Ø§ÙŠ Ù¾Ø³ØªÙŠ Ø¯Ø± Ù…ÙˆØ±Ø¯ Ø³Ø®Øª Ø§ÙØ²Ø§Ø± Ù…Ù†Ø§Ø³Ø¨  Ùˆ 
Ø§Ù†ØªØ®Ø§Ø¨ Ø¢Ù† Ø¨Ø­Ø« Ø´Ø¯Ù‡ Ø§Ø³Øª. 



Ø³ÙˆØ§Ù„Ø§Øª Ø¹Ù…Ù„ÙŠØ§ØªÙŠ
4.1) ØªÙØ§ÙˆØª Ø¨ÙŠÙ† binary cursors Ùˆ Normal cursors Ú†ÙŠØ³ØªØŸ
Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ Ø¯Ø³ØªÙˆØ± DECLAREâ€Œ Ø±Ø§ Ù…Ø·Ø§Ù„Ø¹Ù‡ ÙƒÙ†ÙŠØ¯.
4.2) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙÙ‚Ø· Ø±ÙˆÙŠ Ú†Ù†Ø¯ Ø±Ø¯ÙŠÙ Ø§ÙˆÙ„ ÙŠØ§ 
ÙŠÙƒ Ø±Ø¯ÙŠÙ ØªØµØ§Ø¯ÙÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª SELECTâ€Œ Ø¨Ø²Ù†Ù…ØŸ
Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ Ø¯Ø³ØªÙˆØ± FETCH  ÙŠØ§ SELECT...LIMIT Ø±Ø§ Ø¨Ø¨ÙŠÙ†ÙŠØ¯.
Ø¯Ø± ÙˆØ§Ù‚Ø¹ ÙƒÙ„ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨Ø§ÙŠØ¯ Ø¨Ø±Ø±Ø³ÙŠ Ùˆ Ø§Ø±Ø²ÙŠØ§Ø¨ÙŠ Ø´ÙˆØ¯ 
Ø­ØªÙŠ Ø§Ú¯Ø± Ø´Ù…Ø§ ÙÙ‚Ø· Ú†Ù†Ø¯ Ø±Ø¯ÙŠÙ Ø§ÙˆÙ„ Ø±Ø§ Ø¨Ø®ÙˆØ§Ù‡ÙŠØ¯. Ø¨Ø±Ø§ÙŠ 
Ù…Ø«Ø§Ù„ Ø¯Ø±Ø®ÙˆØ§Ø³Øª ORDER BY Ø±Ø§ Ø¯Ø± Ù†Ø¸Ø± Ø¨Ú¯ÙŠØ±ÙŠØ¯. Ø§Ú¯Ø± 
Ø§Ù†Ø¯ÙŠØ³ ÙŠØ§ Ù†Ù…Ø§ÙŠÙ‡â€ŒØ§ÙŠ Ø¨Ø±Ø§ÙŠ ORDER BY ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø´ØªÙ‡ 
Ø¨Ø§Ø´Ø¯ØŒâ€ŒpostgreSQLâ€Œ Ù…Ù…ÙƒÙ† Ø§Ø³Øª Ø¨ØªÙˆØ§Ù†Ø¯ ÙÙ‚Ø· Ú†Ù†Ø¯ Ø³Ø·Ø± 
Ø§ÙˆÙ„ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙŠ Ø±Ø§ Ø§Ø±Ø²ÙŠØ§Ø¨ÙŠ ÙƒÙ†Ø¯ Ùˆ ÙŠØ§ Ø§ÙŠÙ†ÙƒÙ‡ ÙƒÙ„ 
Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ù¾Ø±Ø¯Ø§Ø²Ø´ Ø´ÙˆØ¯ ØªØ§ ØªØ¹Ø¯Ø§Ø¯ Ø±Ø¯ÙŠÙâ€ŒÙ‡Ø§ÙŠ 
Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙŠ ØªÙˆÙ„ÙŠØ¯ Ø´ÙˆØ¯.
Ø¨Ø±Ø§ÙŠ Ø§Ù†ØªØ®Ø§Ø¨ ÙŠÙƒ Ø³Ø·Ø± ØªØµØ§Ø¯ÙÙŠ Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÙŠØ± Ø¹Ù…Ù„ 
Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ…:
    SELECT col
    FROM tab
    ORDER BY random()
    LIMIT 1;
4.3) Ù…Ù† Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù„ÙŠØ³ØªÙŠ Ø§Ø² Ø¬Ø¯Ø§ÙˆÙ„ ÙŠØ§ Ø³Ø§ÙŠØ± 
Ú†ÙŠØ²Ù‡Ø§ÙŠÙŠ ÙƒÙ‡ Ø¯Ø± psqlâ€Œ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ Ø±Ø§ Ø¨Ø¨ÙŠÙ†Ù…ØŸ
Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù„ÙŠØ³Øª Ø¬Ø¯Ø§ÙˆÙ„ Ø¯Ø³ØªÙˆØ±  dt\ Ø±Ø§ Ø¯Ø± Ø¨Ø±Ù†Ø§Ù…Ù‡ 
psqlâ€Œ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù„ÙŠØ³Øª ÙƒØ§Ù…Ù„ 
ÙØ±Ù…Ø§Ù†Ù‡Ø§ ?\ Ø±Ø§ Ø§Ø¬Ø±Ø§ ÙƒÙ†ÙŠØ¯. Ø±Ø§Ù‡ Ø¯ÙŠÚ¯Ø± Ø®ÙˆØ§Ù†Ø¯Ù† Ù…ØªÙ† 
Ø¨Ø±Ù†Ø§Ù…Ù‡ psqlâ€Œ Ø§Ø³Øª ÙƒÙ‡ Ø¯Ø± Ø´Ø§Ø®Ù‡ pgsql/src/bin/psql/describe.c 
â€ŒÙ‚Ø±Ø§Ø± Ø¯Ø§Ø±Ø¯. Ø§ÙŠÙ† ÙØ§ÙŠÙ„ Ø­Ø§ÙˆÙŠ ÙØ±Ø§Ù…ÙŠÙ† SQLÙŠÙŠ Ø§Ø³Øª ÙƒÙ‡ 
Ø®Ø±ÙˆØ¬ÙŠ Ø±Ø§ Ø¨Ø±Ø§ÙŠ  Ø¯Ø³ØªÙˆØ±Ø§ØªÙŠ ÙƒÙ‡ Ø¨Ø§ \â€ŒØ¯Ø± psql Ø´Ø±ÙˆØ¹ 
Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯ ØªÙˆÙ„ÙŠØ¯ Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯. Ø±Ø§Ù‡ Ø¯ÙŠÚ¯Ø± Ø§Ø¬Ø±Ø§ÙŠ psql Ø¨Ø§ 
Ú¯Ø²ÙŠÙ†Ù‡ E-â€ŒØ§Ø³Øª. Ø§ÙŠÙ†ÙƒØ§Ø± Ø¨Ø§Ø¹Ø« Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙƒÙ‡ psql Ù‚Ø¨Ù„ 
Ø§Ø² Ø§Ø¬Ø±Ø§ Ù‡Ø± Ø¯Ø³ØªÙˆØ± SQLâ€ŒÙ…ØªÙ†Ø§Ø¸Ø± Ø¢Ù† Ø±Ø§ Ù†Ø´Ø§Ù† Ø¯Ù‡Ø¯. 
PostgreSQLâ€ŒÙ‡Ù…Ú†Ù†ÙŠÙ† ÙŠÙƒ Ø¨Ø±Ù†Ø§Ù…Ù‡ SQLi Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù† 
Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¢Ù†  Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¯Ø§Ø®Ù„ÙŠ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
Ø±Ø§ Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙƒØ±Ø¯.
4.4) Ú†Ú¯ÙˆÙ†Ù‡ ÙŠÙƒ Ø³ØªÙˆÙ† Ø¬Ø¯ÙˆÙ„ Ø±Ø§ Ø­Ø°Ù Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯ØŸ Ú†Ú¯ÙˆÙ†Ù‡ 
Ù†ÙˆØ¹ Ø¯Ø§Ø¯Ù‡ Ø¢Ù† Ø±Ø§ Ø¹ÙˆØ¶ ÙƒÙ†ÙŠÙ…ØŸ
Ø­Ø°Ù ÙŠÙƒ Ø³ØªÙˆÙ† Ø¯Ø± ØªÙˆØ²ÙŠØ¹ 7.3 Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¯Ø³ØªÙˆØ± 
ALTER TABLE DROP COLUMN Ø§Ø¶Ø§ÙÙ‡ Ø´Ø¯Ù‡ Ø§Ø³Øª. Ø¯Ø± Ù†Ø³Ø®Ù‡â€ŒÙ‡Ø§ÙŠ 
Ù‚Ø¨Ù„ÙŠ Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÙŠØ± Ø¹Ù…Ù„ ÙƒÙ†ÙŠØ¯:
    BEGIN;
    LOCK TABLE old_table;
    SELECT ...  -- ØªÙ…Ø§Ù… Ø³ØªÙˆÙ†Ù‡Ø§ ØºÙŠØ± Ø§Ø² Ø³ØªÙˆÙ†ÙŠ ÙƒÙ‡ Ù…ÙŠâ€ŒØ®ÙˆØ§Ù‡ÙŠØ¯ Ø¢Ù† Ø±Ø§ Ø­Ø°Ù ÙƒÙ†ÙŠØ¯ Ø±Ø§ Ø¯Ø± Ø§ÙŠÙ†Ø¬Ø§ Ø¨ÙŠØ§ÙˆØ±ÙŠØ¯
    INTO TABLE new_table
    FROM old_table;
    DROP TABLE old_table;
    ALTER TABLE new_table RENAME TO old_table;
    COMMIT;
Ø¨Ø±Ø§ÙŠ Ø¹ÙˆØ¶ ÙƒØ±Ø¯Ù† Ù†ÙˆØ¹ Ø¯Ø§Ø¯Ù‡ ÙŠÙƒ Ø³ØªÙˆÙ† Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÙŠØ± Ø¹Ù…Ù„ 
ÙƒÙ†ÙŠØ¯:
    BEGIN;
    ALTER TABLE tab ADD COLUMN new_col new_data_type;
    UPDATE tab SET new_col = CAST(old_col AS new_data_type);
    ALTER TABLE tab DROP COLUMN old_col;
    COMMIT;
4.5) Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ ÙŠÙƒ Ø±Ø¯ÙŠÙØŒâ€Œ Ø¬Ø¯ÙˆÙ„ Ùˆ Ø®ÙˆØ¯ 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ú†Ù‚Ø¯Ø± Ø§Ø³ØªØŸ
Ù…Ø­Ø¯ÙˆØ¯ÙŠØªÙ‡Ø§ Ø¹Ø¨Ø§Ø±ØªÙ†Ø¯ Ø§Ø²:
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡             Ù†Ø§Ù…Ø­Ø¯ÙˆØ¯ (ØªØ§ 32 ØªØ±Ø§Ø¨Ø§ÙŠØª ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯)
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ ÙŠÙƒ Ø¬Ø¯ÙˆÙ„               32 ØªØ±Ø§Ø¨Ø§ÙŠØª
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§ Ù†Ø¯Ø§Ø²Ù‡ ÙŠÙƒ Ø±Ø¯ÙŠÙ              1.6 ØªØ±Ø§Ø¨Ø§ÙŠØª
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ ÙŠÙƒ ÙÙŠÙ„Ø¯                1 Ú¯ÙŠÚ¯Ø§ Ø¨Ø§ÙŠØª
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø±Ø¯ÙŠÙÙ‡Ø§ÙŠ ÙŠÙƒ Ø¬Ø¯ÙˆÙ„  Ù†Ø§ Ù…Ø­Ø¯ÙˆØ¯
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø³ØªÙˆÙ†Ù‡Ø§ÙŠ ÙŠÙƒ Ø¬Ø¯ÙˆÙ„ 	Ø¨Ø³ØªÙ‡ Ø¨Ù‡ Ù†ÙˆØ¹ Ø¬Ø¯ÙˆÙ„ Ø¨ÙŠÙ† 250 ØªØ§ 6000 
    Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯ÙŠØ³Ù‡Ø§ÙŠ ÙŠÙƒ Ø¬Ø¯ÙˆÙ„	Ù†Ø§ Ù…Ø­Ø¯ÙˆØ¯
Ø§Ù„Ø¨ØªÙ‡ Ø¯Ø± Ø­Ø§Ù„Øª Ù†Ø§Ù…Ø­Ø¯ÙˆØ¯ Ù†ÙŠØ² Ù…Ø§ Ù…Ø­Ø¯ÙˆØ¯ Ø¨Ù‡ Ø­Ø¬Ù… 
Ù‡Ø§Ø±Ø¯Ø¯ÙŠØ³Ùƒ Ùˆ ÙØ¶Ø§ÙŠ Ø­Ø§ÙØ¸Ù‡ Ø®ÙˆØ§Ù‡ÙŠÙ… Ø¨ÙˆØ¯. Ø¯Ø± ØµÙˆØ±ØªÙŠ 
Ú©Ù‡ Ù…Ù‚Ø§Ø¯ÙŠØ± Ù…Ø´Ø®Øµ Ø´Ø¯Ù‡ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù†Ø§Ù…Ø­Ø¯ÙˆØ¯ Ø¨Ù‡ ØµÙˆØ±Øª 
ØºÙŠØ± Ù…Ø¹Ù…ÙˆÙ„ÙŠ Ø¨Ø²Ø±Ùƒ Ø´ÙˆÙ†Ø¯ ÙƒØ§Ø±Ø§ÙŠÙŠ Ø³ÙŠØ³ØªÙ… ÙƒØ§Ù‡Ø´ 
Ø®ÙˆØ§Ù‡Ø¯ ÙŠØ§ÙØª.
Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ ÙƒØ±Ø¯Ù† Ø¬Ø¯Ø§ÙˆÙ„ Ø¨Ø§ Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø®ÙŠÙ„ÙŠ Ø¨Ø²Ø±Ú¯ 
Ù†ÙŠØ§Ø²ÙŠ Ù†ÙŠØ³Øª ÙƒÙ‡ Ø³ÙŠØ³ØªÙ… Ø¹Ø§Ù…Ù„ Ø§Ù…ÙƒØ§Ù† Ø§ÙŠØ¬Ø§Ø¯ 
ÙØ§ÙŠÙ„Ù‡Ø§ÙŠ Ø¨Ø²Ø±Ú¯ Ø±Ø§ Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ø¯. Ø¨Ù„ÙƒÙ‡ Ø¬Ø¯Ø§ÙˆÙ„ Ø®ÙŠÙ„ÙŠ 
Ø¨Ø²Ø±Ú¯ Ø¨Ù‡ ØµÙˆØ±Øª ÙØ§ÙŠÙ„Ù‡Ø§ÙŠÙŠ Ø¨Ù‡ Ø­Ø¬Ù… ÙŠÙƒ Ú¯ÙŠÚ¯Ø§ Ø¨Ø§ÙŠØª 
Ù†Ú¯Ø§Ù‡Ø¯Ø§Ø±ÙŠ Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯.
Ø§Ú¯Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø¨Ù„ÙˆÙƒÙ‡Ø§ÙŠ Ø¯Ø§Ø¯Ù‡ Ø±Ø§ Ø¨Ø±Ø§Ø¨Ø± 32 ÙƒÙŠÙ„Ùˆ Ø¨Ø§ÙŠØª 
Ù‚Ø±Ø§Ø± Ø¯Ù‡ÙŠÙ… Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø¬Ø¯ÙˆÙ„ Ùˆ Ø­Ø¯Ø§ÙƒØ«Ø± ØªØ¹Ø¯Ø§Ø¯ 
Ø³ØªÙˆÙ†Ù‡Ø§ 4 Ø¨Ø±Ø§Ø¨Ø± Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.
4.6) Ú†Ù‚Ø¯Ø± ÙØ¶Ø§ÙŠ Ø¯ÙŠØ³Ùƒ Ø³Ø®Øª Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ ÙƒØ±Ø¯Ù† 
Ø¯Ø§Ø¯Ù‡â€Œâ€ŒÙ‡Ø§ÙŠ ÙŠÙƒ ÙØ§ÙŠÙ„ Ù…ØªÙ†ÙŠ Ù…ÙˆØ±Ø¯ Ù†ÙŠØ§Ø² Ø§Ø³ØªØŸ
ÙŠÙƒ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ PostgreSQLâ€Œ ØªØ§ 5 Ø¨Ø±Ø§Ø¨Ø± ÙØ¶Ø§ÙŠÙŠ Ø±ÙˆÙŠ 
Ù‡Ø§Ø±Ø¯Ø¯ÙŠØ³Ùƒ Ø¨Ø±Ø§ÙŠ Ù†Ú¯Ø§Ù‡Ø¯Ø§Ø±ÙŠ ÙŠÙƒ ÙØ§ÙŠÙ„ Ù…ØªÙ†ÙŠ Ù†ÙŠØ§Ø² 
Ø¯Ø§Ø±Ø¯.
Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…Ø«Ø§Ù„ ÙŠÙƒ ÙØ§ÙŠÙ„ Ø¨Ø§ 100000 Ø®Ø· Ø±Ø§ Ø¯Ø± Ù†Ø¸Ø± 
Ø¨Ú¯ÙŠØ±ÙŠØ¯ ÙƒÙ‡ Ø¯Ø± Ù‡Ø± Ø®Ø· ÙŠÙƒ Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ùˆ ÙŠÙƒ ØªÙˆØ¶ÙŠØ­ 
Ù…ØªÙ†ÙŠ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª. ÙØ±Ø¶ ÙƒÙ†ÙŠØ¯ ÙƒÙ‡ Ø±Ø´ØªÙ‡ Ù…ØªÙ†ÙŠ Ø¨Ù‡ Ø·ÙˆØ± 
Ù…ØªÙˆØ³Ø· 20 Ø¨Ø§ÙŠØª Ø¨Ø§Ø´Ø¯. Ø§Ù†Ø¯Ø§Ø²Ù‡ ÙØ§ÙŠÙ„ Ø¨Ø±Ø§Ø¨Ø± 2.8 Ù…Ú¯Ø§ 
Ø¨Ø§ÙŠØª Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯ ÙˆÙ„ÙŠ PostgreSQL Ø¨Ø±Ø§ÙŠ Ù†Ú¯Ø§Ù‡Ø¯Ø§Ø±ÙŠ Ø§ÙŠÙ† 
ÙØ§ÙŠÙ„ Ø¨Ù‡ 6.4 Ù…Ú¯Ø§ Ø¨Ø§ÙŠØª Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ù†ÙŠØ§Ø² Ø®ÙˆØ§Ù‡Ø¯ Ø¯Ø§Ø´Øª.
    32 bytes: Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø³Ø±Ø§ÙŠÙ†Ø¯ Ù‡Ø± Ø®Ø· Ø¨Ù‡ Ø·ÙˆØ± ØªÙ‚Ø±ÙŠØ¨ÙŠ
    24 bytes: ÙŠÙƒ Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ùˆ ÙŠÙƒ Ø±Ø´ØªÙ‡ 24 Ø¨Ø§ÙŠØªÙŠ
   + 4 bytes: Ø§Ø´Ø§Ø±Ù‡ Ú¯Ø± Ø±ÙˆÙŠ ØµÙØ­Ù‡ Ø¨Ù‡ ÙŠÙƒ Ú†Ù†Ø¯ØªØ§ÙŠÙŠ
   ----------------------------------------
    60 bytes Ø¯Ø± Ù‡Ø± Ø±Ø¯ÙŠÙ

Ø§Ù†Ø¯Ø§Ø²Ù‡ ØµÙØ­Ø§Øª Ø¯Ø§Ø¯Ù‡ Ø¯Ø± PostgreSQL Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ 8 ÙƒÙŠÙ„Ùˆ Ø¨Ø§ÙŠØª Ø§Ø³Øª
   8192 ØªØ¹Ø¯Ø§Ø¯ Ø¨Ø§ÙŠØªâ€ŒÙ‡Ø§ Ø¯Ø± Ù‡Ø± ØµÙØ­Ù‡
   -------------------   =  136 ØªØ¹Ø¯Ø§Ø¯ Ø±Ø¯ÙŠÙâ€ŒÙ‡Ø§ Ø¯Ø± ÙŠÙƒ ØµÙØ­Ù‡ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡
     60  ØªØ¹Ø¯Ø§Ø¯ Ø¨Ø§ÙŠØªâ€ŒÙ‡Ø§ÙŠ Ù‡Ø± Ø±Ø¯ÙŠÙ

   100000  ØªØ¹Ø¯Ø§Ø¯ Ø±Ø¯ÙŠÙÙ‡Ø§
   --------------------  = ØªØ¹Ø¯Ø§Ø¯ØµÙØ­Ø§Øª Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡
      128 ØªØ¹Ø¯Ø§Ø¯ Ø±Ø¯ÙŠÙÙ‡Ø§ Ø¯Ø± Ù‡Ø± ØµÙØ­Ù‡

735 ØªØ¹Ø¯Ø§Ø¯ ØµÙØ­Ø§Øª * 8192 ØªØ¹Ø¯Ø§Ø¯ Ø¨Ø§ÙŠØªâ€ŒÙ‡Ø§ÙŠ Ù‡Ø± ØµÙØ­Ù‡  =  6,021,120 Ù…Ú¯Ø§ Ø¨Ø§ÙŠØª
Ø³Ø±Ø¨Ø§Ø± Ø§Ù†Ø¯ÙŠØ³Ù‡Ø§ ÙŠØ§ Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø§Ø² Ø§ÙŠÙ† Ù…Ù‚Ø¯Ø§Ø± ÙƒÙ…ØªØ± 
Ø§Ø³Øª ÙˆÙ„ÙŠ Ú†ÙˆÙ† Ø´Ø§Ù…Ù„ Ø®ÙˆØ¯ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ Ù‡Ù… Ù‡Ø³Øª Ù…Ù…Ú©Ù† Ø§Ø³Øª 
Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø¢Ù†Ù‡Ø§ Ù‡Ù… Ø¨Ø²Ø±Ú¯ Ø´ÙˆØ¯.
NULLÙ‡Ø§ Ø¨Ù‡ ØµÙˆØ±Øª bitmap Ø°Ø®ÙŠØ±Ù‡ Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯ Ùˆ Ø§Ø² Ø§ÙŠÙ†Ø±Ùˆ 
ÙØ¶Ø§ÙŠ Ø¨Ø³ÙŠØ§Ø± ÙƒÙ…ÙŠ Ø±Ø§ Ø§Ø´ØºØ§Ù„ Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯.
4.7) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¨ÙÙ‡Ù…Ù… ÙƒÙ‡ Ú†Ù‡ ÙƒØ§Ø±Ø¨Ø±Ø§Ù†ØŒâ€Œ 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ØŒâ€Œ Ù†Ù…Ø§ÙŠÙ‡ Ùˆ Ø¬Ø¯Ø§ÙˆÙ„ÙŠ Ø¯Ø± Ø³ÙŠØ³ØªÙ… ØªØ¹Ø±ÙŠÙ 
Ø´Ø¯Ù‡ Ø§Ø³ØªØŸ
psql ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ Ø¯Ø³ØªÙˆØ± Ø¯Ø§Ø±Ø¯ ÙƒÙ‡ Ø¨Ø§ \ Ø´Ø±ÙˆØ¹ 
Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯ Ùˆ Ø§ÙŠÙ† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø±Ø§ Ø¯Ø± Ø§Ø®ØªÙŠØ§Ø± Ù…Ø§ Ù‚Ø±Ø§Ø± 
Ù…ÙŠâ€ŒØ¯Ù‡Ù†Ø¯. Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø¢Ù†Ù‡Ø§ Ø¯Ø³ØªÙˆØ± ?\  Ø±Ø§ Ø§Ø¬Ø±Ø§ 
ÙƒÙ†ÙŠØ¯.  Ù‡Ù…Ú†Ù†ÙŠÙ† Ø¬Ø¯Ø§ÙˆÙ„ Ø³ÙŠØ³ØªÙ…ÙŠ ÙƒÙ‡ Ø¨Ø§ Ù†Ø§Ù… Ø¢Ù†Ù‡Ø§ pg_ 
â€ŒØ´Ø±ÙˆØ¹ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ù†ÙŠØ² Ø§ÙŠÙ† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø±Ø§ Ø¯Ø± Ø®ÙˆØ¯ 
Ø¯Ø§Ø±Ù†Ø¯. Ø§Ø¬Ø±Ø§ÙŠ Ø¨Ø±Ù†Ø§Ù…Ù‡ psql Ø¨Ø§ Ú¯Ø²ÙŠÙ†Ù‡ l-  Ù†ÙŠØ² Ø¨Ø§Ø¹Ø« 
Ù†Ø´Ø§Ù† Ø¯Ø§Ø¯Ù† Ù„ÙŠØ³Øª ØªÙ…Ø§Ù… Ù¾Ø§ÙŠÚ¯Ø§Ù‡Ù‡Ø§ÙŠ Ø¯Ø§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯.
Ù‡Ù…Ú†Ù†ÙŠÙ† ÙØ§ÙŠÙ„ pgsql/src/tutorial/syscat.source Ù†ÙŠØ² ÙØ±Ù…Ø§Ù†Ù‡Ø§ÙŠ 
SELECT ÙƒÙ‡ Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¢Ù† Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª 
Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø±Ø§ Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙƒØ±Ø¯ Ø´Ø±Ø­ Ø¯Ø§Ø¯Ù‡ Ø§Ø³Øª.
4.8) Ú†Ø±Ø§ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠ Ù…Ù† ÙƒÙ†Ø¯ Ø§Ø¬Ø±Ø§ Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯ ÙŠØ§ 
Ú†Ø±Ø§ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ù‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ØŸ
Ø¨Ù‡ Ø·ÙˆØ± Ù…Ø¹Ù…ÙˆÙ„ Ø¨Ø±Ø§ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÙŠâ€ŒØ´ÙˆØ¯. ØªÙ†Ù‡Ø§ Ø¯Ø± ØµÙˆØ±ØªÙŠ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙƒÙ‡ Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø¬Ø¯ÙˆÙ„ Ø§Ø² ÙŠÙƒ Ø§Ù†Ø¯Ø§Ø²Ù‡ 
Ø­Ø¯Ø§Ù‚Ù„ Ø¨Ø²Ø±Ú¯ØªØ± Ø¨Ø§Ø´Ø¯ Ùˆ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ù‡Ù… ÙÙ‚Ø· Ù‚Ø³Ù…ØªÙŠ Ø§Ø² 
Ø±Ø¯ÙŠÙâ€ŒÙ‡Ø§ÙŠ Ø¬Ø¯ÙˆÙ„ Ø±Ø§ Ø§Ù†ØªØ®Ø§Ø¨ ÙƒØ±Ø¯Ù‡ Ø¨Ø§Ø´Ø¯. Ø¯Ù„ÙŠÙ„ Ø§ÙŠÙ† 
ÙƒØ§Ø± Ø¢Ù† Ø§Ø³Øª ÙƒÙ‡ Ø¯Ø³ØªØ±Ø³ÙŠâ€ŒÙ‡Ø§ÙŠ ØªØµØ§Ø¯ÙÙŠ Ø¨Ù‡ Ù‡Ø§Ø±Ø¯Ø¯ÙŠØ³Ùƒ 
ÙƒÙ‡ Ø¨Ù‡ Ø®Ø§Ø·Ø± Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø§ÙŠØ¬Ø§Ø¯ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ù…Ù…ÙƒÙ† Ø§Ø³Øª 
Ø§Ø² Ø®ÙˆØ§Ù†Ø¯Ù† Ù…Ø³ØªÙ‚ÙŠÙ… Ø¬Ø¯ÙˆÙ„ ÙŠØ§ Ø®ÙˆØ§Ù†Ø¯Ù† ØªØ±ØªÙŠØ¨ÙŠ 
Ø±ÙƒÙˆØ±Ø¯Ù‡Ø§ ÙƒÙ†Ø¯ØªØ± Ø¨Ø§Ø´Ø¯.
Ø¨Ø±Ø§ÙŠ ØªØ¹ÙŠÙŠÙ† Ø§ÙŠÙ†ÙƒÙ‡ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ ÙŠØ§ 
Ø®ÙŠØ±ØŒ PostgreSQL Ø¨Ø§ÙŠØ¯ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¢Ù…Ø§Ø±ÙŠ Ø±Ø§ Ø¯Ø± Ù…ÙˆØ±Ø¯ ÙŠÙƒ 
Ø¬Ø¯ÙˆÙ„ Ø¨Ø¯Ø§Ù†Ø¯. Ø§ÙŠÙ† Ø§Ø·Ù„Ø§Ø¹Ø§Øª ØªÙˆØ³Ø· Ø¯Ø³ØªÙˆØ± ANALYZE Ùˆ VACUUM 
ANALYZE Ø¨Ù‡ Ø¯Ø³Øª Ù…ÙŠâ€ŒØ¢ÙŠØ¯. Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø§ÙŠÙ† 
Ø§Ø·Ù„Ø§Ø¹Ø§ØªØŒâ€Œ Ø¨Ù‡ÙŠÙ†Ù‡ Ø³Ø§Ø² Ø§Ø² ØªØ¹Ø¯Ø§Ø¯ Ø±Ø¯ÙŠÙâ€ŒÙ‡Ø§ÙŠ ÙŠÙƒ 
Ø¬Ø¯ÙˆÙ„ Ø§Ø·Ù„Ø§Ø¹ Ù¾ÙŠØ¯Ø§ Ù…ÙŠâ€ŒÙƒÙ†Ø¯ Ùˆ Ø¨Ù‡ØªØ± Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ 
ØªØ¹ÙŠÙŠÙ† ÙƒÙ†Ø¯ ÙƒÙ‡ Ø¢ÙŠØ§ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ ÙŠØ§ Ø®ÙŠØ±. 
Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¢Ù…Ø§Ø±ÙŠ Ù‡Ù…Ú†Ù†ÙŠÙ† Ø¨Ø±Ø§ÙŠ ØªØ¹ÙŠÙŠÙ† ØªØ±ØªÙŠØ¨ Ø§Ù„Ø­Ø§Ù‚ 
Ùˆ Ø±ÙˆØ´Ù‡Ø§ÙŠ Ø§Ù„Ø­Ø§Ù‚ Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ù‡ÙŠÙ†Ù‡ Ù†ÙŠØ² ÙƒØ§Ø±Ø¨Ø± Ø¯Ø§Ø±Ø¯. 
Ø¬Ù…Ø¹ Ø¢ÙˆØ±ÙŠ Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¢Ù…Ø§Ø±ÙŠ Ø¨Ø§ÙŠØ¯ Ø¨Ù‡ ØµÙˆØ±Øª Ø¯ÙˆØ±Ù‡â€ŒØ§ÙŠ 
Ù‡Ù…Ø²Ù…Ø§Ù† Ø¨Ø§ ØªØºÙŠÙŠØ± Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ø¬Ø¯ÙˆÙ„ Ø§Ù†Ø¬Ø§Ù… Ø´ÙˆØ¯.
Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø¨Ù‡ Ø·ÙˆØ± Ù…Ø¹Ù…ÙˆÙ„ Ù‡Ù…Ø±Ø§Ù‡ Ø¨Ø§ Ø¯Ø³ØªÙˆØ± ORDER BY 
Ø¨Ù‡ ÙƒØ§Ø± Ø¨Ø±Ø¯Ù‡ Ù†Ù…ÙŠâ€ŒØ´ÙˆÙ†Ø¯. Ø¨Ø±Ø§ÙŠ ÙŠÙƒ Ø¬Ø¯ÙˆÙ„ Ø¨Ø²Ø±Ú¯ ÙŠÙƒ 
Ù¾ÙŠÙ…Ø§ÙŠØ´ ØªØ±ØªÙŠØ¨ÙŠ Ù‡Ù…Ø±Ø§Ù‡ Ø¨Ø§ Ø¯Ø³ØªÙˆØ± Ù…Ø±ØªØ¨ Ø³Ø§Ø²ÙŠ Ø§Ø² Ø¨Ù‡ 
ÙƒØ§Ø± Ø¨Ø±Ø¯Ù† Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø³Ø±ÙŠØ¹ØªØ± Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯.
Ø§Ù…Ø§ Ø§Ú¯Ø± Ù‡Ù…Ø±Ø§Ù‡ Ø¨Ø§ ORDER BYâ€Œ Ø§Ø² LIMIT Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ 
Ø§ØºÙ„Ø¨ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ú†ÙˆÙ† ÙÙ‚Ø· 
Ù‚Ø³Ù…ØªÙŠ Ø§Ø² Ø¬Ø¯ÙˆÙ„ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ø¯Ø± Ø­Ù‚ÙŠÙ‚Øª Ù‡Ø± 
Ú†Ù†Ø¯ ØªÙˆØ§Ø¨Ø¹ ()MINâ€Œ Ùˆ ()MAX Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù†Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ ÙˆÙ„ÙŠ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠÙ… Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¯Ø³ØªÙˆØ± 
Ø²ÙŠØ± Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ùˆ Ø¯Ø³ØªÙˆØ± ORDER BY Ùˆ 
LIMITâ€Œ Ø¢Ù†Ù‡Ø§ Ø±Ø§ Ø¨Ù‡ Ø¯Ø³Øª Ø¢ÙˆØ±ÙŠÙ….
    SELECT col
    FROM tab
    ORDER BY col [ DESC ]
    LIMIT 1;
Ø§Ú¯Ø± Ø´Ù…Ø§ ÙÙƒØ± Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯ ÙƒÙ‡ Ø¨Ù‡ÙŠÙ†Ù‡ Ø³Ø§Ø² Ø³ÙŠØ³ØªÙ… Ø¯Ø± 
Ø§Ù†ØªØ®Ø§Ø¨ Ù¾ÙŠÙ…Ø§ÙŠØ´ ØªØ±ØªÙŠØ¨ÙŠ Ø§Ø´ØªØ¨Ø§Ù‡ ÙƒØ±Ø¯Ù‡ Ø§Ø³Øª Ø¨Ø§ 
Ø¯Ø³ØªÙˆØ± 'SET enable_seqscan TO 'off'  Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ø¨ÙŠÙ†ÙŠØ¯ Ø¢ÙŠØ§ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø¨Ø§Ø¹Ø« Ø§ÙØ²Ø§ÙŠØ´ Ø³Ø±Ø¹Øª 
Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ù‡Ù†Ú¯Ø§Ù…ÙŠ ÙƒÙ‡ Ø§Ø² Ø¹Ù„Ø§Ø¦Ù… ÙˆÙŠÚ˜Ù‡ 
Ù†Ø¸ÙŠØ± LIKE Ùˆ ~ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒÙƒÙ†ÙŠØ¯ ÙÙ‚Ø· Ø¯Ø± Ø¨Ø¹Ø¶ÙŠ 
Ø´Ø±Ø§ÙŠØ· Ø®Ø§ØµÙŠ ÙƒÙ‡ Ø¯Ø± Ø§ÙŠÙ†Ø¬Ø§ Ø°ÙƒØ± Ø´Ø¯Ù‡ Ø§Ø³Øª Ù…Ù…ÙƒÙ† Ø§Ø³Øª:
  Ø§Ø¨ØªØ¯Ø§ÙŠ Ø±Ø´ØªÙ‡ Ø¬Ø³ØªØ¬Ùˆ Ø¨Ø§ÙŠØ¯ Ø¨Ù‡ Ø·ÙˆØ± ØµØ±ÙŠØ­ Ù…Ø´Ø®Øµ 
  Ø¨Ø§Ø´Ø¯ Ø¨Ø±Ø§ÙŠ Ù…Ø«Ø§Ù„: 
  Ø¯Ø³ØªÙˆØ±Ø§Øª LIKE Ù†Ø¨Ø§ÙŠØ¯ Ø¨Ø§ Ø¹Ù„Ø§Ù…Øª % Ø´Ø±ÙˆØ¹ Ø´ÙˆÙ†Ø¯ 
  Ø§Ù„Ú¯ÙˆÙ‡Ø§ÙŠ Ù…Ù†Ø¸Ù…ÙŠ ÙƒÙ‡ Ø¨Ø§ ~ Ù…ÙŠâ€ŒØ§ÙŠØ¯ Ø­ØªÙ…Ø§Ù‹ Ø¨Ø§ÙŠØ¯ Ø¨Ø§ 
  Ø¹Ù„Ø§Ù…Øª ^ Ø´Ø±ÙˆØ¹ Ø´ÙˆØ¯ 
  Ø±Ø´ØªÙ‡ Ø¬Ø³ØªØ¬Ùˆ Ù†Ø¨Ø§ÙŠØ¯ Ø¨Ø§ ÙŠÙƒ Ù…Ø¬Ù…ÙˆØ¹Ù‡ Ø§Ø² 
  ÙƒØ§Ø±Ø§ÙƒØªØ±â€ŒÙ‡Ø§  Ù…Ø«Ù„ [a-e] Ø´Ø±ÙˆØ¹ Ø´ÙˆØ¯ 
  Ø¬Ø³ØªØ¬ÙˆÙ‡Ø§ÙŠ ØºÙŠØ±Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† Ù…Ø«Ù„  ILIKEâ€Œ Ùˆ *~ Ø§Ø² 
  Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯. Ø¯Ø± Ø¹ÙˆØ¶ Ø§Ø² 
  ØªÙˆØ§Ø¨Ø¹ Ù†Ù…Ø§ÙŠÙ‡â€ŒØ§ÙŠ ÙƒÙ‡ Ø¯Ø± Ù‚Ø³Ù…Øª 4.12 ØªÙˆØ¶ÙŠØ­ Ø¯Ø§Ø¯Ù‡ Ø´Ø¯ 
  Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯. 
  Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´ ÙØ±Ø¶ localeâ€Œ Ø¨Ø§ÙŠØ¯ Ø¯Ø± initdb Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯. 

4.9) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù†Ø­ÙˆÙ‡ Ø¨Ø±Ø±Ø³ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø±Ø§ 
ØªÙˆØ³Ø· Ø¨Ù‡ÙŠÙ†Ù‡â€ŒØ³Ø§Ø² Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ Ù…Ø´Ø§Ù‡Ø¯Ù‡ ÙƒÙ†Ù…ØŸ
Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ Ø¯Ø³ØªÙˆØ± EXPLAIN Ø±Ø§ Ù†Ú¯Ø§Ù‡ ÙƒÙ†ÙŠØ¯.
4.10) Ù†Ù…Ø§ÙŠÙ‡ R-treeâ€Œ Ú†ÙŠØ³ØªØŸ
Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ R-Tree  Ø¨Ø±Ø§ÙŠ Ø§Ù†Ø¯ÙŠØ³ ÙƒØ±Ø¯Ù† Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ 
ÙØ§ØµÙ„Ù‡â€ŒØ§ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯. ÙŠÙƒ Ù†Ù…Ø§ÙŠÙ‡ hash 
Ù†Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù†Ø¯ Ø¬Ø³ØªØ¬ÙˆÙ‡Ø§ÙŠ Ù…Ø­Ø¯ÙˆØ¯Ù‡â€ŒØ§ÙŠ Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… 
Ø¯Ù‡Ø¯. Ù†Ù…Ø§ÙŠÙ‡ "B-tree" Ù†ÙŠØ² Ø¨Ø±Ø§ÙŠ Ø§Ù†Ø¬Ø§Ù… Ø¬Ø³ØªØ¬ÙˆÙŠ 
Ù…Ø­Ø¯ÙˆØ¯Ù‡â€ŒØ§ÙŠ Ø¯Ø± ÙŠÙƒ Ø¬Ù‡Øª Ù‚Ø§Ø¨Ù„ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø³Øª. Ø§Ù…Ø§ 
R-Tree Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ú†Ù†Ø¯ Ø¨Ø¹Ø¯ÙŠ Ø±Ø§ Ù†ÙŠØ² 
Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ ÙƒÙ†Ø¯. Ø¨Ø±Ø§ÙŠ Ù…Ø«Ø§Ù„ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ú¯Ø± Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ 
R-treeâ€Œ Ø¨Ø±Ø§ÙŠ Ú¯ÙˆÙ†Ù‡ Point Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ Ø³Ø±Ø¹Øª 
Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ÙŠÙŠ Ù†Ø¸ÙŠØ± "select all points within a bounding 
rectangle" Ø¨Ù‡ Ù…Ø±Ø§ØªØ¨ Ø§ÙØ²Ø§ÙŠØ´ Ù…ÙŠâ€ŒÙŠØ§Ø¨Ø¯.
Ù…Ù‚Ø§Ù„Ù‡â€ŒØ§ÙŠ ÙƒÙ‡ Ø·Ø±Ø§Ø­ÙŠ R-tree Ø±Ø§ ØªÙˆØ¶ÙŠØ­ Ø¯Ø§Ø¯Ù‡ Ø§Ø³Øª 
Guttman, A. "R-trees: A Dynamic Index Structure for Spatial Searching." 
Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
R-treeâ€Œ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ Ú†Ù†Ø¯Ø¶Ù„Ø¹ÙŠÙ‡Ø§ Ùˆ Ú†Ù†Ø¯ ÙˆØ¬Ù‡ÙŠ Ø±Ø§ 
Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ ÙƒÙ†Ø¯. Ø¯Ø± ØªØ¦ÙˆØ±ÙŠ R-tree Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯ ØªØ¹Ø¯Ø§Ø¯ 
Ø¨Ø¹Ø¯Ù‡Ø§ÙŠ Ø¨Ø§Ù„Ø§ØªØ± Ø±ÙŠ Ù†ÙŠØ² Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ ÙƒÙ†Ø¯. Ø¯Ø± Ø¹Ù…Ù„ 
ØªÙˆØ³Ø¹Ù‡ R-treeâ€Œ Ù†ÙŠØ§Ø² Ø¨Ù‡ ÙƒØ§Ø± Ø¨ÙŠØ´ØªØ±ÙŠ Ø¯Ø§Ø±Ø¯.
4.11) Ø¨Ù‡ÙŠÙ†Ù‡ Ø³Ø§Ø² ØªÙƒÙˆÙŠÙ†ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ú†ÙŠØ³ØªØŸ (Genetic Query 
Optimizer)
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² GEQO Ø³Ø±Ø¹Øª Ø¨Ù‡ÙŠÙ†Ù‡ Ø³Ø§Ø²ÙŠ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø±Ø§ 
Ù‡Ù†Ú¯Ø§Ù…ÙŠÙƒÙ‡ ØªØ¹Ø¯Ø§Ø¯ Ø²ÙŠØ§Ø¯ÙŠ Ø¬Ø¯ÙˆÙ„ Ø±Ø§ Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² 
Ø§Ù„Ú¯ÙˆØ±ÙŠØªÙ… Ú˜Ù†ØªÙŠÙƒ Ø§Ù„Ø­Ø§Ù‚ Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ… Ø§ÙØ²Ø§ÙŠØ´ 
Ù…ÙŠâ€ŒØ¯Ù‡Ø¯.
4.12) Ú†Ú¯ÙˆÙ†Ù‡ Ø§Ø² Ø¹Ø¨Ø§Ø±Ø§Øª Ù…Ù†Ø¸Ù… Ø¨Ø±Ø§ÙŠ Ø¬Ø³ØªØ¬Ùˆ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
ÙƒÙ†Ù…ØŸ Ú†Ú¯ÙˆÙ†Ù‡ Ø¬Ø³ØªØ¬ÙˆÙŠÙŠ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù… ÙƒÙ‡ Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† 
Ù†Ø¨Ø§Ø´Ø¯ØŸ Ú†Ú¯ÙˆÙ†Ù‡ Ø¨Ø±Ø§ÙŠ ÙŠÙƒ Ø¬Ø³ØªØ¬ÙˆÙŠ ØºÙŠØ± Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† 
Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†Ù…ØŸ
Ø¨Ø±Ø§ÙŠ Ø¬Ø³ØªØ¬ÙˆÙŠ Ø¹Ø¨Ø§Ø±Øª Ù…Ù†Ø¸Ù… Ø§Ø² Ø¹Ù…Ù„Ú¯Ø± ~â€Œ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ…. Ø¨Ø±Ø§ÙŠ Ø¬Ø³ØªØ¬ÙˆÙŠ ØºÙŠØ± Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† Ø§Ø² 
Ø¹Ù…Ù„Ú¯Ø± *~ Ùˆ ÙŠØ§ ILIKEâ€Œ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒÙƒÙ†ÙŠÙ….
Ø±ÙˆØ´ Ø¯ÙŠÚ¯Ø± Ø§Ù†Ø¬Ø§Ù… Ø¬Ø³ØªØ¬ÙˆÙŠ ØºÙŠØ± Ø­Ø³Ø§Ø³ Ø¨Ù‡ Ù…ØªÙ† Ø¯Ø± Ø²ÙŠØ± 
Ù†Ø´Ø§Ù† Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª.
    SELECT *
    FROM tab
    WHERE lower(col) = 'abc';
Ø§ÙŠÙ† Ø§Ø² Ù†Ù…Ø§ÙŠÙ‡â€ŒÙ‡Ø§ÙŠ Ø§Ø³ØªØ§Ù†Ø¯Ø§Ø±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù†Ù…ÙŠâ€ŒÙƒÙ†Ø¯. ÙˆÙ„ÙŠ Ø´Ù…Ø§ Ù…ÙŠ ØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ø§ Ø¯Ø³ØªÙˆØ± Ø²ÙŠØ± ÙŠÙƒ 
Ù†Ù…Ø§ÙŠÙ‡ Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†ÙŠØ¯ Ùˆ Ø§Ø² Ø¢Ù† Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯.
    CREATE INDEX tabindex ON tab (lower(col));
4.13) IÚ†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¯Ø± ÙŠÙƒ Ø¯Ø±Ø®ÙˆØ§Ø³Øª ØªØ´Ø®ÙŠØµ Ø¯Ù‡Ù… 
ÙƒÙ‡ ÙŠÙƒ ÙÙŠÙ„Ø¯ NULLâ€Œ Ø§Ø³ØªØŸ
Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² ØªÙˆØ§Ø¨Ø¹ IS NULL Ùˆ IS NOT NULL Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠÙ… 
NULL Ø¨ÙˆØ¯Ù† ÙŠÙƒ ÙÙŠÙ„Ø¯ Ø±Ø§ ØªØ³Øª ÙƒÙ†ÙŠÙ….
4.14) ØªÙØ§ÙˆØª Ø¨ÙŠÙ† Ú¯ÙˆÙ†Ù‡â€ŒÙ‡Ø§ÙŠ Ù…Ø®ØªÙ„Ù character Ú†ÙŠØ³ØªØŸ
Type            Internal Name   Notes
--------------------------------------------------
VARCHAR(n)      varchar      Ø§Ù†Ø¯Ø§Ø²Ù‡ØŒ Ø­Ø¯Ø§ÙƒØ«Ø± Ø·ÙˆÙ„ Ø±Ø§ Ù†Ø´Ø§Ù† Ù…ÙŠ Ø¯Ù‡Ø¯ Ø¨Ø¯ÙˆÙ† Ø§Ø¶Ø§ÙÙ‡ Ø´Ø¯Ù† ÙƒØ§Ø±Ø§ÙƒØªØ± Ø§Ø¶Ø§ÙÙ‡
CHAR(n)            bpchar       ÙƒØ§Ø±Ø§ÙƒØªØ±Ù‡Ø§ÙŠ Ø¨Ù„Ø§Ù†Ùƒ Ø¨Ø±Ø§ÙŠ Ù¾Ø± Ø´Ø¯Ù† Ø·ÙˆÙ„ Ù…Ø´Ø®Øµ Ø´Ø¯Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯
TEXT                text            Ø­Ø¯Ø§ÙƒØ«Ø± Ø·ÙˆÙ„ Ø±Ø§ Ù…Ø´Ø®Øµ Ù†Ù…ÙŠâ€ŒÙƒÙ†Ø¯
BYTEA               bytea         Ø¢Ø±Ø§ÙŠÙ‡â€ŒØ§ÙŠ Ø§Ø² Ø¨Ø§ÙŠØª Ø¨Ø§ Ø·ÙˆÙ„ Ù…ØªØºÙŠØ±
"char"               char           ÙŠÙƒ ÙƒØ§Ø±Ø§ÙƒØªØ±
Ù†Ø§Ù… Ø¯Ø§Ø®Ù„ÙŠ Ú¯ÙˆÙ†Ù‡â€ŒÙ‡Ø§ Ø±Ø§ Ø¯Ø± system catalogue â€ŒÙˆ Ø¨Ø¹Ø¶ÙŠ Ø§Ø² 
Ù¾ÙŠØºØ§Ù…Ù‡Ø§ÙŠ Ø®Ø·Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¯ÙŠØ¯.
Ú†Ù‡Ø§Ø± Ú¯ÙˆÙ†Ù‡ Ø§ÙˆÙ„ Ù‡Ù…Ú¯ÙŠ Ø§Ø² Ù†ÙˆØ¹ varlena Ù‡Ø³ØªÙ†Ø¯ (4 Ø¨Ø§ÙŠØª 
Ø§ÙˆÙ„ Ø±ÙˆÙŠ Ø¯ÙŠØ³Ùƒ Ø·ÙˆÙ„ Ø±Ø§ Ù…Ø´Ø®Øµ Ù…ÙŠâ€ŒÙƒÙ†Ø¯ ÙƒÙ‡ Ø¨Ù‡ Ø¯Ù†Ø¨Ø§Ù„ 
Ø¢Ù† Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ Ù‚Ø±Ø§Ø± Ø¯Ø§Ø±Ù†Ø¯.)â€ŒØ¨Ù†Ø§Ø¨Ø±Ø§ÙŠÙ† ÙØ¶Ø§ÙŠ 
ÙˆØ§Ù‚Ø¹ÙŠ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø±ÙˆÙŠ Ø¯ÙŠØ³Ùƒ Ø§Ø² Ø§Ù†Ø¯Ø§Ø²Ù‡ ØªØ¹Ø±ÙŠÙ 
Ø´Ø¯Ù‡ Ø¨ÙŠØ´ØªØ± Ø§Ø³Øª. Ø§Ù…Ø§ Ø§ÙŠÙ† Ú¯ÙˆÙ†Ù‡â€ŒÙ‡Ø§ Ø±Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù† 
ÙØ´Ø±Ø¯Ù‡ ÙƒØ±Ø¯ ÙƒÙ‡ Ø§ÙŠÙ†ÙƒØ§Ø± Ø¨Ø§Ø¹Ø« Ù…ÙŠâ€ŒØ´ÙˆØ¯ ÙØ¶Ø§ÙŠ ÙƒÙ…ØªØ±ÙŠ 
Ø±ÙˆÙŠ Ø¯ÙŠØ³Ùƒ Ø§Ø´ØºØ§Ù„ ÙƒÙ†Ù†Ø¯.
Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ Ø±Ø´ØªÙ‡â€ŒÙ‡Ø§ÙŠ Ø¨Ø§ Ø·ÙˆÙ„ Ù…ØªØºÙŠØ±(VARCHAR(nâ€Œ 
Ø¨Ù‡ØªØ±ÙŠÙ† Ø§Ù†ØªØ®Ø§Ø¨ Ø§Ø³Øª. Ø¯Ø± Ø§ÙŠÙ† Ú¯ÙˆÙ†Ù‡ Ø­Ø¯Ø§ÙƒØ«Ø± Ø·ÙˆÙ„ 
Ø±Ø´ØªÙ‡ Ù…Ø­Ø¯ÙˆØ¯ Ø§Ø³Øª Ø¨Ø± Ø®Ù„Ø§Ù text ÙƒÙ‡ Ù‡ÙŠÚ† Ù…Ø­Ø¯ÙˆØ¯ÙŠØªÙŠ 
Ø±ÙˆÙŠ Ø­Ø¯Ø§ÙƒØ«Ø± Ø§Ù†Ø¯Ø§Ø²Ù‡ Ø±Ø´ØªÙ‡ Ù†Ù…ÙŠâ€ŒÚ¯Ø°Ø§Ø±Ø¯.(Ø¯Ø± Ø§ÙŠÙ† 
Ú¯ÙˆÙ†Ù‡ Ø­Ø¯Ø§ÙƒØ«Ø± Ø·ÙˆÙ„ ÙŠÙƒ Ø±Ø´ØªÙ‡ ÙŠÙƒ Ú¯ÙŠÚ¯Ø§ Ø¨Ø§ÙŠØª Ø®ÙˆØ§Ù‡Ø¯ 
Ø¨ÙˆØ¯)
Ú¯ÙˆÙ†Ù‡ (CHAR(n  Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ø¨Ø§ Ø·ÙˆÙ„ ÙŠÙƒØ³Ø§Ù† 
Ø§Ø³Øª.ÙŠÙƒ Ú¯ÙˆÙ†Ù‡â€ŒÙŠ (CHAR(n Ø¨Ø§ ÙƒØ§Ø±Ø§ÙƒØªØ±Ù‡Ø§ÙŠ Ø¨Ù„Ø§Ù†Ùƒ 
(Ø®Ø§Ù„ÙŠ) Ù¾Ø± Ù…ÙŠâ€ŒØ´ÙˆØ¯ ØªØ§ Ø¨Ù‡ Ø·ÙˆÙ„ Ù…Ø´Ø®Øµ Ø´Ø¯Ù‡ Ø¨Ø±Ø³Ø¯ Ø¯Ø± 
Ø­Ø§Ù„ÙŠÙƒÙ‡ Ú¯ÙˆÙ†Ù‡ VARCHAR ÙƒØ§Ø±Ø§ÙƒØªØ±Ù‡Ø§ Ø±Ø§ Ø¨Ù‡ Ù‡Ù…Ø§Ù† ØµÙˆØ±Øª 
ÙƒÙ‡ Ù‡Ø³ØªÙ†Ø¯ Ø°Ø®ÙŠØ±Ù‡ Ù…ÙŠâ€ŒÙƒÙ†Ø¯. Ú¯ÙˆÙ†Ù‡ BYTEA Ø¨Ø±Ø§ÙŠ Ø°Ø®ÙŠØ±Ù‡ 
Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ø¨Ø§ÙŠÙ†Ø±ÙŠ Ø§Ø³Øª Ø¨Ù‡ Ø®ØµÙˆØµ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ 
Ø¨Ø§ÙŠÙ†ØªØ±ÙŠ ÙƒÙ‡ Ø´Ø§Ù…Ù„ Ø¨Ø§ÙŠØªâ€ŒÙ‡Ø§ÙŠ NULL Ù‡Ø³ØªÙ†Ø¯. Ø§Ø² Ù†Ø¸Ø± 
ÙƒØ§Ø±Ø§ÙŠÙŠ ØªÙ…Ø§Ù… Ø§ÙŠÙ† Ú¯ÙˆÙ†Ù‡â€ŒÙ‡Ø§ ÙŠÙƒØ³Ø§Ù† Ù‡Ø³ØªÙ†Ø¯.
4.15.1) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ ÙŠØ§ 
Ø§ÙØ²Ø§ÙŠØ´ÙŠ Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†Ù…ØŸ
PostgreSQL Ø§Ø² Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÙŠ Ø³Ø±ÙŠØ§Ù„ Ù¾Ø´ØªÙŠØ¨Ø§Ù†ÙŠ Ù…ÙŠâ€ŒÙƒÙ†Ø¯. 
Ø¨Ø±Ø§ÙŠ Ø§ÙŠØ¬Ø§Ø¯ ÙŠÙƒ ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ (Ø¨Ø±Ø§ÙŠ Ø¯Ø§Ø´ØªÙ† ÙŠÙƒ ÙÙŠÙ„Ø¯ 
Ù…Ù†Ø­ØµØ± Ø¨Ù‡ ÙØ±Ø¯ Ø¨Ø±Ø§ÙŠ Ù‡Ø± Ø±Ø¯ÙŠÙ )Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÙŠØ± Ø¹Ù…Ù„ 
ÙƒÙ†ÙŠØ¯:
    CREATE TABLE person ( 
        id   SERIAL, 
        name TEXT 
    );
Ø¯Ø³ØªÙˆØ± Ø¨Ø§Ù„Ø§ Ø¨Ù‡ Ø·ÙˆØ± Ø§ØªÙˆÙ…Ø§ØªÙŠÚ© Ø¨Ù‡ Ø¯Ø³ØªÙˆØ± Ø²ÙŠØ± 
ØªØ¨Ø¯ÙŠÙ„ Ù…ÙŠâ€ŒØ´ÙˆØ¯:
    CREATE SEQUENCE person_id_seq;
    CREATE TABLE person ( 
        id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
        name TEXT 
    );
Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÙŠØ´ØªØ± Ø¨Ù‡ Ø±Ø§Ù‡Ù†Ù…Ø§ÙŠ Ø¯Ø³ØªÙˆØ± 
create_sequence  Ù…Ø±Ø§Ø¬Ø¹Ù‡ ÙƒÙ†ÙŠØ¯. Ù‡Ù…Ú†Ù†ÙŠÙ† Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§Ø² 
OIDâ€ŒÙ‡Ø± Ø±Ø¯ÙŠÙ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† ÙŠÙƒ Ù…Ù‚Ø¯Ø§Ø± Ù…Ù†Ø­ØµØ± Ø¨Ù‡ ÙØ±Ø¯ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯. Ø§Ù…Ø§ Ø¯Ø± Ø§ÙŠÙ† Ø­Ø§Ù„Øª Ø¨Ø±Ø§ÙŠ dump ÙƒØ±Ø¯Ù† Ùˆ 
reloadâ€ŒÙƒØ±Ø¯Ù† Ù¾Ø§ÙŠÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø¨Ø§ÙŠØ¯ Ø¯Ø³ØªÙˆØ± pg_dumpsâ€Œ Ø±Ø§ 
Ø¨Ø§ Ú¯Ø²ÙŠÙ†Ù‡ o-â€Œ Ø§Ø¬Ø±Ø§ ÙƒÙ†ÙŠØ¯.
4.15.2) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ù…Ù‚Ø¯Ø§Ø± ÙŠÙƒ Ø¯Ø±Ø¬ Ø³Ø±ÙŠØ§Ù„ÙŠ Ø±Ø§ 
Ø¨Ø¯Ø§Ù†Ù…ØŸ
ÙŠÙƒ Ø±ÙˆØ´ Ø¨Ø±Ø§ÙŠ Ú¯Ø±ÙØªÙ† Ù…Ù‚Ø¯Ø§Ø± Ø¨Ø¹Ø¯ÙŠ ÙŠÙƒ ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² ØªØ§Ø¨Ø¹ ()nextval Ø§Ø³Øª. Ø¯Ø± Ø´Ø¨Ù‡ ÙƒÙØ¯ÙŠ ÙƒÙ‡ Ø¯Ø± 
Ø§Ø¯Ø§Ù…Ù‡ Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª Ø±ÙˆØ´ Ø§Ù†Ø¬Ø§Ù… Ø§ÙŠÙ† ÙƒØ§Ø± Ù†Ø´Ø§Ù† Ø¯Ø§Ø¯Ù‡ 
Ø´Ø¯Ù‡ Ø§Ø³Øª:
    new_id = execute("SELECT nextval('person_id_seq')");
    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
Ø¨Ø§ Ø§Ø¬Ø±Ø§ Ø¯Ø³ØªÙˆØ± ÙÙˆÙ‚ Ù…Ù‚Ø¯Ø§Ø± Ø¬Ø¯ÙŠØ¯ Ø±Ø§ Ø¯Ø± Ù…ØªØºÙŠØ± new_id 
Ù†ÙŠØ² Ø®ÙˆØ§Ù‡ÙŠØ¯Ø¯Ø§Ø´Øª ÙƒÙ‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¢Ù† Ø±Ø§ Ø¯Ø± Ø¨Ù‚ÙŠÙ‡ 
Ø¯Ø±Ø®ÙˆØ§Ø³Øªâ€ŒÙ‡Ø§ÙŠ Ù†ÙŠØ² Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯. ØªÙˆØ¬Ù‡ Ø¯Ø§Ø´ØªÙ‡ 
Ø¨Ø§Ø´ÙŠØ¯ ÙƒÙ‡ Ù†Ø§Ù… SEQUENCEÙŠÙŠ ÙƒÙ‡ Ø¨Ù‡ Ø·ÙˆØ± Ø§ØªÙˆÙ…Ø§ØªÙŠÙƒ Ø§ÙŠØ¬Ø§Ø¯ 
Ø´Ø¯Ù‡ Ø§Ø³Øª Ø¨Ù‡ ØµÙˆØ±Øª table_serialcolumn_seqâ€Œ Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯. ÙƒÙ‡ 
Ø¯Ø± Ø¢Ù† tableâ€Œ Ù†Ø§Ù… Ø¬Ø¯ÙˆÙ„ Ùˆ serialcolumn Ù†Ø§Ù… ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ 
Ø¬Ø¯ÙˆÙ„ Ù…ÙŠâ€ŒØ¨Ø§Ø´Ø¯.
Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù…Ù‚Ø¯Ø§Ø± Ù†Ø³Ø¨Øª Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø¨Ù‡ ÙÙŠÙ„Ø¯ Ø³Ø±ÙŠØ§Ù„ 
Ù†ÙŠØ² Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø§Ø² ØªØ§Ø¨Ø¹ () currval Ø¨Ù‡ ØµÙˆØ±Øª Ø²ÙŠØ± 
Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒØ±Ø¯. 
    execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    new_id = execute("SELECT currval('person_id_seq')");
Ùˆ Ø³Ø±Ø§Ù†Ø¬Ø§Ù… Ø´Ù…Ø§ Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø§Ø² Ù…Ù‚Ø¯Ø§Ø± OID ÙƒÙ‡ Ø®Ø±ÙˆØ¬ÙŠ 
Ø¯Ø³ØªÙˆØ± INSERT  Ø§Ø³Øª Ø¨Ø±Ø§ÙŠ Ø¯ÙŠØ¯Ù† Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´ ÙØ±Ø¶ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ ÙƒÙ†ÙŠØ¯. Ù‡Ø± Ú†Ù†Ø¯ Ø§ÙŠÙ† Ø±ÙˆØ´ Ø¯Ø± Ù‡Ù…Ù‡ Ù¾Ù„ØªÙØ±Ù…Ù‡Ø§ 
Ù‚Ø§Ø¨Ù„ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†ÙŠØ³Øª Ùˆ Ø¶Ù…Ù† Ø§ÙŠÙ†ÙƒÙ‡ ÙÙŠÙ„Ø¯ oidâ€Œ Ø¨Ø¹Ø¯ 
Ø§Ø² Ø¹Ø¯Ø¯ 4 Ù…ÙŠÙ„ÙŠØ§Ø±Ø¯ Ø¯ÙˆØ¨Ø§Ø±Ù‡ ØµÙØ± Ù…ÙŠâ€ŒØ´ÙˆØ¯. Ø¯Ø± Ø²Ø¨Ø§Ù† 
perl Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² DBI Ùˆ DBD::Pg Ù…Ù‚Ø¯Ø§Ø± oidâ€ŒØ±Ø§ 
Ù…ÙŠâ€ŒØªÙˆØ§Ù†ÙŠØ¯ Ø¨Ù‡ Ø´ÙƒÙ„ Ø²ÙŠØ± Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙƒÙ†ÙŠØ¯: Ø¨Ø¹Ø¯ Ø§Ø² 
Ø§Ø¬Ø±Ø§ÙŠ ()st->execute$ Ù…Ù‚Ø¯Ø§Ø± oidâ€Œ Ø¯Ø± Ù…ØªØºÙŠØ±  sth->pg_oid_status$ 
Ø°Ø®ÙŠØ±Ù‡ Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.
4.15.3) Ø¢ÛŒØ§ ØªÙˆØ§Ø¨Ø¹ ()nextval Ùˆ ()currval Ù…Ù†Ø¬Ø± Ø¨Ù‡ Ø§ÛŒØ¬Ø§Ø¯ 
Ø´Ø±Ø§ÛŒØ· race Ø¨Ø±Ø§ÛŒ Ø³Ø§ÛŒØ± Ú©Ø§Ø±Ø¨Ø±Ø§Ù† Ù…ÛŒ Ø´ÙˆÙ†Ø¯ØŸ
Ø®ÛŒØ±ØŒ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø§ÛŒÙ† ØªÙˆØ§Ø¨Ø¹ Ø´Ø±Ø§ÛŒØ· race Ø±Ø§ Ø¨Ù‡ 
ÙˆØ¬ÙˆØ¯ Ù†Ù…ÛŒ Ø¢ÙˆØ±Ø¯.
4.15.4) Ú†Ø±Ø§ Ø§Ø¹Ø¯Ø§Ø¯ Ø³Ø±ÛŒØ§Ù„ÛŒ Ù…Ø±Ø¨ÙˆØ· Ø¨Ù‡ ØªØ±Ø§Ú©Ù†Ø´Ù‡Ø§ÛŒ abort 
Ø´Ø¯Ù‡ Ù…Ø¬Ø¯Ø¯Ø§Ù‹ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù†Ù…ÛŒ Ø´ÙˆØ¯ØŸ Ú†Ø±Ø§ Ø¨ÛŒÙ† Ø§Ø¹Ø¯Ø§Ø¯ 
Ø³Ø±ÛŒØ§Ù„ÛŒ ÛŒÚ© ÙØ§ØµÙ„Ù‡ Ø®Ø§Ù„ÛŒ Ø§ÛŒØ¬Ø§Ø¯ Ù…ÛŒ Ø´ÙˆØ¯ØŸ
Ø¨Ø±Ø§ÛŒ Ø¨Ø§Ù„Ø§ Ø¨Ø±Ø¯Ù† Ø§Ù…Ú©Ø§Ù† Ø§Ø¬Ø±Ø§ÛŒ Ù‡Ù…Ø²Ù…Ø§Ù† ØªØ±Ø§Ú©Ù†Ø´Ù‡Ø§ØŒ 
Ø§Ø¹Ø¯Ø§Ø¯ Ø³Ø±ÛŒØ§Ù„ÛŒ Ø¨Ù‡ Ù…Ø­Ø¶ Ø§Ø¬Ø±Ø§ÛŒ ØªØ±Ø§Ú©Ù†Ø´ Ø¨Ù‡ Ø¢Ù†Ù‡Ø§ 
ØªØ®ØµÛŒØµ Ù…ÛŒ ÛŒØ§Ø¨Ø¯ Ø¯Ø± Ø§ÛŒÙ† Ø­Ø§Ù„Øª Ø§Ú¯Ø± Ø¨Ø¹Ø¶ÛŒ Ø§Ø² 
ØªØ±Ø§Ú©Ù†Ø´Ù‡Ø§ abort Ø´ÙˆÙ†Ø¯ Ø¨ÛŒÙ† Ø§Ø¹Ø¯Ø§Ø¯ Ø³Ø±ÛŒØ§Ù„ÛŒ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ø´Ø¯Ù‡ ÛŒÚ© ÙØ§ØµÙ„Ù‡ Ø®Ø§Ù„ÛŒ Ø¨Ù‡ ÙˆØ¬ÙˆØ¯ Ù…ÛŒ Ø¢ÛŒØ¯.
4.16) OID Ùˆ TID Ú†Ù‡ Ù‡Ø³ØªÙ†Ø¯ØŸ
OID Ø±Ø§Ù‡ Ø­Ù„ PostgreSQL Ø¨Ø±Ø§ÛŒ Ø¯Ø§Ø´ØªÙ† ÛŒÚ© Ø´Ù†Ø§Ø³Ù‡ Ù…Ù†Ø­ØµØ± Ø¨Ù‡ 
ÙØ±Ø¯ Ø¨Ø±Ø§ÛŒ Ù‡Ø± Ø±Ø¯ÛŒÙ Ø§Ø³Øª. Ù‡Ø± Ø±Ø¯ÛŒÙ Ø¬Ø¯ÛŒØ¯ÛŒ Ú©Ù‡ Ø§ÛŒØ¬Ø§Ø¯ 
Ù…ÛŒ Ø´ÙˆØ¯ ÛŒÚ© OID Ù…Ù†Ø­ØµØ± Ø¨Ù‡ ÙØ±Ø¯ Ø¨Ù‡ Ø¢Ù† Ø§Ø®ØªØµØ§Øµ Ù…ÛŒ 
ÛŒØ§Ø¨Ø¯. ØªÙ…Ø§Ù… OIDÙ‡Ø§ÛŒÛŒ Ú©Ù‡ Ø¯Ø± Ø­ÛŒÙ† initdb Ø§ÛŒØ¬Ø§Ø¯ Ù…ÛŒ Ø´ÙˆÙ†Ø¯ 
Ø§Ø² 16384 Ú©Ù…ØªØ± Ù‡Ø³ØªÙ†Ø¯ Ùˆ OIDÙ‡Ø§ÛŒÛŒ Ø¨Ø¹Ø¯Ø§Ù‹ ØªÙˆÙ„ÛŒØ¯ Ù…ÛŒ Ø´ÙˆØ¯ 
Ø§Ø² Ø§ÛŒÙ† Ø¹Ø¯Ø¯ Ø¨Ø²Ø±Ú¯ØªØ± Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯. Ù†Ú©ØªÙ‡ Ù…Ù‡Ù… Ø¢Ù† Ø§Ø³Øª 
Ú©Ù‡ OIDÙ‡Ø§ Ù†Ù‡ ØªÙ†Ù‡Ø§ Ø¯Ø± ÛŒÚ© Ø¬Ø¯ÙˆÙ„ Ø´Ø¨ÛŒÙ‡ Ù†ÛŒØ³ØªÙ†Ø¯ Ø¨Ù„Ú©Ù‡ 
Ø¯Ø± Ú©Ù„ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù‡ÛŒÚ† Ø¯Ùˆ Ø±Ø¯ÛŒÙÛŒ Ø¯Ø§Ø±Ø§ÛŒ OID ÛŒÚ©Ø³Ø§Ù† 
Ù†Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯.
PostgreSQL Ø§Ø² OID Ø¯Ø± Ø³ÛŒØ³ØªÙ… Ø¯Ø§Ø®Ù„ÛŒ Ø®ÙˆØ¯ Ø¨Ø±Ø§ÛŒ Ø§ÛŒØ¬Ø§Ø¯ 
Ø§Ø±ØªØ¨Ø§Ø· Ø¨ÛŒÙ† Ø±Ø¯ÛŒÙÙ‡Ø§ÛŒ Ø¬Ø¯Ø§ÙˆÙ„ Ù…Ø®ØªÙ„Ù Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ 
Ú©Ù†Ø¯. ØªÙˆØµÛŒÙ‡ Ù…ÛŒ Ø´ÙˆØ¯ Ú©Ù‡ ÛŒÚ© Ø³ØªÙˆÙ† Ø§Ø² Ù†ÙˆØ¹ OID Ø¨Ø±Ø§ÛŒ 
Ø°Ø®ÛŒØ±Ù‡ Ø§ÛŒÙ† ÙÛŒÙ„Ø¯ Ø¯Ø± Ø¬Ø¯ÙˆÙ„ Ø§ÛŒØ¬Ø§Ø¯ Ú©Ù†ÛŒØ¯. Ø³Ø§Ø®ØªÙ† ÛŒÚ© 
Ù†Ù…Ø§ÛŒÙ‡ Ø¨Ø±Ø§ÛŒ Ø§ÛŒÙ† ÙÛŒÙ„Ø¯ Ø¨Ø§Ø¹Ø« Ø¯Ø³ØªØ±Ø³ÛŒ Ø³Ø±ÛŒØ¹ØªØ± Ø¨Ù‡ Ø¢Ù† 
Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.
ØªÙ…Ø§Ù… Ù¾Ø§ÛŒÚ¯Ø§Ù‡Ù‡Ø§ÛŒ Ø¯Ø§Ø¯Ù‡ Ø¯Ø± PostgreSQL Ø¨Ø±Ø§ÛŒ Ú¯Ø±ÙØªÙ† OID 
Ø¬Ø¯ÛŒØ¯ Ø§Ø² ÛŒÚ© Ù†Ø§Ø­ÛŒÙ‡ Ù…Ø±Ú©Ø²ÛŒ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ Ú©Ù†Ø¯. ÙˆÙ„ÛŒ 
Ø§Ú¯Ø± Ø¨Ø®ÙˆØ§Ù‡ÛŒÙ… OID Ø±Ø§ Ø¨Ù‡ Ø±ÙˆØ´ Ø¯ÛŒÚ¯Ø±ÛŒ Ø¨Ú¯ÛŒØ±ÛŒÙ… Ùˆ ÛŒØ§ 
Ø§ÛŒÙ†Ú©Ù‡ Ø¯Ø± Ø­ÛŒÙ† Ú©Ù¾ÛŒ Ú©Ø±Ø¯Ù† ÛŒÚ© Ø¬Ø¯ÙˆÙ„ Ø¨Ø®ÙˆØ§Ù‡ÛŒÙ… OIDÙ‡Ø§ÛŒ 
Ø§ØµÙ„ÛŒ Ø¢Ù† ØªØºÛŒÛŒØ± Ù†Ú©Ù†Ø¯ Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÛŒØ± Ù…ÛŒ ØªÙˆØ§Ù†ÛŒÙ… Ø¹Ù…Ù„ 
Ú©Ù†ÛŒÙ…:

        CREATE TABLE new_table(mycol int);
        SELECT oid AS old_oid, mycol INTO tmp_table FROM old_table;
        COPY tmp_table TO '/tmp/pgtable';
        COPY new_table WITH OIDS FROM '/tmp/pgtable';
        DROP TABLE tmp_table;
OID ÛŒÚ© Ø¹Ø¯Ø¯ ØµØ­ÛŒØ­ 4 Ø¨Ø§ÛŒØªÛŒ Ø§Ø³Øª Ùˆ Ø¨Ù†Ø§Ø¨Ø±Ø§ÛŒÙ† Ø­Ø¯Ø§Ú©Ø«Ø± 
Ù…Ù‚Ø¯Ø§Ø± Ø¢Ù† 4 Ù…ÛŒÙ„ÛŒØ§Ø±Ø¯ Ø®ÙˆØ§Ù‡Ø¯ Ø¨ÙˆØ¯ Ùˆ Ø¨Ø¹Ø¯ Ø§Ø² Ø¢Ù† 
Ù…Ù‚Ø¯Ø§Ø± Ø¢Ù† Ø³Ø±Ø±ÛŒØ² Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.  Ø§Ù„Ø¨ØªÙ‡ ØªØ§ Ú©Ù†ÙˆÙ† Ø¨Ø±Ø§ÛŒ  
Ú©Ø³ÛŒ  Ø§ÛŒÙ† Ø§ØªÙØ§Ù‚ Ù†ÛŒÙØªØ§Ø¯Ù‡ Ø§Ø³Øª Ùˆ ØªØµÙ…ÛŒÙ… Ú¯Ø±Ø¯Ø§Ù†Ø¯Ú¯Ø§Ù† 
PostgreSQL Ø¢Ù† Ø§Ø³Øª Ú©Ù‡ Ù‚Ø¨Ù„ Ø§Ø² Ø¢Ù†Ú©Ù‡ Ø§ÛŒÙ† Ø§ØªÙØ§Ù‚ Ø±Ø® Ø¯Ù‡Ø¯ 
Ø§ÛŒÙ† Ù…Ø´Ú©Ù„ Ø±Ø§ Ø¨Ø±Ø·Ø±Ù Ú©Ù†Ù†Ø¯.
TIDÙ‡Ø§ Ø¨Ø±Ø§ÛŒ Ø´Ù†Ø§Ø³Ø§ÛŒÛŒ Ù…Ø­Ù„ ÙÛŒØ²ÛŒÚ©ÛŒ ÛŒÚ© Ø±Ø¯ÛŒÙ Ø¨Ø± Ø§Ø³Ø§Ø³ 
Ø¨Ù„ÙˆÚ© Ùˆ Ø¢ÙØ³Øª Ù…ÛŒ Ø¨Ø§Ø´Ø¯. TIDÙ‡Ø§ Ø¨Ø¹Ø¯ Ø§Ø² ØªØºÛŒÛŒØ± Ù¾ÛŒØ¯Ø§ 
Ú©Ø±Ø¯Ù† ÛŒÚ© Ø±Ø¯ÛŒÙ Ùˆ ÛŒØ§ Ø¨Ø§Ø²Ø®ÙˆØ§Ù†ÛŒ Ø¢Ù† Ø¹ÙˆØ¶ Ù…ÛŒ Ø´ÙˆÙ†Ø¯. 
TIDÙ‡Ø§ ØªÙˆØ³Ø· Ù†Ù…Ø§ÛŒÙ‡ Ù‡Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ Ø´ÙˆÙ†Ø¯.
4.17) Ù…Ø¹Ù†ÙŠ Ø¨Ø¹Ø¶ÙŠ Ø§Ø² ØªØ±Ù…Ù‡Ø§ Ùˆ ÙƒÙ„Ù…Ø§ØªÙŠ ÙƒÙ‡ Ø¯Ø± PostgreSQLâ€Œ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒØ´ÙˆØ¯ Ú†ÙŠØ³ØªØŸ
Ù„ÛŒØ³Øª Ø¨Ø±Ø®ÛŒ Ø§Ø² ØªØ±Ù…Ù‡Ø§ Ùˆ Ú©Ù„Ù…Ø§ØªÛŒ Ú©Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ 
Ø´ÙˆÙ†Ø¯:
  table, relation, class :Ú©Ù„Ø§Ø³ØŒ Ø±Ø§Ø¨Ø·Ù‡ØŒ Ø¬Ø¯ÙˆÙ„
  row, record, tuple Ú†Ù†Ø¯ØªØ§ÛŒÛŒØŒ Ø±Ú©ÙˆØ±Ø¯ØŒ Ø±Ø¯ÛŒÙ
  column, field, attribute ØµÙØªØŒ ÙÛŒÙ„Ø¯ØŒ Ø³ØªÙˆÙ†
  retrieve, select Ø§Ù†ØªØ®Ø§Ø¨ØŒ Ø®ÙˆØ§Ù†Ø¯Ù†
  replace, updateØ¨Ù‡ Ø±ÙˆØ² Ú©Ø±Ø¯Ù†ØŒ Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ 
  append, insert Ø¯Ø±Ø¬ØŒ Ø§Ø¶Ø§ÙÙ‡ Ú©Ø±Ø¯Ù†
  OID, serial value Ù…Ù‚Ø¯Ø§Ø± Ø³Ø±ÛŒØ§Ù„
  portal, cursor 
  range variable, table name, table alias 
ÛŒÚ© Ù„ÛŒØ³Øª Ø¹Ù…ÙˆÙ…ÛŒ Ø§Ø² ØªØ±Ù…Ù‡Ø§ÛŒ Ù…ÙˆØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø¯Ø± 
Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø¯Ø± Ø¢Ø¯Ø±Ø³  
http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.htm 
ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
4.18) Ú†Ø±Ø§ Ù…Ù† Ø®Ø·Ø§ÙŠ "ERROR: Memory exhausted in AllocSetAlloc" 
Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø§ÛŒÙ† Ø®Ø·Ø§ Ø§Ø­ØªÙ…Ø§Ù„Ø§Ù‹ ÛŒØ§ Ø¨Ù‡ Ø®Ø§Ø·Ø± ØªÙ…Ø§Ù… Ø´Ø¯Ù† Ø­Ø§ÙØ¸Ù‡ 
Ù…Ø¬Ø§Ø²ÛŒ Ø³ÛŒØ³ØªÙ… Ø´Ù…Ø§Ø³Øª Ùˆ ÛŒØ§ Ø§ÛŒÙ†Ú©Ù‡ Ú©Ø±Ù†Ù„ Ø¨Ø±Ø§ÛŒ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù‡Ø§ Ø¯Ø± Ù…ÙˆØ±Ø¯ Ù…ÛŒØ²Ø§Ù† Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø­Ø§ÙØ¸Ù‡ 
Ù…Ø¬Ø§Ø²ÛŒ Ù…Ø­Ø¯ÙˆØ¯ÛŒØª Ø§Ø¹Ù…Ø§Ù„ Ú©Ø±Ø¯Ù‡ Ø§Ø³Øª. Ù‚Ø¨Ù„ Ø§Ø² Ø§Ø¬Ø±Ø§ÛŒ 
Ø¨Ø±Ù†Ø§Ù…Ù‡ Ø§ØµÙ„ÛŒ ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ø³ØªÙˆØ±Ø§Øª Ø²ÛŒØ± Ø±Ø§ Ø§Ø¬Ø±Ø§ Ú©Ù†ÛŒØ¯.
    ulimit -d 262144
    limit datasize 256m
Ø¨Ø³ØªÙ‡ Ø¨Ù‡ Ù†ÙˆØ¹ Ø´Ù„ ÛŒÚ©ÛŒ Ø§Ø² Ø§ÛŒÙ† Ø¯Ø³ØªÙˆØ±Ø§Øª Ù…Ù…Ú©Ù† Ø§Ø³Øª Ø¨Ø§ 
Ù…ÙˆÙÙ‚ÛŒØª Ø§Ø¬Ø±Ø§ Ø´ÙˆØ¯. Ø¨Ø§ Ø§Ø¬Ø±Ø§ÛŒ Ø¢Ù† Ø¯Ø³ØªÙˆØ± Ù…Ø­Ø¯ÙˆØ¯ÛŒØª 
Ø­Ø§ÙØ¸Ù‡ Ù…Ø¬Ø§Ø²ÛŒ Ø¨Ø±Ø§ÛŒ Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù‡Ø§ Ø¨Ø±Ø¯Ø§Ø´ØªÙ‡ Ø´Ø¯Ù‡ Ùˆ Ø¨Ø§ 
Ø§ÛŒÙ† Ú©Ø§Ø± Ø§Ø­ØªÙ…Ø§Ù„Ø§Ù‹ Ø¯Ø±Ø®ÙˆØ§Ø³ØªÛŒ Ú©Ù‡ Ù‚Ø¨Ù„Ø§Ù‹ Ø®Ø·Ø§ Ù…ÛŒ 
Ø¯Ø§Ø¯Ù‡ Ø§Ø³Øª Ø§Ø¬Ø±Ø§ Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯.
4.19) Ø§Ø² ÙƒØ¬Ø§ ØªØ´Ø®ÙŠØµ Ø¯Ù‡Ù… ÙƒÙ‡ ÙˆÙŠØ±Ø§ÙŠØ´ ÙŠØ§ Ù†Ø³Ø®Ù‡ 
PostgreSQLÙŠÙŠ ÙƒÙ‡ Ù…Ù† Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÙŠâ€ŒÙƒÙ†Ù… Ú†ÙŠØ³ØªØŸ
Ø¨Ø§ Ø§Ø¬Ø±Ø§ÛŒ Ø¯Ø³ØªÙˆØ± ()SELECT version
4.20) Ú†Ø±Ø§ Ø¯Ø± Ø­ÛŒÙ† Ø§Ø¬Ø±Ø§ÛŒ Ø¹Ù…Ù„ÛŒØ§Øª Ø±ÙˆÛŒ large-objectÙ‡Ø§ 
Ø®Ø·Ø§ÛŒ "invalid large obj descriptor"Ø¨Ù‡ ÙˆØ¬ÙˆØ¯ Ù…ÛŒ Ø¢ÛŒØ¯ØŸ
Ø´Ù…Ø§ Ø¨Ø§ÛŒØ¯ Ù‚Ø¨Ù„ Ø§Ø² Ø´Ø±ÙˆØ¹ Ø¯Ø³ØªÙˆØ±Ø§ØªÛŒ Ú©Ù‡ Ø¨Ø§ large-objectÙ‡Ø§ 
Ú©Ø§Ø± Ù…ÛŒ Ú©Ù†Ù†Ø¯ Ø§Ø² BEGIN  Ùˆ Ø¨Ø¹Ø¯ Ø§Ø² Ø¢Ù†Ù‡Ø§ Ù‡Ù… ÛŒÚ© END 
Ø¨Ú¯Ø°Ø§Ø±ÛŒØ¯. Ø¯Ø± Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± PostgreSQL Ù‡Ù†Ø¯Ù„ large-objectÙ‡Ø§ Ø±Ø§ 
Ø¯Ø± Ø²Ù…Ø§Ù† Ù†Ù‡Ø§ÛŒÛŒ Ø´Ø¯Ù† ØªØ±Ø§Ú©Ù†Ø´ (commitØ´Ø¯Ù†) Ù…ÛŒ Ø¨Ù†Ø¯Ø¯. Ø¨Ù‡ 
Ù‡Ù…ÛŒÙ† Ø¯Ù„ÛŒÙ„ Ø§ÙˆÙ„ÛŒÙ† ØªÙ„Ø§Ø´ Ø¨Ø±Ø§ÛŒ Ø§Ù†Ø¬Ø§Ù… Ù‡Ø± Ú©Ø§Ø±ÛŒ Ø¨Ø§ 
Ù‡Ù†Ø¯Ù„ Ù…Ù†Ø¬Ø± Ø¨Ù‡ Ø®Ø·Ø§ÛŒ invalid large obj descriptor Ø®ÙˆØ§Ù‡Ø¯ Ø´Ø¯. 
Ø¨Ø±Ø§ÛŒ Ø¬Ù„ÙˆÚ¯ÛŒØ±ÛŒ Ø§Ø² Ø§ÛŒÙ† Ø®Ø·Ø§ Ø­ØªÙ…Ø§Ù‹ Ø¨Ø§ÛŒØ¯ Ø§Ø² ÛŒÚ© 
ØªØ±Ø§Ú©Ù†Ø´ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ú©Ù†ÛŒØ¯. Ø§ÛŒÙ† Ú©Ø§Ø± Ù‡Ù…Ø§Ù†Ø·ÙˆØ± Ú©Ù‡ 
Ù‚Ø¨Ù„Ø§Ù‹ Ú¯ÙØªÙ‡ Ø´Ø¯ Ø¨Ø§ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ù‚Ø±Ø§Ø± Ø¯Ø§Ø¯Ù† BEGIN Ùˆ END 
Ø¯Ø± Ø§Ø¨ØªØ¯Ø§ Ùˆ Ø§Ù†ØªÙ‡Ø§ÛŒ Ø¯Ø³ØªÙˆØ±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ù…ÛŒ Ø´ÙˆØ¯.
Ø§Ú¯Ø± Ø§ÛŒÙ† Ø®Ø·Ø§ Ø±Ø§ Ø¯Ø± Ø­ÛŒÙ† Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² ÛŒÚ© Ø¯Ø±Ø§ÛŒÙˆØ± ODBC 
Ø¯Ø±ÛŒØ§ÙØª Ú©Ø±Ø¯ÛŒØ¯ Ø§Ø­ØªÙ…Ø§Ù„Ø§Ù‹ Ø¨Ø§ÛŒØ¯ Ø§ÛŒÙ† Ø¯Ø³ØªÙˆØ± Ø±Ø§ 
Ø§Ø¬Ø±Ø§ Ú©Ù†ÛŒØ¯: set auto-commit off
4.21) Ú†Ú¯ÙˆÙ†Ù‡ ÙŠÙƒ Ø³ØªÙˆÙ† Ø§ÙŠØ¬Ø§Ø¯ ÙƒÙ†Ù… ÙƒÙ‡ Ù…Ù‚Ø¯Ø§Ø± Ø²Ù…Ø§Ù† 
Ø¬Ø§Ø±ÙŠ Ø±Ø§ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…Ù‚Ø¯Ø§Ø± Ù¾ÙŠØ´â€ŒÙØ±Ø¶ Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ø¯ØŸ
Ø§Ø² CURRENT_TIMESTAMP  Ø§Ø³ØªÙØ§Ø¯Ù‡ Ú©Ù†ÛŒØ¯ Ø¯Ø± Ù…Ø«Ø§Ù„ Ø²ÛŒØ± Ù†Ø­ÙˆÙ‡ 
Ø§Ù†Ø¬Ø§Ù… Ø§ÛŒÙ† Ú©Ø§Ø± Ù†Ø´Ø§Ù† Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª:
CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );

4.22) Ú†Ø±Ø§ "Ø²ÙŠØ± Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠÙŠ" ÙƒÙ‡ Ø§Ø² IN Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù…ÙŠâ€ŒÙƒÙ†Ù†Ø¯ ÙƒÙ†Ø¯ Ù‡Ø³ØªÙ†Ø¯ØŸ
Ø¯Ø± Ù†Ø³Ø®Ù‡ Ù‡Ø§ÛŒ Ù‚Ø¨Ù„ Ø§Ø² 7.4 Ø¹Ù…Ù„ Ø§Ù„Ø­Ø§Ù‚ Ø²ÛŒØ± Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ùˆ 
Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø§ØµÙ„ÛŒ Ø¨Ù‡ Ø§ÛŒÙ† ØµÙˆØ±Øª Ø§Ù†Ø¬Ø§Ù… Ù…ÛŒ Ø´ÙˆØ¯ Ú©Ù‡ 
Ù†ØªØ§ÛŒØ¬ Ø¨Ù‡ Ø¯Ø³Øª Ø¢Ù…Ø¯Ù‡ Ø§Ø² Ø²ÛŒØ± Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨Ù‡ ØµÙˆØ±Øª 
ØªØ±ØªÛŒØ¨ÛŒ Ø¨Ø±Ø§ÛŒ Ù‡Ø± Ø±Ø¯ÛŒÙ Ø§Ø¹Ù…Ø§Ù„ Ù…ÛŒ Ø´ÙˆØ¯. Ø§Ú¯Ø± 
Ø²ÛŒØ±Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø±Ø¯ÛŒÙ Ù‡Ø§ÛŒ Ú©Ù…ÛŒ Ø±Ø§ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ø®Ø±ÙˆØ¬ÛŒ 
Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†Ø¯ Ùˆ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨ÛŒØ±ÙˆÙ†ÛŒ Ø±Ø¯ÛŒÙ Ù‡Ø§ÛŒ Ø²ÛŒØ§Ø¯ÛŒ Ø±Ø§ 
Ø´Ø§Ù…Ù„ Ø´ÙˆØ¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² IN Ø¨Ù‡ØªØ±ÛŒÙ† Ø±ÙˆØ´ Ø§Ø³Øª Ø¯Ø± ØºÛŒØ± 
Ø§ÛŒÙ†ØµÙˆØ±Øª Ø¨Ù‡ØªØ± Ø§Ø³Øª Ø§Ø² EXISTS Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯
    SELECT *
    FROM tab
    WHERE col IN (SELECT subcol FROM subtab);
Ø¨Ù‡:
    SELECT *
    FROM tab
    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
Ø¨Ø±Ø§ÛŒ Ø§Ø¬Ø±Ø§ÛŒ Ø³Ø±ÛŒØ¹ Ø§ÛŒÙ† Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨Ø§ÛŒØ¯ Ø¨Ø±Ø§ÛŒ Ø³ØªÙˆÙ† 
subcol Ù†Ù…Ø§ÛŒÙ‡ Ø§ÛŒØ¬Ø§Ø¯ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.
Ø¯Ø± Ù†Ø³Ø®Ù‡ Ù‡Ø§ÛŒ Ø¨Ø¹Ø¯ Ø§Ø² 7.4 IN Ø¨Ø±Ø§ÛŒ Ø§Ù„Ø­Ø§Ù‚ Ø§Ø² Ù‡Ù…Ø§Ù† 
ØªÚ©Ù†ÛŒÚ© Ù¾ÛŒÚ†ÛŒØ¯Ù‡ Ù…ÙˆØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø¯Ø± Ø¯Ø³ØªÙˆØ±Ø§Øª Ù…Ø¹Ù…ÙˆÙ„ÛŒ 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ Ú©Ù†Ø¯ Ùˆ Ø¨Ù†Ø§Ø¨Ø±Ø§ÛŒÙ† Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ø¢Ù† Ù†Ø³Ø¨Øª 
Ø¨Ù‡ EXISTS Ø§Ø±Ø¬Ø­ÛŒØª Ø¯Ø§Ø±Ø¯.
4.23) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ Ø§Ù„Ø­Ø§Ù‚ Ø®Ø§Ø±Ø¬ÙŠ (outer join) 
Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ù…ØŸ
Ø¨Ø±Ø§ÛŒ Ø§Ù†Ø¬Ø§Ù… Ø§Ù„Ø­Ø§Ù‚ Ø®Ø§Ø±Ø¬ÛŒ Ø¨Ù‡ Ø±ÙˆØ´ Ø²ÛŒØ± Ø¹Ù…Ù„ Ú©Ù†ÛŒØ¯:
    SELECT *
    FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
ÛŒØ§
    SELECT *
    FROM t1 LEFT OUTER JOIN t2 USING (col);
Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÛŒ Ø¨Ø§Ù„Ø§ t1.col , t2.col Ø±Ø§ Ø¨Ù‡ Ù‡Ù… Ø§Ù„Ø­Ø§Ù‚ Ù…ÛŒ 
Ú©Ù†Ø¯ Ùˆ Ù‡Ù…Ú†Ù†ÛŒÙ† Ø±Ø¯ÛŒÙÙ‡Ø§ÛŒ t1 Ú©Ù‡ Ù†Ø¸ÛŒØ± Ø¢Ù†Ù‡Ø§ Ø¯Ø± t2 
Ù†Ø¨ÙˆØ¯Ù‡ Ø§Ø³Øª Ø±Ø§ Ù†ÛŒØ² Ø¨Ø±Ù…ÛŒ Ú¯Ø±Ø¯Ø§Ù†Ø¯. Ø§Ú¯Ø± Ø§Ø² RIGHT 
Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ Ù†ØªÛŒØ¬Ù‡ Ø¨Ø± Ø¹Ú©Ø³ Ø§Ø³Øª. ÛŒØ¹Ù†ÛŒ Ø±Ø¯ÛŒÙÙ‡Ø§ÛŒ t2 
Ú©Ù‡ Ù†Ø¸ÛŒØ± Ø¢Ù†Ù‡Ø§ Ø¯Ø± t1 Ù†Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ù†Ø´Ø§Ù† Ù…ÛŒ Ø¯Ù‡Ø¯ Ùˆ Ø§Ú¯Ø± 
Ø§Ø² FULL Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ Ù†ØªÛŒØ¬Ù‡ Ù‡Ù… Ø´Ø§Ù…Ù„ Ø±Ø¯ÛŒÙÙ‡Ø§ÛŒ t1 
Ø§Ø³Øª  Ùˆ Ù‡Ù… Ø´Ø§Ù…Ù„ Ø±Ø¯ÛŒÙÙ‡Ø§ÛŒ t2. Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø§Ø² Ú©Ù„Ù…Ù‡ OUTER 
Ø§Ø®ØªÛŒØ§Ø±ÛŒ Ø§Ø³Øª Ú†Ø±Ø§ Ú©Ù‡ Ø§ÛŒÙ† Ú©Ù„Ù…Ù‡ Ø¨Ù‡ Ø·ÙˆØ± Ø¶Ù…Ù†ÛŒ 
Ø¯Ø³ØªÙˆØ±Ù‡Ø§ÛŒ LEFT, RIGHT, FULL ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯.
Ø¯Ø± Ù†Ø³Ø®Ù‡ Ù‡Ø§ÛŒ Ù‚Ø¨Ù„ÛŒ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ù…ÛŒ ØªÙˆØ§Ù†ÛŒÙ… Ø§Ù„Ø­Ø§Ù‚ 
Ø®Ø§Ø±Ø¬ÛŒ Ø±Ø§ Ø¨Ù‡ Ú©Ù…Ú© Ø¯Ø³ØªÙˆØ±Ù‡Ø§ÛŒ UNION, NOT IN Ø´Ø¨ÛŒÙ‡ Ø³Ø§Ø²ÛŒ 
Ú©Ù†ÛŒÙ…. Ø§ÛŒÙ† Ú©Ø§Ø± Ø¯Ø± Ù…Ø«Ø§Ù„ Ø²ÛŒØ± Ù†Ø´Ø§Ù† Ø¯Ø§Ø¯Ù‡ Ø´Ø¯Ù‡ Ø§Ø³Øª:

    SELECT tab1.col1, tab2.col2
    FROM tab1, tab2
    WHERE tab1.col1 = tab2.col1
    UNION ALL
    SELECT tab1.col1, NULL
    FROM tab1
    WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
    ORDER BY col1
4.24) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¯Ø±Ø®ÙˆØ§Ø³ØªÙ‡Ø§ÙŠÙŠ Ø§Ø² Ú†Ù†Ø¯ Ù¾Ø§ÙŠÚ¯Ø§Ù‡ 
Ø¯Ø§Ø¯Ù‡ ØªÙˆÙ„ÙŠØ¯ ÙƒØ±Ø¯ØŸ
Ø¯Ø± Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± Ø§ÛŒÙ† Ú©Ø§Ø± Ø§Ù…Ú©Ø§Ù† Ù¾Ø°ÛŒØ± Ù†ÛŒØ³Øª. PostgreSQL 
ÙÙ‚Ø· Ø§Ù…Ú©Ø§Ù† Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø§Ø² Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø§ÛŒ Ø±Ø§ Ù…ÛŒ 
Ø¯Ù‡Ø¯ Ú©Ù‡ Ø¯Ø± Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± Ø¨Ù‡ Ø¢Ù† Ù…ØªØµÙ„ Ø¨Ø§Ø´ÛŒØ¯ Ùˆ Ù†Ù…ÛŒ 
ØªÙˆØ§Ù† Ø¨Ù‡ Ø·ÙˆØ± Ù‡Ù…Ø²Ù…Ø§Ù† Ø§Ø² Ø¯Ùˆ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ú©Ø±Ø¯. Ø§Ù„Ø¨ØªÙ‡ ÛŒÚ© Ø¨Ø±Ù†Ø§Ù…Ù‡ Ú©Ø§Ø±Ø¨Ø±Ø¯ÛŒ Ø®ÙˆØ¯ Ù…ÛŒ ØªÙˆØ§Ù†Ø¯ Ø¨Ù‡ 
Ø·ÙˆØ± Ù‡Ù…Ø²Ù…Ø§Ù† Ø¯Ùˆ  Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ Ø±Ø§ Ù…ÙˆØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ù‚Ø±Ø§Ø± Ø¯Ø§Ø¯Ù‡ Ùˆ Ù†ØªØ§ÛŒØ¬ Ø±Ø§ Ø¨Ø§ Ù‡Ù… ØªØ±Ú©ÛŒØ¨ Ú©Ù†Ø¯ ÙˆÙ„ÛŒ Ù†Ù…ÛŒ 
ØªÙˆØ§Ù†Ø¯ Ø¯Ø± ÛŒÚ© Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨Ù‡ Ù‡Ø±  Ø¯Ùˆ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
Ø±Ø¬ÙˆØ¹ Ú©Ù†Ø¯.
4.25) Ú†Ú¯ÙˆÙ†Ù‡ Ø®Ø±ÙˆØ¬ÙŠ ÙŠÙƒ ØªØ§Ø¨Ø¹ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ø¯  Ú†Ù†Ø¯ Ø±Ø¯ÙŠÙ 
ÙŠØ§ Ø³ØªÙˆÙ† Ø¨Ø§Ø´Ø¯ØŸ
Ø¯Ø± Ù†Ø³Ø®Ù‡ 7.3 Ø®Ø±ÙˆØ¬ÛŒ ÛŒÚ© ØªØ§Ø¨Ø¹ Ù…ÛŒ ØªÙˆØ§Ù†Ø¯ Ú†Ù†Ø¯ Ø±Ø¯ÛŒÙ ÛŒØ§ 
Ú†Ù†Ø¯ Ø³ØªÙˆÙ† Ø¨Ø§Ø´Ø¯. Ø¨Ø±Ø§ÛŒ Ø¯ÛŒØ¯Ù†  Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ø¨ÛŒØ´ØªØ± Ø¨Ù‡ 
Ø³Ø§ÛŒØª Ø²ÛŒØ± Ù…Ø±Ø§Ø¬Ø¹Ù‡ 
Ú©Ù†ÛŒØ¯:http://techdocs.postgresql.org/guides/SetReturningFunctions  
4.26) Ø¯Ø± ØªÙˆØ§Ø¨Ø¹ PL/PgSQL Ú†Ø±Ø§ Ù†Ù…ÙŠâ€ŒØªÙˆØ§Ù† Ø¨Ø§ Ø§Ø·Ù…ÙŠÙ†Ø§Ù† 
Ø¬Ø¯Ø§ÙˆÙ„ Ù…ÙˆÙ‚Øª Ø±Ø§ Ø§ÙŠØ¬Ø§Ø¯ ÙŠØ§ Ø­Ø°Ù ÙƒØ±Ø¯ØŸ
PL/PgSQL Ù…Ø­ØªÙˆØ§ÛŒ ØªÙˆØ§Ø¨Ø¹ Ø±Ø§ Ø°Ø®ÛŒØ±Ù‡ (cache) Ù…ÛŒ Ú©Ù†Ø¯. ÛŒÚ© 
Ø§Ø«Ø± Ø¨Ø¯ Ø¬Ø§Ù†Ø¨ÛŒ Ø§ÛŒÙ† Ú©Ø§Ø± Ø¢Ù† Ø§Ø³Øª Ú©Ù‡ Ø§Ú¯Ø± Ø¯Ø± ØªØ§Ø¨Ø¹ Ø§Ø² 
ÛŒÚ© Ø¬Ø¯ÙˆÙ„ Ù…ÙˆÙ‚Øª Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ Ùˆ Ø¨Ø¹Ø¯Ø§Ù‹ Ø¢Ù† Ø¬Ø¯ÙˆÙ„ Ø­Ø°Ù 
Ùˆ ÛŒÚ© Ø¬Ø¯ÙˆÙ„ Ø¬Ø¯ÛŒØ¯ Ø¨Ù‡ Ø¬Ø§ÛŒ Ø¢Ù† Ø§ÛŒØ¬Ø§Ø¯ Ø´ÙˆØ¯ØŒ Ø¯Ø± 
ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ Ù…Ø¬Ø¯Ø¯  Ø¢Ù† ØªØ§Ø¨Ø¹ØŒ Ù…Ø­ØªÙˆØ§ÛŒ Ø°Ø®ÛŒØ±Ù‡ Ø´Ø¯Ù‡ 
ØªØ§Ø¨Ø¹  Ù‡Ù†ÙˆØ² Ø¨Ù‡ Ø¬Ø¯ÙˆÙ„ Ù‚Ø¯ÛŒÙ…ÛŒ Ø§Ø´Ø§Ø±Ù‡ Ù…ÛŒ Ú©Ù†Ø¯ Ùˆ 
Ø¨Ù†Ø§Ø¨Ø±Ø§ÛŒÙ† Ø§Ø¬Ø±Ø§ÛŒ ØªØ§Ø¨Ø¹ Ø¨Ø§ Ø§Ø´Ú©Ø§Ù„ Ù…ÙˆØ§Ø¬Ù‡ Ù…ÛŒ Ø´ÙˆØ¯. 
Ø±Ø§Ù‡ Ø­Ù„ Ø§ÛŒÙ† Ù…Ø´Ú©Ù„ Ø¢Ù† Ø§Ø³Øª Ú©Ù‡ Ø¨Ø±Ø§ÛŒ Ø¬Ø¯Ø§ÙˆÙ„ Ù…ÙˆÙ‚Øª Ø§Ø² 
Ø¯Ø³ØªÙˆØ± EXECUTE Ø§Ø³ØªÙØ§Ø¯Ù‡ Ø´ÙˆØ¯ Ú©Ù‡ Ø§ÛŒÙ† Ú©Ø§Ø± Ø³Ø¨Ø¨ Ù…ÛŒ Ø´ÙˆØ¯ 
Ú©Ù‡ Ø¯Ø±Ø®ÙˆØ§Ø³Øª Ø¨Ø±Ø§ÛŒ Ù‡Ø± Ø¨Ø§Ø± Ø§Ø¬Ø±Ø§ Ù…Ø¬Ø¯Ø¯Ø§Ù‹ Ù¾ÛŒÙ…Ø§ÛŒØ´ Ùˆ 
ØªÙØ³ÛŒØ± Ø´ÙˆØ¯.
4.27) Ú†Ù‡ Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ ØªÙƒØ±Ø§Ø± (replication) ÙˆØ¬ÙˆØ¯ 
Ø¯Ø§Ø±Ø¯ØŸ 
There are several master/slave replication options available. These allow only 
the master to make database changes and the slave can only do database reads. 
The bottom of http://gborg.PostgreSQL.org/genpage?replication_research lists 
them. A multi-master replication solution is being worked on at 
http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php.
4.28) Ú†Ù‡ Ú¯Ø²ÙŠÙ†Ù‡â€ŒÙ‡Ø§ÙŠÙŠ Ø¨Ø±Ø§ÙŠ Ø±Ù…Ø²Ù†Ú¯Ø§Ø±ÙŠ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯ØŸ 
  contrib/pgcrypto Ø´Ø§Ù…Ù„ ØªÙˆØ§Ø¨Ø¹ Ø±Ù…Ø²Ù†Ú¯Ø§Ø±ÛŒ Ø²ÛŒØ§Ø¯ÛŒ Ø§Ø³Øª Ú©Ù‡ 
  Ù…ÛŒ ØªÙˆØ§Ù† Ø§Ø² Ø¢Ù†Ù‡Ø§ Ø¯Ø± Ø¯Ø³ØªÙˆØ±Ø§Øª SQL Ø§Ø³ØªÙØ§Ø¯Ù‡ Ú©Ø±Ø¯.
  Ø¨Ø±Ø§ÛŒ Ø±Ù…Ø² Ú©Ø±Ø¯Ù† Ø§Ø±ØªØ¨Ø§Ø· Ø¨ÛŒÙ† client Ùˆ server ØŒ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ 
  Ø¯Ø§Ø¯Ù‡ Ø­ØªÙ…Ø§Ù‹ Ú¯Ø²ÛŒÙ†Ù‡ SSL Ø±Ø§ Ø¨Ø± Ø±ÙˆÛŒ Ù¾Ø§ÛŒÚ¯Ø§Ù‡ Ø¯Ø§Ø¯Ù‡ 
  ÙØ¹Ø§Ù„ Ú©Ù†ÛŒÙ….
  Ø¯Ø± Ù†Ø³Ø®Ù‡ 7.3 Ø¨Ù‡ Ø¨Ø¹Ø¯ Ú©Ù„Ù…Ø§Øª Ø¹Ø¨ÙˆØ± Ú©Ø§Ø±Ø¨Ø±Ø§Ù† Ø¨Ù‡ Ø·ÙˆØ± 
  Ø§ØªÙˆÙ…Ø§ØªÛŒÚ© Ø¨Ù‡ ØµÙˆØ±Øª Ø±Ù…Ø² Ø´Ø¯Ù‡ Ø°Ø®ÛŒØ±Ù‡ Ù…ÛŒ Ø´ÙˆØ¯ ÙˆÙ„ÛŒ 
  Ø¯Ø± Ù†Ø³Ø®Ù‡ Ù‡Ø§ÛŒ Ù‚Ø¨Ù„ÛŒ Ø¨Ø§ÛŒØ¯ Ú¯Ø²ÛŒÙ†Ù‡ PASSWORD_ENCRYPTION  Ø¯Ø± 
  ÙØ§ÛŒÙ„postgresql.conf ÙØ¹Ø§Ù„ Ú©Ù†ÛŒÙ…. 
  Ù…ÛŒ ØªÙˆØ§Ù† Ù¾Ø§ÛŒÚ¯Ø§Ù‡Ù‡Ø§ÛŒ Ø¯Ø§Ø¯Ù‡ Ø±Ø§ Ø±ÙˆÛŒ ÛŒÚ© ÙØ§ÛŒÙ„ Ø³ÛŒØ³ØªÙ… 
  Ø±Ù…Ø²Ø´Ø¯Ù‡ Ù†Ú¯Ø§Ù‡Ø¯Ø§Ø±ÛŒ Ú©Ø±Ø¯



Extending PostgreSQL
5.1) Ù…Ù† ÙŠÙƒ ØªØ§Ø¨Ø¹ Ù†ÙˆØ´ØªÙ‡â€ŒØ§Ù…. Ú†Ú¯ÙˆÙ†Ù‡ Ø¢Ù† Ø±Ø§ Ø¯Ø± psql 
Ø§Ø¬Ø±Ø§ ÙƒÙ†Ù…ØŸ Ú†Ø±Ø§ Ø¨Ø§ Ø§Ø¬Ø±Ø§ÙŠ Ø¢Ù† core dump Ù…ÙŠâ€ŒÚ¯ÙŠØ±Ù…ØŸ
Ø¯Ù„Ø§ÛŒÙ„ Ù…Ø®ØªÙ„ÙÛŒ Ù…ÛŒ ØªÙˆØ§Ù†Ø¯ Ø¨Ø§Ø¹Ø« Ø¨Ø±ÙˆØ² Ø§ÛŒÙ† Ù…Ø´Ú©Ù„ 
Ø´ÙˆØ¯. Ø§Ù…Ø§ Ù‚Ø¨Ù„ Ø§Ø² Ù‡Ù…Ù‡ ØªØ§Ø¨Ø¹ Ø®ÙˆØ¯ Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª Ø¬Ø¯Ø§ 
ØªØ³Øª Ú©Ù†ÛŒØ¯.
5.2) Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… Ø¯Ø± ØªÙˆÙ„ÙŠØ¯ Ù†ÙˆØ¹â€ŒÙ‡Ø§ Ùˆ ØªÙˆØ§Ø¨Ø¹ 
Ø¬Ø¯ÙŠØ¯ Ùˆ Ø¬Ø§Ù„Ø¨ Ø¨Ø±Ø§ÙŠ PostgreSQLâ€Œ Ù‡Ù…ÙƒØ§Ø±ÙŠ Ùˆ Ù…Ø´Ø§Ø±ÙƒØª 
Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ù…ØŸ
Ú©Ø¯ Ø®ÙˆØ¯ Ø±Ø§ Ø¨Ù‡ Ú¯Ø±ÙˆÙ‡ Ù¾Ø³ØªÛŒ pgsql-hackers   Ø§Ø±Ø³Ø§Ù„ Ú©Ù†ÛŒØ¯.
5.3)  Ú†Ú¯ÙˆÙ†Ù‡ Ù…ÙŠâ€ŒØªÙˆØ§Ù†Ù… ÙŠÙƒ ØªØ§Ø¨Ø¹ Ø¨Ù‡ Ø²Ø¨Ø§Ù† C Ø¨Ù†ÙˆÙŠØ³Ù… 
ÙƒÙ‡ Ø®Ø±ÙˆØ¬ÙŠ Ø¢Ù† ÙŠÙƒ â€Œtuple  (Ú†Ù†Ø¯ ØªØ§ÙŠÙŠ) Ø¨Ø§Ø´Ø¯ØŸ
Ø¯Ø± Ù†Ø³Ø®Ù‡ Ù‡Ø§ÛŒ 7.3 Ø¨Ù‡ Ø¨Ø¹Ø¯ ÛŒÚ© ØªØ§Ø¨Ø¹ Ù…ÛŒ ØªÙˆØ§Ù†Ø¯ ÛŒÚ© Ø¬Ø¯ÙˆÙ„ 
Ø±Ø§ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ø®Ø±ÙˆØ¬ÛŒ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†Ø¯. Ø§ÛŒÙ† ÙˆÛŒÚ˜Ú¯ÛŒ Ø¯Ø± 
ØªÙˆØ§Ø¨Ø¹ÛŒ Ú©Ù‡ Ø¨Ù‡ Ø²Ø¨Ø§Ù†Ù‡Ø§ÛŒ C Ùˆ PL/PgSQL Ù†ÙˆØ´ØªÙ‡ Ù…ÛŒ Ø´ÙˆÙ†Ø¯ 
Ø¨Ù‡ Ø·ÙˆØ± Ú©Ø§Ù…Ù„ ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯. Ø±Ø§Ù‡Ù†Ù…Ø§ Ø¨Ø±Ù†Ø§Ù…Ù‡ Ù†ÙˆÛŒØ³Ø§Ù† 
Ø±Ø§ Ù…Ø·Ø§Ù„Ø¹Ù‡ Ú©Ù†ÛŒØ¯. ÛŒÚ© Ù…Ø«Ø§Ù„ Ø§Ø² Ù†Ø­ÙˆÙ‡ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†Ø¯Ù† ÛŒÚ© 
Ø¬Ø¯ÙˆÙ„ Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ø®Ø±ÙˆØ¬ÛŒ Ø¯Ø± contrib/tablefunc Ø¢Ù…Ø¯Ù‡ Ø§Ø³Øª.
5.4) Ù…Ù† ÙŠÙƒ ÙØ§ÙŠÙ„ Ù…Ù†Ø¨Ø¹ Ø±Ø§ Ø¹ÙˆØ¶ ÙƒØ±Ø¯Ù‡ Ø§Ù… Ú†Ø±Ø§ Ø¯Ø± 
Ø¹Ù…Ù„ÙŠØ§Øª ÙƒØ§Ù…Ù¾ÙŠÙ„ Ù…Ø¬Ø¯Ø¯ Ø¢Ù† ØªØºÙŠÙŠØ± Ø¯ÙŠØ¯Ù‡ Ù†Ù…ÙŠâ€ŒØ´ÙˆØ¯ØŸ
Makefile Ø¨Ø±Ø§ÛŒ ÙØ§ÛŒÙ„Ù‡Ø§ÛŒ include Ø´Ø¯Ù‡ ÙˆØ§Ø¨Ø³ØªÚ¯ÛŒÙ‡Ø§ Ø±Ø§ Ø¨Ù‡ 
Ø¯Ø±Ø³ØªÛŒ Ù†Ø´Ø§Ù† Ù†Ù…ÛŒ Ø¯Ù‡Ø¯. Ø¨Ø±Ø§ÛŒ Ø§Ø·Ù…ÛŒÙ†Ø§Ù† Ø§Ø² Ø§ÛŒÙ†Ú©Ù‡ 
ÙØ§ÛŒÙ„ÛŒ Ú©Ù‡ Ø¹ÙˆØ¶ Ú©Ø±Ø¯Ù‡ Ø§ÛŒØ¯ Ø­ØªÙ…Ø§Ù‹ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ú©Ø§Ù…Ù¾ÛŒÙ„ Ù…ÛŒ 
Ø´ÙˆØ¯ Ø¯Ø³ØªÙˆØ± make clean Ø±Ø§ Ø§Ø¬Ø±Ø§ Ú©Ù†ÛŒØ¯. Ø§Ú¯Ø± Ø§Ø² Ú©Ø§Ù…Ù¾ÛŒÙ„Ø± 
gcc Ø§Ø³ØªÙØ§Ø¯Ù‡ Ù…ÛŒ Ú©Ù†ÛŒØ¯ Ù…ÛŒ ØªÙˆØ§Ù†ÛŒØ¯ Ø§Ø² Ú¯Ø²ÛŒÙ†Ù‡ 
enable-depend-- Ø¯Ø± Ù…ÙˆÙ‚Ø¹ Ø§Ø¬Ø±Ø§ÛŒ Ø¨Ø±Ù†Ø§Ù…Ù‡ configure Ø§Ø³ØªÙØ§Ø¯Ù‡ 
Ú©Ù†ÛŒØ¯ Ø§ÛŒÙ† Ú¯Ø²ÛŒÙ†Ù‡ Ø¨Ø§Ø¹Ø« Ù…ÛŒ Ø´ÙˆØ¯ Ú©Ù‡ ÙˆØ§Ø¨Ø³ØªÚ¯ÛŒÙ‡Ø§ Ø¨Ù‡ 
Ø·ÙˆØ± Ø§ØªÙˆÙ…Ø§ØªÛŒÚ© ØªÙˆÙ„ÛŒØ¯ Ø´ÙˆØ¯.