Commit 0e010a54 authored by Bruce Momjian's avatar Bruce Momjian

Update FAQ's in head and 7.3.X.

parent 044dca9f
...@@ -8330,23 +8330,27 @@ fi ...@@ -8330,23 +8330,27 @@ fi
fi fi
if test "$with_pam" = yes ; then 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 for ac_header in security/pam_appl.h
echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 do
if test "${ac_cv_header_security_pam_appl_h+set}" = set; then 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 echo $ECHO_N "(cached) $ECHO_C" >&6
fi fi
echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
else else
# Is the header compilable? # Is the header compilable?
echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 echo "$as_me:$LINENO: checking $ac_header usability" >&5
echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure" #line $LINENO "configure"
#include "confdefs.h" #include "confdefs.h"
$ac_includes_default $ac_includes_default
#include <security/pam_appl.h> #include <$ac_header>
_ACEOF _ACEOF
rm -f conftest.$ac_objext rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
...@@ -8371,12 +8375,12 @@ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ...@@ -8371,12 +8375,12 @@ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
echo "${ECHO_T}$ac_header_compiler" >&6 echo "${ECHO_T}$ac_header_compiler" >&6
# Is the header present? # Is the header present?
echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 echo "$as_me:$LINENO: checking $ac_header presence" >&5
echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure" #line $LINENO "configure"
#include "confdefs.h" #include "confdefs.h"
#include <security/pam_appl.h> #include <$ac_header>
_ACEOF _ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
...@@ -8408,37 +8412,156 @@ echo "${ECHO_T}$ac_header_preproc" >&6 ...@@ -8408,37 +8412,156 @@ echo "${ECHO_T}$ac_header_preproc" >&6
# So? What about this header? # So? What about this header?
case $ac_header_compiler:$ac_header_preproc in case $ac_header_compiler:$ac_header_preproc in
yes:no ) yes:no )
{ echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 { echo "$as_me:$LINENO: WARNING: $ac_header: 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: WARNING: $ac_header: 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:$LINENO: WARNING: $ac_header: 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: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
no:yes ) no:yes )
{ echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} echo "$as_me: WARNING: $ac_header: 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:$LINENO: WARNING: $ac_header: 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: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
esac esac
echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 echo "$as_me:$LINENO: checking for $ac_header" >&5
echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if test "${ac_cv_header_security_pam_appl_h+set}" = set; then if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6 echo $ECHO_N "(cached) $ECHO_C" >&6
else else
ac_cv_header_security_pam_appl_h=$ac_header_preproc eval "$as_ac_Header=$ac_header_preproc"
fi fi
echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
fi 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 else
{ { echo "$as_me:$LINENO: error: header file <security/pam_appl.h> is required for PAM" >&5 eval "$as_ac_Header=$ac_header_preproc"
echo "$as_me: error: header file <security/pam_appl.h> is required for PAM" >&2;} 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; }; } { (exit 1); exit 1; }; }
fi fi
done
fi
done
fi fi
......
dnl Process this file with autoconf to produce a configure script. 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
dnl Developers, please strive to achieve this order: dnl Developers, please strive to achieve this order:
dnl dnl
...@@ -724,7 +724,9 @@ if test "$with_openssl" = yes ; then ...@@ -724,7 +724,9 @@ if test "$with_openssl" = yes ; then
fi fi
if test "$with_pam" = yes ; then 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 fi
......
Otvety na chasto zadavaemye voprosy po PostgreSQL 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) Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us) (pgman@candle.pha.pa.us)
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
1.7) Kakaya poslednyaya versiya? 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. My planiruem vypuskat' novye versii kazhdye chetyre mesyaca.
...@@ -469,17 +469,13 @@ ...@@ -469,17 +469,13 @@
2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya? 2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya?
Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL. 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://www.pgadmin.org, Win32-only), RHDB Admin (
http://sources.redhat.com/rhdb/) i Rekall ( http://sources.redhat.com/rhdb/) i Rekall (
http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe
est' PHPPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k est' PHPPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k
PostgreSQL, osnovannyj na Web. 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? 2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
Kakie-libo interfejsy dlya PostgreSQL suschestvuyut dlya bol'shinstva Kakie-libo interfejsy dlya PostgreSQL suschestvuyut dlya bol'shinstva
...@@ -669,10 +665,6 @@ ...@@ -669,10 +665,6 @@
sozdaniya ogranicheniya na kolichestvo backend processov kak raz i sozdaniya ogranicheniya na kolichestvo backend processov kak raz i
sostoit v tom, chtoby vashej sisteme hvatilo resursov. 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? 3.9) CHto nahoditsya v kataloge pgsql_tmp?
Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom
...@@ -853,6 +845,11 @@ pa ...@@ -853,6 +845,11 @@ pa
ORDER BY col [ DESC ] ORDER BY col [ DESC ]
LIMIT 1; 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 ~, Kogda ispol'zuyutsya operacii s shablonami, naprimer LIKE ili ~,
indeksy mogut byt' ispol'zovany v sleduyuschih sluchayah: indeksy mogut byt' ispol'zovany v sleduyuschih sluchayah:
* Nachalo stroki poiska dolzhno sovpadat' s nachalom iskomoj stroki, * Nachalo stroki poiska dolzhno sovpadat' s nachalom iskomoj stroki,
...@@ -929,12 +926,12 @@ pa ...@@ -929,12 +926,12 @@ pa
Tip Vnutrennee imya Zamechaniya 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 VARCHAR(n) varchar razmer zadaet maksimal'nuyu dlinu, net zapolnen
iya iya
CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
TEXT text net zadavaemogo verhnego ogranicheniya ili dlin TEXT text net zadavaemogo verhnego ogranicheniya ili dlin
y y
"char" char odin simvol
BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova
t' null-bajt bez opaski) t' null-bajt bez opaski)
...@@ -948,15 +945,17 @@ 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 szhatiyu ili mogut byt' sohraneny ne v strokom vide cherez TOAST, tak
chto zanimaemoe diskovoe prostranstvo mozhet takzhe byt' i men'she, chto zanimaemoe diskovoe prostranstvo mozhet takzhe byt' i men'she,
chem ozhidalos'. 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 CHAR(n) - `eto luchshee reshenie dlya hraneniya strok, kotorye obychno
imeyut odinakovuyu dlinu. VARCHAR(n) - `eto luchshee reshenie, kogda imeyut odinakovuyu dlinu. CHAR(n) zapolnyaetsya pustotoj do zadannoj
nuzhno hranit' stroki peremennoj dliny, no ne prevyshayuschie dliny, v to vremya kak VARCHAR(n) hranit tol'ko simvoly, iz kotoryh
opredelennogo razmera. TEXT - `eto luchshee reshenie dlya strok sostoit stroka. BYTEA ispol'zuetsya dlya hraneniya binarnyh dannyh,
neogranichennoj dliny, s maksimal'no dopustimoj dlinoj v 1 gigabajt. znacheniya kotoryh mogut vklyuchat' NULL bajty. `Eti tipy imeyut
BYTEA dlya hraneniya binarnyh dannyh, znacheniya kotoryh mogut shodnye harakteristiki proizvoditel'nosti.
vklyuchat' NULL bajty. `Eti tipy imeyut shodnye harakteristiki
proizvoditel'nosti.
4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem? 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 ); ...@@ -1146,8 +1145,8 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna
byt' proindeksirovana. My nadeemsya ubrat' `eto ogranichenie v byt' proindeksirovana. `Eta problema proizvoditel'nosti budet
buduschem vypuske. ustranena v versii 7.4.
4.23) Kak mne vypolnit' vneshnee svyazyvanie? 4.23) Kak mne vypolnit' vneshnee svyazyvanie?
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
alink="#0000ff"> alink="#0000ff">
<H1> PostgreSQL</H1> <H1> PostgreSQL</H1>
<P> : 5 00:47:26 EDT 2002</P> <P> : 13 23:07:35 EDT 2002</P>
<P> : (Bruce Momjian) (<A href= <P> : (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
...@@ -323,7 +323,7 @@ ...@@ -323,7 +323,7 @@
<H4><A name="1.7">1.7</A>) ?</H4> <H4><A name="1.7">1.7</A>) ?</H4>
<P> PostgreSQL - 7.2.3.</P> <P> PostgreSQL - 7.3.1.</P>
<P> .</P> <P> .</P>
...@@ -550,7 +550,7 @@ ...@@ -550,7 +550,7 @@
?</H4> ?</H4>
<P>, PostgreSQL. <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>, PgAdmin II (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>,
Win32-only), RHDB Admin (<A href="http://sources.redhat.com/rhdb/"> Win32-only), RHDB Admin (<A href="http://sources.redhat.com/rhdb/">
http://sources.redhat.com/rhdb/</A>) Rekall http://sources.redhat.com/rhdb/</A>) Rekall
...@@ -558,11 +558,7 @@ ...@@ -558,11 +558,7 @@
http://www.thekompany.com/products/rekall/</A>, ). http://www.thekompany.com/products/rekall/</A>, ).
PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/"> PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
http://phppgadmin.sourceforge.net/</A>) - PostgreSQL, http://phppgadmin.sourceforge.net/</A>) - PostgreSQL,
Web. Web.</p>
<P> ,
PgAccess, .
<A href="http://www.pgaccess.org">http://www.pgaccess.org/</A></P>
<H4><A name="2.4">2.4</A>) PostgreSQL?</H4> <H4><A name="2.4">2.4</A>) PostgreSQL?</H4>
...@@ -772,10 +768,6 @@ ...@@ -772,10 +768,6 @@
backend backend
, .</P> , .</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> <H4><A name="3.9">3.9</A>) <I>pgsql_tmp</I>?</H4>
<P> , <P> ,
...@@ -969,6 +961,11 @@ ...@@ -969,6 +961,11 @@
LIMIT 1; LIMIT 1;
</pre> </pre>
<P> ,
, <CODE>SET enable_seqscan TO 'off'</CODE>
, , - .
</P>
<P> , <SMALL>LIKE</SMALL> <P> , <SMALL>LIKE</SMALL>
<I>~</I>, :</P> <I>~</I>, :</P>
<UL> <UL>
...@@ -1058,10 +1055,10 @@ ...@@ -1058,10 +1055,10 @@
<PRE> <PRE>
-------------------------------------------------- --------------------------------------------------
"char" char 1
CHAR(n) bpchar
VARCHAR(n) varchar , VARCHAR(n) varchar ,
CHAR(n) bpchar
TEXT text TEXT text
"char" char
BYTEA bytea ( null- ) BYTEA bytea ( null- )
</PRE> </PRE>
...@@ -1076,13 +1073,16 @@ BYTEA bytea ...@@ -1076,13 +1073,16 @@ BYTEA bytea
, ,
.</P> .</P>
<SMALL>VARCHAR(n)</SMALL> - ,
, .
<SMALL>TEXT</SMALL> - ,
1 .
<P><SMALL>CHAR(n)</SMALL> - , <P><SMALL>CHAR(n)</SMALL> - ,
. <SMALL>VARCHAR(n)</SMALL> - . <SMALL>CHAR(n)</SMALL>
, , , <SMALL>VARCHAR(n)</SMALL>
. <SMALL>TEXT</SMALL> - , .
, 1 . <SMALL>BYTEA</SMALL> ,
<SMALL>BYTEA</SMALL> , <SMALL>NULL</SMALL> .
<SMALL>NULL</SMALL> .
.</P> .</P>
<H4><A name="4.15.1">4.15.1</A>) <H4><A name="4.15.1">4.15.1</A>)
...@@ -1321,8 +1321,8 @@ BYTEA bytea ...@@ -1321,8 +1321,8 @@ BYTEA bytea
</PRE> </PRE>
, <CODE>subcol</CODE> , <CODE>subcol</CODE>
. .
. 7.4.
<H4><A name="4.23">4.23</A>) ?</H4> <H4><A name="4.23">4.23</A>) ?</H4>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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); ...@@ -43,7 +43,12 @@ static int recv_and_check_password_packet(Port *port);
char *pg_krb_server_keyfile; char *pg_krb_server_keyfile;
#ifdef USE_PAM #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> #include <security/pam_appl.h>
#endif
#define PGSQL_PAM_SERVICE "postgresql" /* Service name passed to PAM */ #define PGSQL_PAM_SERVICE "postgresql" /* Service name passed to PAM */
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your * 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. * 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 #ifndef PG_CONFIG_H
...@@ -344,6 +344,9 @@ ...@@ -344,6 +344,9 @@
/* Set to 1 if you have <netinet/tcp.h> */ /* Set to 1 if you have <netinet/tcp.h> */
#undef 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> */ /* Set to 1 if you have <readline.h> */
#undef HAVE_READLINE_H #undef HAVE_READLINE_H
...@@ -353,6 +356,9 @@ ...@@ -353,6 +356,9 @@
/* Set to 1 if you have <readline/readline.h> */ /* Set to 1 if you have <readline/readline.h> */
#undef 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> */ /* Set to 1 if you have <sys/ipc.h> */
#undef HAVE_SYS_IPC_H #undef HAVE_SYS_IPC_H
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment