From 56650f3fda5dcab57377eef95df55a036f0f122f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 14 Feb 2003 14:05:52 +0000 Subject: [PATCH] Update FAQ's in head and 7.3.X. --- doc/FAQ | 42 +++++++++++++++++--------------- doc/FAQ_AIX | 2 +- doc/FAQ_DEV | 7 +++--- doc/FAQ_HPUX | 2 +- doc/FAQ_IRIX | 2 +- doc/FAQ_MSWIN | 2 +- doc/FAQ_SCO | 2 +- doc/FAQ_Solaris | 2 +- doc/FAQ_russian | 43 ++++++++++++++++----------------- doc/src/FAQ/FAQ.html | 47 +++++++++++++++++------------------- doc/src/FAQ/FAQ_DEV.html | 8 +++--- doc/src/FAQ/FAQ_russian.html | 44 ++++++++++++++++----------------- 12 files changed, 99 insertions(+), 104 deletions(-) diff --git a/doc/FAQ b/doc/FAQ index fe501354485..e405058122a 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -1,15 +1,15 @@ Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Tue Dec 17 23:56:27 EST 2002 + Last updated: Fri Feb 14 09:03:00 EST 2003 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) The most recent version of this document can be viewed at - http://www.PostgreSQL.org/docs/faq-english.html. + http://www.ca.PostgreSQL.org/docs/faq-english.html. Platform-specific questions are answered at - http://www.PostgreSQL.org/users-lounge/docs/faq.html. + http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html. _________________________________________________________________ General Questions @@ -242,11 +242,11 @@ Unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net. A list of commercial support companies is available at - http://www.PostgreSQL.org/users-lounge/commercial-support.html. + http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html. 1.7) What is the latest release? - The latest release of PostgreSQL is version 7.3.1. + The latest release of PostgreSQL is version 7.3.2. We plan to have major releases every four months. @@ -255,7 +255,7 @@ Several manuals, manual pages, and some small test examples are included in the distribution. See the /doc directory. You can also browse the manual online at - http://www.PostgreSQL.org/users-lounge/docs/. + http://www.ca.PostgreSQL.org/users-lounge/docs/. There are two PostgreSQL books available online at http://www.PostgreSQL.org/docs/awbook.html and @@ -586,10 +586,6 @@ that PostgreSQL has a limit on the number of allowed backend processes is so your system won't run out of resources. - In PostgreSQL versions prior to 6.5, the maximum number of backends - was 64, and changing it required a rebuild after altering the - MaxBackendId constant in include/storage/sinvaladt.h. - 3.9) What is in the pgsql_tmp directory? This directory contains temporary files generated by the query @@ -749,6 +745,10 @@ ORDER BY col [ DESC ] LIMIT 1; + If you believe the optimizer is incorrect in choosing a sequential + scan, use SET enable_seqscan TO 'off' and run tests to see if an index + scan is indeed faster. + When using wild-card operators such as LIKE or ~, indexes can only be used in certain circumstances: * The beginning of the search string must be anchored to the start @@ -820,10 +820,10 @@ Type Internal Name Notes -------------------------------------------------- -"char" char 1 character -CHAR(n) bpchar blank padded to the specified fixed length VARCHAR(n) varchar size specifies maximum length, no padding +CHAR(n) bpchar blank padded to the specified fixed length TEXT text no specific upper limit on length +"char" char one character BYTEA bytea variable-length byte array (null-byte safe) You will see the internal name when examining system catalogs and in @@ -834,13 +834,15 @@ BYTEA bytea variable-length byte array (null-byte safe) space used is slightly greater than the declared size. However, these data types are also subject to compression or being stored out-of-line by TOAST, so the space on disk might also be less than expected. - - CHAR(n) is best when storing strings that are usually the same length. - VARCHAR(n) is best when storing variable-length strings but it limits + VARCHAR(n) is best when storing variable-length strings and it limits how long a string can be. TEXT is for strings of unlimited length, - maximum 1 gigabyte. BYTEA is for storing binary data, particularly - values that include NULL bytes. These types have similar performance - characteristics. + with a maximum of one gigabyte. + + CHAR(n) is for storing strings that are all the same length. CHAR(n) + pads with blanks to the specified length, while VARCHAR(n) only stores + the characters supplied. BYTEA is for storing binary data, + particularly values that include NULL bytes. These types have similar + performance characteristics. 4.15.1) How do I create a serial/auto-incrementing field? @@ -1009,8 +1011,8 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP ); FROM tab WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); - For this to be fast, subcol should be an indexed column. We hope to - fix this limitation in a future release. + For this to be fast, subcol should be an indexed column. This + preformance problem will be fixed in 7.4. 4.23) How do I perform an outer join? diff --git a/doc/FAQ_AIX b/doc/FAQ_AIX index c5e78a3bc82..309f703433b 100644 --- a/doc/FAQ_AIX +++ b/doc/FAQ_AIX @@ -1,5 +1,5 @@ From: Zeugswetter Andreas -$Date: 2002/12/18 20:39:31 $ +$Date: 2003/02/14 14:05:51 $ On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc (vac.C 5.0.1) passes all regression tests. Other versions of OS and diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index a2aae877822..ae9d7fbf88f 100644 --- a/doc/FAQ_DEV +++ b/doc/FAQ_DEV @@ -1,7 +1,7 @@ Developer's Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Tue Nov 5 16:52:46 EST 2002 + Last updated: Fri Feb 14 08:59:10 EST 2003 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) @@ -643,9 +643,8 @@ List *i, *list; return the i'th element in list. lconsi, ... - There are integer versions of these: lconsi, lappendi, nthi. - List's containing integers instead of Node pointers are used to - hold list of relation object id's and other integer quantities. + There are integer versions of these: lconsi, lappendi, etc. + Also versions for OID lists: lconso, lappendo, etc. You can print nodes easily inside gdb. First, to disable output truncation when you use the gdb print command: diff --git a/doc/FAQ_HPUX b/doc/FAQ_HPUX index d3a5ec54aa1..df7e2171061 100644 --- a/doc/FAQ_HPUX +++ b/doc/FAQ_HPUX @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3 HP-UX Specific TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ ======================================================= -last updated: $Date: 2002/12/18 20:39:31 $ +last updated: $Date: 2003/02/14 14:05:51 $ current maintainer: Tom Lane (tgl@sss.pgh.pa.us) original author: Tom Lane (tgl@sss.pgh.pa.us) diff --git a/doc/FAQ_IRIX b/doc/FAQ_IRIX index a8a3db69d32..1fc5491f7b9 100644 --- a/doc/FAQ_IRIX +++ b/doc/FAQ_IRIX @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL IRIX Specific TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ ======================================================= -last updated: $Date: 2002/12/18 20:39:31 $ +last updated: $Date: 2003/02/14 14:05:52 $ current maintainer: Luis Amigo (lamigo@atc.unican.es) original author: Luis Amigo (lamigo@atc.unican.es) diff --git a/doc/FAQ_MSWIN b/doc/FAQ_MSWIN index b6a7a4ea131..635ef2673d3 100644 --- a/doc/FAQ_MSWIN +++ b/doc/FAQ_MSWIN @@ -1,6 +1,6 @@ How to install PostgreSQL on Windows ==================================== -$Date: 2002/12/18 20:39:31 $ +$Date: 2003/02/14 14:05:52 $ 1. Install the latest Cygwin package, available at http://cygwin.com/. The Cygwin package provides a UNIX-like API on top of the Win32 diff --git a/doc/FAQ_SCO b/doc/FAQ_SCO index cfae9c34db4..3d9f8db9e3a 100644 --- a/doc/FAQ_SCO +++ b/doc/FAQ_SCO @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3 SCO UnixWare and OpenServer specific to be read in conjunction with the installation instructions ============================================================ -last updated: $Date: 2002/12/18 20:39:31 $ +last updated: $Date: 2003/02/14 14:05:52 $ current maintainer: Billy G. Allie (Bill.Allie@mug.org) original author: Andrew Merrill (andrew@compclass.com) diff --git a/doc/FAQ_Solaris b/doc/FAQ_Solaris index 2d001ab4d54..77751aef8c1 100644 --- a/doc/FAQ_Solaris +++ b/doc/FAQ_Solaris @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL Sun Solaris specific to be read in conjunction with the installation instructions ============================================================ -last updated: $Date: 2002/12/18 20:39:31 $ +last updated: $Date: 2003/02/14 14:05:52 $ current maintainer: Peter Eisentraut diff --git a/doc/FAQ_russian b/doc/FAQ_russian index b0dda390248..be940f77ea4 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -1,7 +1,7 @@ Otvety na chasto zadavaemye voprosy po PostgreSQL - Data poslednego obnovleniya: CHetverg 5 Dekabrya 00:47:26 EDT 2002 + Data poslednego obnovleniya: CHetverg 13 Fevralya 23:07:35 EDT 2002 Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) (pgman@candle.pha.pa.us) @@ -275,7 +275,7 @@ 1.7) Kakaya poslednyaya versiya? - Poslednij vypusk PostgreSQL - `eto versiya 7.2.3. + Poslednij vypusk PostgreSQL - `eto versiya 7.3.1. My planiruem vypuskat' novye versii kazhdye chetyre mesyaca. @@ -469,17 +469,13 @@ 2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya? Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL. - `Eto PgAccess (http://www.pgaccess.com, PgAdmin II + `Eto PgAccess (http://www.pgaccess.org, PgAdmin II (http://www.pgadmin.org, Win32-only), RHDB Admin ( http://sources.redhat.com/rhdb/) i Rekall ( http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe est' PHPPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k PostgreSQL, osnovannyj na Web. - U nas est' prekrasnyj goraficheskij interfejs, nazyvaemyj PgAccess, - kotoryj takzhe mozhno ispol'zovat' kak generator otchetov. Ego - stranichka http://www.pgaccess.org/ - 2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL? Kakie-libo interfejsy dlya PostgreSQL suschestvuyut dlya bol'shinstva @@ -669,10 +665,6 @@ sozdaniya ogranicheniya na kolichestvo backend processov kak raz i sostoit v tom, chtoby vashej sisteme hvatilo resursov. - V PostgreSQL do versii 6.5, maksimal'noe kolichestvo backend processov - bylo 64, i izmenenie `etogo kolichestva trebovalo perekompilyacii - posle ustanovki konstanty MaxBackendId v include/storage/sinvaladt.h. - 3.9) CHto nahoditsya v kataloge pgsql_tmp? Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom @@ -853,6 +845,11 @@ pa ORDER BY col [ DESC ] LIMIT 1; + Esli vam kazhetsya, chto optimizator nekorretno vybiraet + posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i + zapustite testy, chtoby uvidet', ne stalo-li skanirovanie indeksov + bystree. + Kogda ispol'zuyutsya operacii s shablonami, naprimer LIKE ili ~, indeksy mogut byt' ispol'zovany v sleduyuschih sluchayah: * Nachalo stroki poiska dolzhno sovpadat' s nachalom iskomoj stroki, @@ -929,12 +926,12 @@ pa Tip Vnutrennee imya Zamechaniya -------------------------------------------------- -"char" char 1 simvol -CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny VARCHAR(n) varchar razmer zadaet maksimal'nuyu dlinu, net zapolnen iya +CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny TEXT text net zadavaemogo verhnego ogranicheniya ili dlin y +"char" char odin simvol BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova t' null-bajt bez opaski) @@ -948,15 +945,17 @@ t' null-bajt bez opaski) szhatiyu ili mogut byt' sohraneny ne v strokom vide cherez TOAST, tak chto zanimaemoe diskovoe prostranstvo mozhet takzhe byt' i men'she, chem ozhidalos'. + VARCHAR(n) - `eto luchshee reshenie, kogda nuzhno hranit' stroki + peremennoj dliny, ne prevyshayuschie opredelennogo razmera. TEXT - + `eto luchshee reshenie dlya strok neogranichennoj dliny, s maksimal'no + dopustimoj dlinoj v 1 gigabajt. CHAR(n) - `eto luchshee reshenie dlya hraneniya strok, kotorye obychno - imeyut odinakovuyu dlinu. VARCHAR(n) - `eto luchshee reshenie, kogda - nuzhno hranit' stroki peremennoj dliny, no ne prevyshayuschie - opredelennogo razmera. TEXT - `eto luchshee reshenie dlya strok - neogranichennoj dliny, s maksimal'no dopustimoj dlinoj v 1 gigabajt. - BYTEA dlya hraneniya binarnyh dannyh, znacheniya kotoryh mogut - vklyuchat' NULL bajty. `Eti tipy imeyut shodnye harakteristiki - proizvoditel'nosti. + imeyut odinakovuyu dlinu. CHAR(n) zapolnyaetsya pustotoj do zadannoj + dliny, v to vremya kak VARCHAR(n) hranit tol'ko simvoly, iz kotoryh + sostoit stroka. BYTEA ispol'zuetsya dlya hraneniya binarnyh dannyh, + znacheniya kotoryh mogut vklyuchat' NULL bajty. `Eti tipy imeyut + shodnye harakteristiki proizvoditel'nosti. 4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem? @@ -1146,8 +1145,8 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP ); WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna - byt' proindeksirovana. My nadeemsya ubrat' `eto ogranichenie v - buduschem vypuske. + byt' proindeksirovana. `Eta problema proizvoditel'nosti budet + ustranena v versii 7.4. 4.23) Kak mne vypolnit' vneshnee svyazyvanie? diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index b1ca31a3855..0bc7cd27d4d 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -10,7 +10,7 @@ alink="#0000ff">

Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Thu Dec 5 00:47:26 EST 2002

+

Last updated: Fri Feb 14 09:03:00 EST 2003

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -18,10 +18,10 @@

The most recent version of this document can be viewed at http://www.PostgreSQL.org/docs/faq-english.html.

+ "http://www.ca.PostgreSQL.org/docs/faq-english.html">http://www.ca.PostgreSQL.org/docs/faq-english.html.

Platform-specific questions are answered at http://www.PostgreSQL.org/users-lounge/docs/faq.html.

+ "http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html">http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html.


General Questions

@@ -314,11 +314,11 @@ '#PostgreSQL' "$USER" irc.phoenix.net.

A list of commercial support companies is available at http://www.PostgreSQL.org/users-lounge/commercial-support.html.

+ "http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html.

1.7) What is the latest release?

-

The latest release of PostgreSQL is version 7.2.3.

+

The latest release of PostgreSQL is version 7.3.2.

We plan to have major releases every four months.

@@ -327,7 +327,7 @@

Several manuals, manual pages, and some small test examples are included in the distribution. See the /doc directory. You can also browse the manual online at http://www.PostgreSQL.org/users-lounge/docs/.

+ "http://www.ca.PostgreSQL.org/users-lounge/docs/">http://www.ca.PostgreSQL.org/users-lounge/docs/.

There are two PostgreSQL books available online at http://www.PostgreSQL.org/docs/awbook.html @@ -536,8 +536,8 @@ interface? Yes, there are several graphical interfaces to PostgreSQL available. - These include PgAccess - http://www.pgaccess.com), PgAdmin II ( + http://www.pgaccess.org), PgAdmin II (http://www.pgadmin.org, Win32-only), RHDB Admin (http://sources.redhat.com/rhdb/ @@ -547,10 +547,6 @@ http://phppgadmin.sourceforge.net/ ), a web-based interface to PostgreSQL. -

We have a nice graphical user interface called PgAccess which can - also be used as a report generator. The Web page is - http://www.pgaccess.org/.

-

2.4) What languages are able to communicate with PostgreSQL?

@@ -757,11 +753,6 @@ the number of allowed backend processes is so your system won't run out of resources.

-

In PostgreSQL versions prior to 6.5, the maximum number of - backends was 64, and changing it required a rebuild after altering - the MaxBackendId constant in - include/storage/sinvaladt.h.

-

3.9) What is in the pgsql_tmp directory?

This directory contains temporary files generated by the query @@ -947,6 +938,10 @@ LIMIT 1; +

If you believe the optimizer is incorrect in choosing a + sequential scan, use SET enable_seqscan TO 'off' and + run tests to see if an index scan is indeed faster.

+

When using wild-card operators such as LIKE or ~, indexes can only be used in certain circumstances:

    @@ -1039,10 +1034,10 @@
     Type            Internal Name   Notes
     --------------------------------------------------
    -"char"          char            1 character
    -CHAR(n)         bpchar          blank padded to the specified fixed length
     VARCHAR(n)      varchar         size specifies maximum length, no padding
    +CHAR(n)         bpchar          blank padded to the specified fixed length
     TEXT            text            no specific upper limit on length
    +"char"          char            one character
     BYTEA           bytea           variable-length byte array (null-byte safe)
     
    @@ -1056,11 +1051,13 @@ BYTEA bytea variable-length byte array (null-byte safe) stored out-of-line by TOAST, so the space on disk might also be less than expected.

    -

    CHAR(n) is best when storing strings that are - usually the same length. VARCHAR(n) is best when - storing variable-length strings but it limits how long a string can - be. TEXT is for strings of unlimited length, maximum - 1 gigabyte. BYTEA is for storing binary data, + VARCHAR(n) is best when storing variable-length + strings and it limits how long a string can be. TEXT + is for strings of unlimited length, with a maximum of one gigabyte. +

    CHAR(n) is for storing strings that are all the + same length. CHAR(n) pads with blanks to the specified + length, while VARCHAR(n) only stores the characters + supplied. BYTEA is for storing binary data, particularly values that include NULL bytes. These types have similar performance characteristics.

    @@ -1286,7 +1283,7 @@ BYTEA bytea variable-length byte array (null-byte safe) For this to be fast, subcol should be an indexed column. - We hope to fix this limitation in a future release. + This preformance problem will be fixed in 7.4.

    4.23) How do I perform an outer join?

    diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index 6b54fbce936..dc9b80aeb81 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -12,7 +12,7 @@

    Developer's Frequently Asked Questions (FAQ) for PostgreSQL

    -

    Last updated: Tue Nov 5 16:52:46 EST 2002

    +

    Last updated: Fri Feb 14 08:59:10 EST 2003

    Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
    @@ -779,10 +779,8 @@

    lconsi, ...
    -
    There are integer versions of these: lconsi, lappendi, - nthi. List's containing integers instead of Node - pointers are used to hold list of relation object id's and - other integer quantities.
    +
    There are integer versions of these: lconsi, lappendi, + etc. Also versions for OID lists: lconso, lappendo, etc.
    You can print nodes easily inside gdb. First, to disable diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index 9c5df57ec24..d1cf4e43532 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -13,7 +13,7 @@ alink="#0000ff">

    Ответы на часто задаваемые вопросы по PostgreSQL

    -

    Дата последнего обновления: Четверг 5 Декабря 00:47:26 EDT 2002

    +

    Дата последнего обновления: Четверг 13 Февраля 23:07:35 EDT 2002

    Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (pgman@candle.pha.pa.us)
    @@ -323,7 +323,7 @@

    1.7) Какая последняя версия?

    -

    Последний выпуск PostgreSQL - это версия 7.2.3.

    +

    Последний выпуск PostgreSQL - это версия 7.3.1.

    Мы планируем выпускать новые версии каждые четыре месяца.

    @@ -550,7 +550,7 @@ пользователя?

    Да, существует несколько графических интерфейсов для PostgreSQL. - Это PgAccess (http://www.pgaccess.com, + Это PgAccess (http://www.pgaccess.org, PgAdmin II (http://www.pgadmin.org, Win32-only), RHDB Admin ( http://sources.redhat.com/rhdb/) и Rekall @@ -558,11 +558,7 @@ http://www.thekompany.com/products/rekall/, коммерческий). Также есть PHPPgAdmin ( http://phppgadmin.sourceforge.net/) - интерфейс к PostgreSQL, основанный - на Web. - -

    У нас есть прекрасный горафический интерфейс, называемый - PgAccess, который также можно использовать как генератор отчетов. - Его страничка http://www.pgaccess.org/

    + на Web.

    2.4) Какие языки могут взаимодействовать с PostgreSQL?

    @@ -772,10 +768,6 @@ Причина создания ограничения на количество backend процессов как раз и состоит в том, чтобы вашей системе хватило ресурсов.

    -

    В PostgreSQL до версии 6.5, максимальное количество backend процессов - было 64, и изменение этого количества требовало перекомпиляции после - установки константы MaxBackendId в include/storage/sinvaladt.h.

    -

    3.9) Что находится в каталоге pgsql_tmp?

    Данный каталог содержит временные файлы, генерируемые обработчиком @@ -969,6 +961,11 @@ LIMIT 1; +

    Если вам кажется, что оптимизатор некорретно выбирает последовательный + перебор, используйте SET enable_seqscan TO 'off' и + запустите тесты, чтобы увидеть, не стало-ли сканирование индексов быстрее. +

    +

    Когда используются операции с шаблонами, например LIKE или ~, индексы могут быть использованы в следующих случаях:

      @@ -1058,10 +1055,10 @@
       Тип            Внутреннее имя   Замечания
       --------------------------------------------------
      -"char"          char            1 символ
      -CHAR(n)         bpchar          заполняется пустотой до фиксированной длины
       VARCHAR(n)      varchar         размер задает максимальную длину, нет заполнения
      +CHAR(n)         bpchar          заполняется пустотой до фиксированной длины
       TEXT            text            нет задаваемого верхнего ограничения или длины
      +"char"          char            один символ
       BYTEA           bytea           массив байт переменной длины (можно использовать null-байт без опаски)
       
      @@ -1076,13 +1073,16 @@ BYTEA bytea так что занимаемое дисковое пространство может также быть и меньше, чем ожидалось.

      + VARCHAR(n) - это лучшее решение, когда нужно хранить + строки переменной длины, не превышающие определенного размера. + TEXT - это лучшее решение для строк неограниченной длины, + с максимально допустимой длиной в 1 гигабайт.

      CHAR(n) - это лучшее решение для хранения строк, которые - обычно имеют одинаковую длину. VARCHAR(n) - это лучшее - решение, когда нужно хранить строки переменной длины, но не превышающие - определенного размера. TEXT - это лучшее решение для строк - неограниченной длины, с максимально допустимой длиной в 1 гигабайт. - BYTEA для хранения бинарных данных, значения которых - могут включать NULL байты. Эти типы имеют сходные + обычно имеют одинаковую длину. CHAR(n) заполняется + пустотой до заданной длины, в то время как VARCHAR(n) + хранит только символы, из которых состоит строка. + BYTEA используется для хранения бинарных данных, значения + которых могут включать NULL байты. Эти типы имеют сходные характеристики производительности.

      4.15.1) Как мне создать поле @@ -1321,8 +1321,8 @@ BYTEA bytea Чтобы такая конструкция работала быстро, колонка subcol - должна быть проиндексирована. - Мы надеемся убрать это ограничение в будущем выпуске. + должна быть проиндексирована. Эта проблема производительности будет + устранена в версии 7.4.

      4.23) Как мне выполнить внешнее связывание?