Update FAQ's in head and 7.3.X.
authorBruce Momjian
Fri, 14 Feb 2003 14:05:00 +0000 (14:05 +0000)
committerBruce Momjian
Fri, 14 Feb 2003 14:05:00 +0000 (14:05 +0000)
configure
configure.in
doc/FAQ_russian
doc/src/FAQ/FAQ_russian.html
src/backend/libpq/auth.c
src/include/pg_config.h.in

index 6a68d7e14154e6df0ae2c05755c592cc51a6b4a1..5117548c90b026990c2aa4aedb9a10d1c8b97441 100755 (executable)
--- 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  is required for PAM" >&5
-echo "$as_me: error: header file  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  or  is required for PAM." >&5
+echo "$as_me: error: header file  or  is required for PAM." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
+done
+
+fi
+
+done
 
 fi
 
index 791beb39895cab0f96467d08aff2b3b33a814dc9..19f6d74defa6236d1b68672624762429b4962e9b 100644 (file)
@@ -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  is required for PAM])])
+  AC_CHECK_HEADERS(security/pam_appl.h, [],
+                   [AC_CHECK_HEADERS(pam/pam_appl.h, [],
+                                     [AC_MSG_ERROR([header file  or  is required for PAM.])])])
 fi
 
 
index b0dda39024879b2d19cf3c84eb1063f44f1f9353..be940f77ea4c0153f834d8daa8e700fd6af2e6c2 100644 (file)
@@ -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)
    
     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.
    
     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
    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?
     
index 9c5df57ec24af8370b5f43376e9fb05da2c46e34..d1cf4e43532c105ed91a4208e674cdf0a3dc6c9a 100644 (file)
@@ -13,7 +13,7 @@
   alink="#0000ff">
     

ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL

 
-    

äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 5 äÅËÁÂÒÑ 00:47:26 EDT 2002

+    

äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 13 æÅ×ÒÁÌÑ 23:07:35 EDT 2002

 
     

áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑΠ(Bruce Momjian) (

 
     

1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?

 
-    

ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.2.3.

+    

ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.3.1.

 
     

íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÞÅÔÙÒÅ ÍÅÓÑÃÁ.

 
     ÐÏÌØÚÏ×ÁÔÅÌÑ?
 
     

äÁ, ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÇÒÁÆÉÞÅÓËÉÈ ÉÎÔÅÒÆÅÊÓÏ× ÄÌÑ PostgreSQL.

-    üÔÏ PgAccess (com/">http://www.pgaccess.com,
+    üÔÏ PgAccess (org/">http://www.pgaccess.org,
     PgAdmin II (http://www.pgadmin.org,
     Win32-only), RHDB Admin (
     http://sources.redhat.com/rhdb/) É Rekall
     http://www.thekompany.com/products/rekall/, ËÏÍÍÅÒÞÅÓËÉÊ). ôÁËÖÅ ÅÓÔØ
     PHPPgAdmin (
     http://phppgadmin.sourceforge.net/) - ÉÎÔÅÒÆÅÊÓ Ë PostgreSQL, ÏÓÎÏ×ÁÎÎÙÊ
-    ÎÁ Web.
-
-    

õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ

-    PgAccess, ËÏÔÏÒÙÊ ÔÁËÖÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË ÇÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×.
-    åÇÏ ÓÔÒÁÎÉÞËÁ http://www.pgaccess.org/

+    ÎÁ Web.

 
     

2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?

 
     ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× ËÁË
     ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ ÒÅÓÕÒÓÏ×.

 
-    

÷ PostgreSQL ÄÏ ×ÅÒÓÉÉ 6.5, ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×

-    ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ
-    ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × include/storage/sinvaladt.h.

-
     

3.9) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ pgsql_tmp?

 
     

äÁÎÎÙÊ ËÁÔÁÌÏÇ ÓÏÄÅÒÖÉÔ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ÏÂÒÁÂÏÔÞÉËÏÍ

     LIMIT 1;
 
 
+    

åÓÌÉ ×ÁÍ ËÁÖÅÔÓÑ, ÞÔÏ ÏÐÔÉÍÉÚÁÔÏÒ ÎÅËÏÒÒÅÔÎÏ ×ÙÂÉÒÁÅÔ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ

+    ÐÅÒÅÂÏÒ, ÉÓÐÏÌØÚÕÊÔÅ SET enable_seqscan TO 'off' É
+    ÚÁÐÕÓÔÉÔÅ ÔÅÓÔÙ, ÞÔÏÂÙ Õ×ÉÄÅÔØ, ÎÅ ÓÔÁÌÏ-ÌÉ ÓËÁÎÉÒÏ×ÁÎÉÅ ÉÎÄÅËÓÏ× ÂÙÓÔÒÅÅ.
+    

+
     

ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ LIKE

     ÉÌÉ ~, ÉÎÄÅËÓÙ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÌÅÄÕÀÝÉÈ ÓÌÕÞÁÑÈ:

     
     
     ôÉР           ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ   úÁÍÅÞÁÎÉÑ
     --------------------------------------------------
    -"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) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?

     
    index 2ee4a689ae8617ae34ca97ae83a4e5de3c566af1..e6edef6b6763dbf13c76e189fd652f25e94ca67b 100644 (file)
    @@ -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 
    +#endif
    +#ifdef HAVE_SECURITY_PAM_APPL_H
     #include 
    +#endif
     
     #define PGSQL_PAM_SERVICE "postgresql" /* Service name passed to PAM */
     
    index ba878df0acda25619155bcd8f5121a33fe6cbedc..953fd4597b2028efececc78ab01b5b6b60e30445 100644 (file)
    @@ -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
     /* Set to 1 if you have  */
     #undef HAVE_NETINET_TCP_H
     
    +/* Set to 1 if you have  */
    +#undef HAVE_PAM_PAM_APPL_H
    +
     /* Set to 1 if you have  */
     #undef HAVE_READLINE_H
     
     /* Set to 1 if you have  */
     #undef HAVE_READLINE_READLINE_H
     
    +/* Set to 1 if you have  */
    +#undef HAVE_SECURITY_PAM_APPL_H
    +
     /* Set to 1 if you have  */
     #undef HAVE_SYS_IPC_H