summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2003-02-14 14:05:00 +0000
committerBruce Momjian2003-02-14 14:05:00 +0000
commit0e010a54a3b17fe6a66c1ed71caff9dc0fac4c2b (patch)
tree32bf039930f2f1124a4465db136dde459138b1de
parent044dca9f7cbf305f8c9dc1eb830cfd34ff8417c8 (diff)
Update FAQ's in head and 7.3.X.
-rwxr-xr-xconfigure187
-rw-r--r--configure.in6
-rw-r--r--doc/FAQ_russian43
-rw-r--r--doc/src/FAQ/FAQ_russian.html44
-rw-r--r--src/backend/libpq/auth.c7
-rw-r--r--src/include/pg_config.h.in8
6 files changed, 215 insertions, 80 deletions
diff --git a/configure b/configure
index 6a68d7e1415..5117548c90b 100755
--- a/configure
+++ b/configure
@@ -8330,23 +8330,27 @@ fi
fi
if test "$with_pam" = yes ; then
- if test "${ac_cv_header_security_pam_appl_h+set}" = set; then
- echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5
-echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6
-if test "${ac_cv_header_security_pam_appl_h+set}" = set; then
+
+for ac_header in security/pam_appl.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5
-echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5
-echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
$ac_includes_default
-#include <security/pam_appl.h>
+#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -8371,12 +8375,12 @@ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
echo "${ECHO_T}$ac_header_compiler" >&6
# Is the header present?
-echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5
-echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
-#include <security/pam_appl.h>
+#include <$ac_header>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -8408,37 +8412,156 @@ echo "${ECHO_T}$ac_header_preproc" >&6
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc in
yes:no )
- { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;};;
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
no:yes )
- { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;};;
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
esac
-echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5
-echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6
-if test "${ac_cv_header_security_pam_appl_h+set}" = set; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_header_security_pam_appl_h=$ac_header_preproc
+ eval "$as_ac_Header=$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5
-echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
fi
-if test $ac_cv_header_security_pam_appl_h = yes; then
- :
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+for ac_header in pam/pam_appl.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+ # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+ yes:no )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+ no:yes )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- { { echo "$as_me:$LINENO: error: header file <security/pam_appl.h> is required for PAM" >&5
-echo "$as_me: error: header file <security/pam_appl.h> is required for PAM" >&2;}
+ eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ { { echo "$as_me:$LINENO: error: header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM." >&5
+echo "$as_me: error: header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM." >&2;}
{ (exit 1); exit 1; }; }
fi
+done
+
+fi
+
+done
fi
diff --git a/configure.in b/configure.in
index 791beb39895..19f6d74defa 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-dnl $Header: /cvsroot/pgsql/configure.in,v 1.235 2003/02/11 21:05:35 petere Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.236 2003/02/14 14:05:00 momjian Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
@@ -724,7 +724,9 @@ if test "$with_openssl" = yes ; then
fi
if test "$with_pam" = yes ; then
- AC_CHECK_HEADER(security/pam_appl.h, [], [AC_MSG_ERROR([header file <security/pam_appl.h> is required for PAM])])
+ AC_CHECK_HEADERS(security/pam_appl.h, [],
+ [AC_CHECK_HEADERS(pam/pam_appl.h, [],
+ [AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
fi
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)
@@ -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_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">
<H1>������ �� ����� ���������� ������� �� PostgreSQL</H1>
- <P>���� ���������� ����������: ������� 5 ������� 00:47:26 EDT 2002</P>
+ <P>���� ���������� ����������: ������� 13 ������� 23:07:35 EDT 2002</P>
<P>���������� ������� ������������: ���� ������ (Bruce Momjian) (<A href=
@@ -323,7 +323,7 @@
<H4><A name="1.7">1.7</A>) ����� ��������� ������?</H4>
- <P>��������� ������ PostgreSQL - ��� ������ 7.2.3.</P>
+ <P>��������� ������ PostgreSQL - ��� ������ 7.3.1.</P>
<P>�� ��������� ��������� ����� ������ ������ ������ ������.</P>
@@ -550,7 +550,7 @@
������������?</H4>
<P>��, ���������� ��������� ����������� ����������� ��� PostgreSQL.
- ��� PgAccess (<A href="http://www.pgaccess.com/">http://www.pgaccess.com</A>,
+ ��� PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>,
PgAdmin II (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>,
Win32-only), RHDB Admin (<A href="http://sources.redhat.com/rhdb/">
http://sources.redhat.com/rhdb/</A>) � Rekall
@@ -558,11 +558,7 @@
http://www.thekompany.com/products/rekall/</A>, ������������). ����� ����
PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
http://phppgadmin.sourceforge.net/</A>) - ��������� � PostgreSQL, ����������
- �� Web.
-
- <P>� ��� ���� ���������� ������������ ���������, ����������
- PgAccess, ������� ����� ����� ������������ ��� ��������� �������.
- ��� ��������� <A href="http://www.pgaccess.org">http://www.pgaccess.org/</A></P>
+ �� Web.</p>
<H4><A name="2.4">2.4</A>) ����� ����� ����� ����������������� � PostgreSQL?</H4>
@@ -772,10 +768,6 @@
������� �������� ����������� �� ���������� backend ��������� ���
��� � ������� � ���, ����� ����� ������� ������� ��������.</P>
- <P>� PostgreSQL �� ������ 6.5, ������������ ���������� backend ���������
- ���� 64, � ��������� ����� ���������� ��������� �������������� �����
- ��������� ��������� MaxBackendId � <I>include/storage/sinvaladt.h</I>.</P>
-
<H4><A name="3.9">3.9</A>) ��� ��������� � �������� <I>pgsql_tmp</I>?</H4>
<P>������ ������� �������� ��������� �����, ������������ ������������
@@ -969,6 +961,11 @@
LIMIT 1;
</pre>
+ <P>���� ��� �������, ��� ����������� ���������� �������� ����������������
+ �������, ����������� <CODE>SET enable_seqscan TO 'off'</CODE> �
+ ��������� �����, ����� �������, �� �����-�� ������������ �������� �������.
+ </P>
+
<P>����� ������������ �������� � ���������, �������� <SMALL>LIKE</SMALL>
��� <I>~</I>, ������� ����� ���� ������������ � ��������� �������:</P>
<UL>
@@ -1058,10 +1055,10 @@
<PRE>
��� ���������� ��� ���������
--------------------------------------------------
-"char" char 1 ������
-CHAR(n) bpchar ����������� �������� �� ������������� �����
VARCHAR(n) varchar ������ ������ ������������ �����, ��� ����������
+CHAR(n) bpchar ����������� �������� �� ������������� �����
TEXT text ��� ����������� �������� ����������� ��� �����
+"char" char ���� ������
BYTEA bytea ������ ���� ���������� ����� (����� ������������ null-���� ��� ������)
</PRE>
@@ -1076,13 +1073,16 @@ BYTEA bytea ������ ���� ���������� ����� (����� ������������
��� ��� ���������� �������� ������������ ����� ����� ���� � ������,
��� ���������.</P>
+ <SMALL>VARCHAR(n)</SMALL> - ��� ������ �������, ����� ����� �������
+ ������ ���������� �����, �� ����������� ������������� �������.
+ <SMALL>TEXT</SMALL> - ��� ������ ������� ��� ����� �������������� �����,
+ � ����������� ���������� ������ � 1 ��������.
<P><SMALL>CHAR(n)</SMALL> - ��� ������ ������� ��� �������� �����, �������
- ������ ����� ���������� �����. <SMALL>VARCHAR(n)</SMALL> - ��� ������
- �������, ����� ����� ������� ������ ���������� �����, �� �� �����������
- ������������� �������. <SMALL>TEXT</SMALL> - ��� ������ ������� ��� �����
- �������������� �����, � ����������� ���������� ������ � 1 ��������.
- <SMALL>BYTEA</SMALL> ��� �������� �������� ������, �������� �������
- ����� �������� <SMALL>NULL</SMALL> �����. ��� ���� ����� �������
+ ������ ����� ���������� �����. <SMALL>CHAR(n)</SMALL> �����������
+ �������� �� �������� �����, � �� ����� ��� <SMALL>VARCHAR(n)</SMALL>
+ ������ ������ �������, �� ������� ������� ������.
+ <SMALL>BYTEA</SMALL> ������������ ��� �������� �������� ������, ��������
+ ������� ����� �������� <SMALL>NULL</SMALL> �����. ��� ���� ����� �������
�������������� ������������������.</P>
<H4><A name="4.15.1">4.15.1</A>) ��� ��� ������� ����
@@ -1321,8 +1321,8 @@ BYTEA bytea ������ ���� ���������� ����� (����� ������������
</PRE>
����� ����� ����������� �������� ������, ������� <CODE>subcol</CODE>
- ������ ���� ����������������.
- �� �������� ������ ��� ����������� � ������� �������.
+ ������ ���� ����������������. ��� �������� ������������������ �����
+ ��������� � ������ 7.4.
<H4><A name="4.23">4.23</A>) ��� ��� ��������� ������� ����������?</H4>
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 2ee4a689ae8..e6edef6b676 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.96 2003/01/06 09:58:23 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.97 2003/02/14 14:05:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -43,7 +43,12 @@ static int recv_and_check_password_packet(Port *port);
char *pg_krb_server_keyfile;
#ifdef USE_PAM
+#ifdef HAVE_PAM_PAM_APPL_H
+#include <pam/pam_appl.h>
+#endif
+#ifdef HAVE_SECURITY_PAM_APPL_H
#include <security/pam_appl.h>
+#endif
#define PGSQL_PAM_SERVICE "postgresql" /* Service name passed to PAM */
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index ba878df0acd..953fd4597b2 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -8,7 +8,7 @@
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
* changes will be overwritten the next time you run configure.
*
- * $Id: pg_config.h.in,v 1.38 2003/01/25 05:19:47 tgl Exp $
+ * $Id: pg_config.h.in,v 1.39 2003/02/14 14:05:00 momjian Exp $
*/
#ifndef PG_CONFIG_H
@@ -344,6 +344,9 @@
/* Set to 1 if you have <netinet/tcp.h> */
#undef HAVE_NETINET_TCP_H
+/* Set to 1 if you have <pam/pam_appl.h> */
+#undef HAVE_PAM_PAM_APPL_H
+
/* Set to 1 if you have <readline.h> */
#undef HAVE_READLINE_H
@@ -353,6 +356,9 @@
/* Set to 1 if you have <readline/readline.h> */
#undef HAVE_READLINE_READLINE_H
+/* Set to 1 if you have <security/pam_appl.h> */
+#undef HAVE_SECURITY_PAM_APPL_H
+
/* Set to 1 if you have <sys/ipc.h> */
#undef HAVE_SYS_IPC_H