From 49bc9c45c9aae7710da4ec4d97b1988f8ed089ef Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 5 Mar 2004 19:57:22 +0000 Subject: [PATCH] Brand 7.4.2. Release notes still need work. --- INSTALL | 4 +- configure | 18 +- configure.in | 4 +- doc/FAQ_DEV | 6 +- doc/FAQ_MSWIN | 2 +- doc/FAQ_german | 71 ++--- doc/FAQ_polish | 442 +++++++++++++++++------------ doc/FAQ_russian | 19 +- doc/bug.template | 2 +- doc/src/FAQ/FAQ.html | 25 +- doc/src/FAQ/FAQ_DEV.html | 9 +- doc/src/FAQ/FAQ_german.html | 53 ++-- doc/src/FAQ/FAQ_polish.html | 507 +++++++++++++++++++++------------- doc/src/FAQ/FAQ_russian.html | 17 +- src/include/pg_config.h.win32 | 4 +- src/interfaces/libpq/libpq.rc | 8 +- 16 files changed, 714 insertions(+), 477 deletions(-) diff --git a/INSTALL b/INSTALL index a455e0cd0e1..5da100ca143 100644 --- a/INSTALL +++ b/INSTALL @@ -180,7 +180,7 @@ Substitute your paths appropriately. need to do this. To make the backup, you can use the "pg_dumpall" command from the version you are currently running. For best results, however, try to use the - "pg_dumpall" command from PostgreSQL 7.4.1, since this version contains + "pg_dumpall" command from PostgreSQL 7.4.2, since this version contains bug fixes and improvements over older versions. While this advice might seem idiosyncratic since you haven't installed the new version yet, it is advisable to follow it if you plan to install the new version in parallel @@ -212,7 +212,7 @@ Substitute your paths appropriately. mv /usr/local/pgsql /usr/local/pgsql.old -After you have installed PostgreSQL 7.4.1, create a new database directory and +After you have installed PostgreSQL 7.4.2, create a new database directory and start the new server. Remember that you must execute these commands while logged in to the special database user account (which you already have if you are upgrading). diff --git a/configure b/configure index 40824514fb3..0f0a19e3096 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.53 for PostgreSQL 7.4.1. +# Generated by GNU Autoconf 2.53 for PostgreSQL 7.4.2. # # Report bugs to . # @@ -258,8 +258,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='7.4.1' -PACKAGE_STRING='PostgreSQL 7.4.1' +PACKAGE_VERSION='7.4.2' +PACKAGE_STRING='PostgreSQL 7.4.2' PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org' ac_unique_file="src/backend/access/common/heaptuple.c" @@ -769,7 +769,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 7.4.1 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 7.4.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -830,7 +830,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 7.4.1:";; + short | recursive ) echo "Configuration of PostgreSQL 7.4.2:";; esac cat <<\_ACEOF @@ -950,7 +950,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 7.4.1 +PostgreSQL configure 7.4.2 generated by GNU Autoconf 2.53 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @@ -967,7 +967,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 7.4.1, which was +It was created by PostgreSQL $as_me 7.4.2, which was generated by GNU Autoconf 2.53. Invocation command line was $ $0 $@ @@ -17990,7 +17990,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by PostgreSQL $as_me 7.4.1, which was +This file was extended by PostgreSQL $as_me 7.4.2, which was generated by GNU Autoconf 2.53. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18052,7 +18052,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -PostgreSQL config.status 7.4.1 +PostgreSQL config.status 7.4.2 configured by $0, generated by GNU Autoconf 2.53, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.in b/configure.in index b26c5fe1084..3c16a5ac705 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.301.2.5 2004/02/11 17:32:09 momjian Exp $ +dnl $Header: /cvsroot/pgsql/configure.in,v 1.301.2.6 2004/03/05 19:57:20 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -21,7 +21,7 @@ dnl The GNU folks apparently haven't heard that some people don't use dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir". m4_define([info], [doc]) m4_define([infodir], [docdir]) -AC_INIT([PostgreSQL], [7.4.1], [pgsql-bugs@postgresql.org]) +AC_INIT([PostgreSQL], [7.4.2], [pgsql-bugs@postgresql.org]) m4_undefine([infodir]) m4_undefine([info]) AC_SUBST(docdir) diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index cbed280b6cb..ae1b932268f 100644 --- a/doc/FAQ_DEV +++ b/doc/FAQ_DEV @@ -1,12 +1,12 @@ Developer's Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Sat Nov 29 23:56:43 EST 2003 + Last updated: Tue Feb 10 10:16:31 EST 2004 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) - The most recent version of this document can be viewed at the - postgreSQL Web site, http://www.PostgreSQL.org. + The most recent version of this document can be viewed at + http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html. _________________________________________________________________ General Questions diff --git a/doc/FAQ_MSWIN b/doc/FAQ_MSWIN index 34cf67b71c3..d753fedd5f8 100644 --- a/doc/FAQ_MSWIN +++ b/doc/FAQ_MSWIN @@ -1,7 +1,7 @@ How to install PostgreSQL on Windows ==================================== -$Date: 2003/12/13 16:57:36 $ +$Date: 2004/03/05 19:57:20 $ PostgreSQL requires the appropriate subset of Cygwin DLLs to be installed in order that it functions under Windows. diff --git a/doc/FAQ_german b/doc/FAQ_german index 32cb5464152..7ae89316772 100644 --- a/doc/FAQ_german +++ b/doc/FAQ_german @@ -5,8 +5,8 @@ Deutsche Übersetzung von Ian Barwick (barwick@gmx.net). - Letzte Aktualisierung der deutschen Übersetzung: Di., den 02.09.2003, - 10:00 CET + Letzte Aktualisierung der deutschen Übersetzung: Fr., den 02.01.2004, + 07:30 CET Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website: @@ -229,7 +229,8 @@ Weitere Informationen zum Status von PostgreSQL auf der Microsoft-Plattform befinden sich unter - http://techdocs.postgresql.org/guides/Windows (en.). + http://techdocs.postgresql.org/guides/Windows (en.) sowie + http://momjian.postgresql.org/main/writings/pgsql/win32.html (en.). Eine Portierung für Novell Netware 6 gibt es unter http://forge.novell.com. @@ -280,10 +281,10 @@ http://www.PostgreSQL.org - Es gibt außerdem einen IRC-Channel bei EFNet und bei OpenProjects, - Channel #PostgreSQL. Der FAQ-Autor Bruce Momjian nutzt den - Unix-Befehl: irc -c '#PostgreSQL' "$USER" irc.phoenix.net um daran - teilzunehmen. + Es gibt außerdem einen IRC-Channel bei EFNet und bei Freenode, Channel + #PostgreSQL. Unter UNIX/Linux können Sie mit z.B. irc -c '#PostgreSQL' + "$USER" irc.phoenix.net bzw. irc -c '#PostgreSQL' "$USER" + irc.freenode.net. daran teilnehmen. Eine Liste von Unternehmen, die Support für PostgreSQL auf kommerzieller Basis leisten, kann unter @@ -291,7 +292,7 @@ 1.7) Was ist die neueste Version von PostgreSQL? - Die neueste Version von PostgreSQL ist 7.3.4 . + Die neueste Version von PostgreSQL ist 7.4.1 . Die Freigabe einer neuen Version erfolgt im Schnitt ca. dreimal pro Jahr. @@ -386,14 +387,18 @@ PostgreSQL weist eine Performanz auf, die mit der von kommerziellen und anderen Open-Source-Datenbanken vergleichbar ist. In manchen Bereichen ist es schneller, in anderen - langsamen. Im Vergleich zu MySQL oder abgespeckten - Datenbank-Systemen sind INSERT- und UPDATE-Anweisungen aufgrund - des Transaktionsaufwands langsamer. MySQL hat allerdings keine - der oben erwähnten Eigenschaften. PostgreSQL setzt auf - Zuverlässigkeit und Funktionsumfang, obwohl selbstredend - ständig an Performanz- Verbesserungen gearbeitet wird. Ein - interessanter Vergleich zwischen PostgreSQL und MySQL befindet - sich unter dieser URL: + langsamer. + + Im Vergleich zu MySQL oder abgespeckten Datenbank-Systemen ist + PostgreSQL in Lastsituationen - z.B. bei zeitgleichen Zugriffen + durch mehrere Nutzer, komplexen Abfragen oder gleichzeitigen + Lese- und Schreibzugriffen schneller. MySQL ist nur bei + einfacheren SELECT-Abfragen mit wenigen Nutzern schneller. + MySQL hat allerdings wenige der oben erwähnten Eigenschaften. + PostgreSQL setzt auf Zuverlässigkeit und Funktionsumfang, dabei + wird selbstredend ständig an Performanz-Verbesserungen + gearbeitet. Ein interessanter Vergleich zwischen PostgreSQL und + MySQL befindet sich unter dieser URL: http://openacs.org/philosophy/why-not-mysql.html Zuverlässigkeit @@ -488,12 +493,11 @@ 2.3) Hat PostgreSQL eine grafische Benutzerschnittstelle? Es gibt mehrere grafische Schnittstellen für PostgreSQL, darunter - PgAccess ( http://www.pgaccess.org), PgAdmin II - (http://www.pgadmin.org, nur für Win32), RHDB Admin - (http://sources.redhat.com/rhdb/ ) und Rekall ( - http://www.thekompany.com/products/rekall/, proprietär). Es gibt - außerdem PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ), eine - web-basierte Schnittstelle. + PgAccess ( http://www.pgaccess.org), PgAdmin III + (http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ ) + und Rekall ( http://www.thekompany.com/products/rekall/, proprietär). + Es gibt außerdem PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ), + eine web-basierte Schnittstelle. 2.4) Welche Programmiersprachen und Schnittstellen gibt es? @@ -788,7 +792,7 @@ Es bestehen folgende Obergrenzen: Maximale Größe eine Datenbank? unbeschränkt (es existieren Datenbanken mit 4TB) - Maximale Größe einer Tabelle? 16 TB + Maximale Größe einer Tabelle? 32 TB Maximale Größe einer Zeile? 1,6 TB Maximale Größe einer Spalte? 1 GB Maximale Anzahl von Zeilen in einer Tabelle? @@ -802,7 +806,7 @@ verfügbaren Platten- und Speicherressourcen eingeschränkt sind. Extreme Größen können zu Leistungseinbußen führen. - Die maximale Tabellengröße von 16 TB benötigt keine + Die maximale Tabellengröße von 32 TB benötigt keine Large-File-Unterstützung im Betriebssystem. Große Tabellen werden in Dateien mit einer Größe von 1 GB aufgeteilt, wodurch etwaige dateisystem-bedingte Beschränkungen nicht relevant sind. @@ -1016,7 +1020,7 @@ BYTEA bytea Bytearray mit variabler L Werts? PostgreSQL bietet einen SERIAL-Datentyp. Dieser erzeugt automatisch - eine Sequenz und einen Index auf die angegebene Spalte. Zum Beispiel: + eine Sequenz auf die angegebene Spalte. Zum Beispiel: CREATE TABLE person ( id SERIAL, name TEXT @@ -1028,7 +1032,6 @@ BYTEA bytea Bytearray mit variabler L id INT4 NOT NULL DEFAULT nextval('person_id_seq'), name TEXT ); - CREATE UNIQUE INDEX person_id_key ON person ( id ); umgewandelt. @@ -1175,10 +1178,10 @@ BYTEA bytea Bytearray mit variabler L 4.22) Warum sind meine Unterabfragen (subqueries), die IN verwenden, so langsam? - Derzeit werden Unterabfragen mit der äusseren Abfrage verbunden, indem - für jede Reihe der äusseren Query die Ergebnisse der Unterabfrage - sequentiell geprüft werden. Um dies zu vermeiden, kann man IN durch - EXISTS ersetzen, z.B.: + In Versionen vor 7.4 werden Unterabfragen mit der äusseren Abfrage + verbunden, in dem für jede Reihe der äusseren Query die Ergebnisse der + Unterabfrage sequentiell geprüft werden. Um dies zu vermeiden, kann + man IN durch EXISTS ersetzen, z.B.: SELECT * FROM tabelle_1 WHERE spalte1 IN (SELECT spalte2 FROM tabelle_2) @@ -1189,8 +1192,9 @@ BYTEA bytea Bytearray mit variabler L WHERE EXISTS (SELECT spalte2 FROM tabelle_2 WHERE spalte1 = spalte2) Damit diese Abfrage effizient durchgeführt wird, sollte für 'spalte2' - ein Index angelegt worden sein. Die Einschränkung von Abfragen mit IN - wird in der nächsten PostgreSQL-Version (7.4) behoben werden. + ein Index angelegt worden sein. Ab PostgreSQL 7.4 IN verwendet die + gleichen Methoden wie die normale Tabellenverknüpfung und ist daher + soger EXISTS vorzuziehen. 4.23) Wie führe ich einen OUTER JOIN durch? @@ -1344,6 +1348,3 @@ BYTEA bytea Bytearray mit variabler L Verständnisfragen zum Inhalt der FAQ freue ich mich. Ich nehme auch allgemeine Fragen zu PostgreSQL gerne entgegen, verweise jedoch auf die Mailing-Listen als schnelle und zuverlässige Anlaufstellen. - - Diese Übersetzung basiert teilweise auf einer früheren Übersetzung von - Karsten Schulz (schulz@linux-systemhaus.de). diff --git a/doc/FAQ_polish b/doc/FAQ_polish index d89b8ea7abe..f98902093c5 100644 --- a/doc/FAQ_polish +++ b/doc/FAQ_polish @@ -1,18 +1,19 @@ Frequently Asked Questions (FAQ) o PostgreSQL - Ostatnia aktualizacja: Thu Apr 18 00:44:51 EDT 2002 + Ostatnia aktualizacja: Sobota Luty 7 22:16:21 EST 2004 + + Ostatnia aktualizacja tl/umaczenia: Piatek Marzec 5 19:31:12 EST 2004 Obecny maintainer: Bruce Momjian (pgman@candle.pha.pa.us) Tl/umaczenie: Marcin Mazurek (m.mazurek@netsync.pl) Najbardziej aktualna wersje tego dokumentu mozna znalezc pod adresem: - http://www.PostgreSQL.org/docs/faq-english.html. + http://www.PostgreSQL.org/docs/faqs/FAQ.html. Odpowiedzi na pytania dotyczace konkretnych systemów operacyjnych - mozna znalezc pod adresem: - http://www.PostgreSQL.org/users-lounge/docs/faq.html. + mozna znalezc pod adresem: http://www.PostgreSQL.org/docs/index.html. _________________________________________________________________ Pytania ogólne @@ -40,18 +41,17 @@ 2.1) Czy sa jakies driwery ODBC dla PostgreSQL? 2.2) Jakie istnieja narzedzia pozwalajace na dostep do PostgreSQL przez www? - 2.3) Czy istnieje jakies GUI dla PostgreSQL? Narzedzie do - raportowania? Interfejs dla "embedded query language"? + 2.3) Czy istnieje jakies GUI dla PostgreSQL? 2.4) Za pomoca jakich jezyków programowania mozna sie komunikowac z PostgreSQL? - Pytania administratora + Pytania dotyczace administracji 3.1) Jak moge zainstalowac PostgreSQL w innej lokalizacji niz /usr/local/pgsql? 3.2) Podczas startu postmaster'a, otrzymuje komunikat: Bad System Call lub "core dumped". Dlaczego? - 3.3) Podczas startu postmaster'a, otrzymuje komunikato bl/edzie: + 3.3) Podczas startu postmaster'a, otrzymuje komunikat o bl/edzie: IpcMemoryCreate. Dlaczego? 3.4) Podczas startu postmaster'a, otrzymuje komunikat o bl/edzie: IpcSemaphoreCreate. Dlaczego? @@ -61,8 +61,9 @@ 3.7) Jakie sa mozliwosci wyszukiwania bl/edów? 3.8) Skad sie bierze komunikat: "Sorry, too many clients" podczas próby pol/aczenia sie z baza danych? - 3.9) Co to za pliki typu pg_sorttempNNN.NN , które znajduja sie w - katalogu z plikami bazy danych? + 3.9) Jakie pliki znajduja sie w pg_temp? + 3.10) Dlaczego konieczne jest przy upgradzie PostgreSQL korzystanie ze + skryptów dump i restore? Pytania dotyczace uzytkowania @@ -72,7 +73,7 @@ zapytania? 4.3) Jak moge uzyskac liste wszystkich tabel czy innych rzeczy pod psql? - 4.4) Jak usunac kolumne z tabeli? + 4.4) Jak usunac kolumne z tabeli lub zmienic jej typ? 4.5) Jaki jest maksymalny rozmiar dla rzedu, tabeli i bazy danych? 4.6) Jak duzo miejsca w bazie danych jest potrzebne aby przechowac dane ze zwyczajnego pliku tekstowego? @@ -110,6 +111,10 @@ 4.23) Jak wykonac "outer join"? 4.24) Jak wykonywac zapytanie uzywajace kilku baz danych jednoczesnie? 4.25) Jak zwrócic w funkcji wiele rzedów lub kolumn? + 4.26) Dlaczego nie moge w sposób pewny tworzyc/usuwac tabel + tymczasowych w funkcjach PL/PgSQL? + 4.27) Jakie sa mozliwosci replikacji w PostgreSQL? + 4.28) Jakie mozliwosci szyfrowania oferuje PostgreSQL? Rozwijanie PostgreSQL @@ -125,7 +130,8 @@ 1.1) Co to jest PostgreSQL? Jak to wymawiac? - PostgreSQL wymawia sie Post-Gres-kju-el. + PostgreSQL wymawia sie Post-Gres-kju-el. Czesto podczas rozmów uzywany + jest termin "Postgres" PostgreSQL jest rozszerzeniem systemu zarzadzania bazami danych - POSTGRES, kolejna generacja rozwojowego prototypu DBMS. Mimo, ze @@ -137,11 +143,13 @@ Rozwój PostgreSQL jest prowadzony przez grupe ludzi z Internetu, komunikujacych sie poprzez mailowe listy dyskusyjne PostgreSQL. Obecnym koordynatorem jest Marc G. Fournier (scrappy@PostgreSQL.org). - (Zobacz ponizej jak sie przyl/aczyc). Ta grupa ludzi jest - odpowiedzialna za cal/y rozwój PostgreSQL. + (Zobacz pytanie 1.6 jak sie przyl/aczyc). Ta grupa ludzi jest + odpowiedzialna za cal/y rozwój PostgreSQL. PostgreSQL jest projektem + nie kontrolowanym przez zadna firme, aby wziac udzial/ w jego rozwoju + sprawdz, http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html Autorami PostgreSQL 1.01 byli Andrew Yu and Jolly Chen. Wiele innych - osób pomogl/o przy portowaniu, testowaniu, debugowaniu, i rozwijaniu + osób pomogl/o przy portowaniu, testowaniu, debugowaniu i rozwijaniu kodu. Oryginalny kod Postgresa, na którym zostal/ oparty PostgreSQL, byl/ wysil/kiem studentów oraz pracowników pracujacych pod kierownictwem profesora Michael'a Stonebraker'a z University of @@ -194,11 +202,11 @@ Klient - Mozliwa jest kompilacja bibliteki C libpq C, psql oraz innych + Mozliwa jest kompilacja bibliteki C libpq, psql oraz innych interfejsów i uruchamianie ich na platformie MS Windows. W tym wypadku klient jest uruchamiany na MS Windows a z serwerem komunikuje sie poprzez TCP/IP. Serwer moze dzial/ac na dowolnej wspieranej platformie - Unixowej. Plik win31.mak jest dol/aczony do zródel/, aby mozna byl/o + Unixowej. Plik win32.mak jest dol/aczony do zródel/, aby mozna byl/o stworzyc biblioteke libpq oraz program psql dzial/ajace w srodowisku Win32. PostgreSQL moze sie takze komunikowac z klientami ODBC. @@ -206,9 +214,17 @@ Serwer moze byc uruchamiany na Windows NT i Win2k uzywajac bibliotek Cygwin, Cygnus Unix/NT. W pliku pgsql/doc/FAQ_MSWIN znajdujacym sie w - zródl/ach lub pod adresem: MS Windows FAQ na naszych stronach. Nie - planujemy tworzyc portu przeznaczonego docelowo dla platformy - Microsoft. + zródl/ach lub pod adresem: + http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN na naszych + stronach. + + Obecnie prowadzone sa prace nad stworzeniem wersji dla MS Win + NT/200/XP. Jesli chcesz sie dowiedziec o obecnym statusie tych prac + zobacz http://techdocs.postgresql.org/guides/Windows and + http://momjian.postgresql.org/main/writings/pgsql/win32.html. + + Istnieje takze port pod Novell Netware 6 dostepny pod adresem + http://forge.novell.com. 1.5) Skad mozna sciagnac PostgreSQL? @@ -258,31 +274,31 @@ irc.phoenix.net. Lista firm oferujacych wsparcie na zasadach komercyjnych znajduje sie - pod adresem: - http://www.postgresql.org/users-lounge/commercial-support.html. + pod adresem: http://techdocs.postgresql.org/companies.php. 1.7) Jaka jest ostatnia dostepna wersja? - Ostatnia dostepna wersja PostgreSQL to 7.2.1. + Ostatnia dostepna wersja PostgreSQL to 7.4.1. - Planujemy publikowanie kolejnych wersji co cztery miesiace. + Planujemy publikowanie kolejnych wersji co szesc do osmiu miesiecy. 1.8) Jaka dokumentacja jest dostepna? Kilka manuali, stron podecznika man, oraz kilka przykl/adów do testowania sa zal/aczone w samej dystrybucji. Znajduja sie one w katalogu /doc. Manual moze byc takze przegladany poprzez strony www - pod adresem http://www.PostgreSQL.org/users-lounge/docs/. + pod adresem http://www.PostgreSQL.org/docs. Istnieja takze dwie ksiazki dostepne online pod adresami http://www.PostgreSQL.org/docs/awbook.html i http://www.commandprompt.com/ppbook/. Lista ksiazek o PostgreSQL, które mozna kupic znajduje sie pod adresem - http://www.postgresql.org/books/. Zbiór technicznych artykul/ów o - PostgreSQL znajduje sie pod adresem http://techdocs.postgresql.org/. + http://techdocs.PostgreSQL.org/techdocs/bookreviews.php. Zbiór + technicznych artykul/ów o PostgreSQL znajduje sie pod adresem + http://techdocs.postgresql.org/. psql posiada kilka wbudowanych polecen \d, za pomoca których mozna - sprawdzic informacje dotyczace typów, operatorów, funkcji, aggregatów + sprawdzic informacje dotyczace typów, operatorów, funkcji, agregatów itd. Na naszej stronie mozna znalezc duzo wiecej dokumentacji. @@ -327,7 +343,8 @@ Jest okol/o 12 osób, które maja uprawnienia do commit'owania w CVS PostgreSQL'a. Kazdy z nich submitowal/ tak wiele wysokiej jakosci patchy, ze stal/o sie niemozliwe dla obecnych commiterów byc z nimi na - biezaco, majac pewnosc ze sa to poprawki wysokiej jakosci. + biezaco, wiec musielismy im ufac i miec pewnosc, ze ich poprawki sa + wysokiej jakosci. 1.13) Jak moge zgl/aszac bl/edy? @@ -349,44 +366,33 @@ integrity, oraz wyrafinowany system blokowania. Mamy takze wl/asciowsci których inni nie posiadaja, jak typy definiowane przez uzytkownika, dziedziczenie, rules, multi-version - concurrency control, która redukuje problemy z blokowaiem (lock - contention). + concurrency control, która redukuje problemy z blokowaniem + (lock contention). Wydajnosc - PostgreSQL dzial/a w dwóch trybach. Standardowy tryb fsync - zrzuca kazda zakonczona transakcje na dysk, gwarantujac w ten - sposób to, ze jesli system operacyjny sie zawiesi lub straci - zasilanie wciagu kilku nastepnych sekund, wszystkie Twoje dane - zostana bezpiecznie zapisane na dysku. W tym trybie, jestesmy - wolniejsi niz wiekszosc komercyjnych baz danych, czesciowo - dlatego ze niewiele z nich wykonuje taki sposób zapisywania - danych jako domyslne ustawienie. W trybie no-fsync z regul/y - jestesmy szybsi niz komercyjne bazy danych, chociaz w tym - wypadku zawieszenie sie systemu moze spowodowac uszkodzenie - danych. Pracujemy nad tym, aby stworzyc posredni tryb, który - powoduje mniejsza redukcje wydajnosci niz tryb fsync i pozwoli - na integralnosc danych w przeciagu 30 sekund do zal/amania sie - systemu operacyjnego. - Porównujac do MySQL czy innych prostych baz danych, jestesmy - wolniejsi przy wykonywaniu insertów/updatów przez narzut - spowodowany przez transakcje. Oczywiscie MySQL nie posiada - zadnej z wymienionych wyzej mozliwosci. PostgreSQL zostal/ - zbudowany aby byc DBMS elastycznym i bogatym z róznorakie - mozliwosci, aczkolwiek dbamy, aby poprawiac jego wydajnosc - poprzez analize kodu zródl/owego i profilowanie. Ciekawe - porównanie PostgreSQL i MySQL mozna znalezc pod adresem - http://openacs.org/why-not-mysql.html - Kazde pol/aczenie klienta jest obsl/ugiwane przez nas poprzez - stworzenie nowego procesu Unixowego. Procesy backendu dziela - bufory danych oraz informacje o blokadach. Uzywajac wielu - procesorów, rózne backendy moga bez problemu dzial/ac na - róznych procesorach. + Wydajnosc PostgreSQL jest podobna do innych komercyjnych i open + source baz danych. W niektórych sytuacjach jest szybszy w + niektórych wolniejszy. W porównianiu do MySQL lub mniejszych + baz danych jestesmy szybsi przy wielu uzytkownikach, + skomplikowaych zapytaniach i duzym obciazeniu podczas. MySQL + jest szybszy dla prostych SELECTów wykonywanych przez niewielu + uzytkowników. Spowodowane jest to narzutem, który sie pojawia + przy transakcjach. Oczywiscie MySQL nie ma wiekszosci z + rozwiazan opisanych powyzej w sekcji Mozliwosci . PostgreSQL + zostal/ stworzony z mysla o stabilnosci, oraz szerokiej gamie + mozliwosci, ale mimo to staramy sie w kazdej wersji poprawiac + jego wydajnosc. Ciekawe porównanie PostgreSQL i MySQL mozna + znalezc pod adresem + http://openacs.org/philosophy/why-not-mysql.html Dodatkowo, + MySQL jest firma, która dystrybuuje jej produkty poprzez zasade + Open Source i wymaga wykupienia licencji w przypadku tworzenia + close-source software, co ie ma miejsca w przypadku PostgreSQL. Stabilnosc Zdajemy sobie sprawe, ze DBMS musi byc stabilny, w przeciwnym wypadku jest bez wartosci. Staramy sie publikowac kod stabilny, dobrze przetestowany, z minimum mozliwych bl/edów. Kazde - wydanie poprzedza conajmniej miesiac testów wersji beta. + wydanie poprzedza co najmniej miesiac testów wersji beta. Patrzac na historie wydan PostgreSQL widac, ze dostarczamy stabilne, dobrze sprawdzone wersje, które sa gotowe do uzycia w srodowisku produkcyjnym. Myslimy, ze proces publikowania @@ -415,9 +421,9 @@ 1.15) W jaki sposób moge wesprzec finansowo PostgreSQL? PostgreSQL korzysta z najlepszej infrastruktury od samego poczatku - istnienia projektu, tzn. szesciu lat. Wszystko to zawdzieczamy - Marc'owi Fournier'owi, który stworzyl/ ta infrastrukture i zarzadza - nia od lat. + istnienia projektu, czyli roku 1996 kiedy rozpoczelismy prace. + Wszystko to zawdzieczamy Marc'owi Fournier'owi, który stworzyl/ ta + infrastrukture i zarzadza nia od lat. Wysokiej jakosci infrastruktura jest bardzo wazna dla kazdego projektu open-source. Zapobiega przerwom w rozwoju projektu i jakimkolwiek @@ -427,7 +433,7 @@ tanie. Istnieje wiele róznych miesiecznych, czy jednorazowych wydatków, które trzeba ponosic aby wszystko dzial/al/o jak nalezy. Jesli Ty, badz Twoja firma moze wspomóc finansowo rozwój PostgreSQL - odwiedz adres: http://www.pgsql.com/pg_goodies gdzie opisane jest jak + odwiedz adres: http://store.pgsql.com/shopping/ gdzie opisane jest jak to zrobic. Chociaz na stronie wspomniana jest nazwa PostgreSQL Inc, "datki" sa @@ -436,69 +442,72 @@ wysl/ac czek na adres kontaktowy. _________________________________________________________________ + Jesli mozesz sie pochwalic udanymi wdrozeniami PostgreSQL, prosimy + abys zgl/osil/ nam to na stronie: http://advocacy.postgresql.org. + User Client Questions 2.1) Czy sa jakies driwery ODBC dla PostgreSQL? Dostepne sa dwa driwery ODBC: PsqlODBC i OpenLink ODBC. - PsqlODBC jest dol/aczony do zródel/. Wiecej informacji na jego temat - mozesz znalezc pod adresem: ftp://ftp.PostgreSQL.org/pub/odbc/. + Mozesz pobrac PsqlODBC z adresu + http://gborg.postgresql.org/project/psqlodbc/projdisplay.php OpenLink ODBC moze byc pobrany z adresu: http://www.openlinksw.com. Wspól/pracuje ze standardowym oprogramowaniem klienckim ODBC wiec w ten sposób mozesz korzystac z PostgreSQL ODBC dostepnego na kazdej - plaformie która wspiera (Win, Mac, Unix, VMS). + pltaformie która wspiera (Win, Mac, Unix, VMS). Autorzy beda prawdopodobnie sprzedawac ten produkt osobom które wymagaja komercyjnego wsparcia, ale wersja darmowa bedzie zawsze dostepna. Wszystkie pytania mozesz wysyl/ac na adres: postgres95@openlink.co.uk. - Sprawdz takze rozdzial/ o ODBC w "Programmer's Guide". - 2.2) Jakie istnieja narzedzia pozwalajace na dostep do PostgreSQL przez www? Dobry podrecznik dla poczatkujacych o dostepie do bazy danych przez www mozesz znalezc pod adresem: http://www.webreview.com - Inny znajduje sie pod adresem: http://www.phone.net/home/mwm/hotlist/. - Do integracji z www, swietnym rozwiazaniem jest PHP. Mozesz znalezc wiecej informacji na ten temat pod adresem http://www.php.net. Wiele osób w przypadku skomplikowanych rozwiazan uzywa Perl'a i - modul/u CGI.pl. + modul/u CGI.pl lub mod_perl. - 2.3) Czy istnieje jakies GUI dla PostgreSQL? Narzedzie do raportowania? - Interfejs dla "embedded query language"? + 2.3) Czy istnieje jakies GUI dla PostgreSQL? - Mamy cal/kiem mil/y interfejs graficzny, który zostal/ nazwany - pgaccess i jest on dostarczany jako czesc zródel/. pgaccess posiada - takze generator raportów. Mozna go znalezc pod adresem - http://www.flex.ro/pgaccess + Tak, istnieje kilka interfejsów graficznych dla PostgreSQL. Wsród nich + PgAccess ( http://www.pgaccess.org), PgAdmin III + (http://www.pgadmin.org), RHDB Admin (http://sources.redhat.com/rhdb/ + ) oraz Rekall ( http://www.thekompany.com/products/rekall/, + komercyjny). Istnieje takze PHPPgAdmin ( + http://phppgadmin.sourceforge.net/ ), webowy interfejs dla PostgreSQL. - Udostepnilismy takze ecpg, który jest "embedded SQL query language - interface" dla jezyka C. + Wiecej informacji na ten temat znajduje sie pod adresem See + http://techdocs.postgresql.org/guides/GUITools. 2.4) Za pomoca jakich jezyków programowania mozna sie komunikowac z PostgreSQL? - Mamy wsparcie dla: + Najbardziej popularne jezyki posiiadaja wl/asny interfejs dla + PostgreSQL. Sprawdz liste rozszerzen dla intersujacego Ciebie jezyka + programowania. + + Ze zródl/ami PostreSQL dystrubuowane sa interfejsy dla nastepujacych + jezyków programowania: * C (libpq) - * C++ (libpq++) * Embedded C (ecpg) * Java (jdbc) - * Perl (perl5) - * ODBC (odbc) * Python (PyGreSQL) * TCL (libpgtcl) - * C Easy API (libpgeasy) - * Embedded HTML (PHP z http://www.php.net) + + Inne interfejsy sa dostepne pod adresem: http://gborg.postgresql.org w + sekcji Drivers/Interfaces. _________________________________________________________________ - Pytania administratora + Pytania dotyczace administracji 3.1) Jak moge zainstalowac PostgreSQL w innej lokalizacji niz /usr/local/pgsql? @@ -566,7 +575,7 @@ pojedyncze INSERTy. Po drugie polecenia SQL nie zawarte w bloku okreslajacym transakcje - BEGIN WORK/COMMIT, sa traktowane jako pojedyncza transakcja. Rozwaz wykonanie kilku polecen/zdan SQL w - jednym bloku transakcji. To redukuje narzut powodowany przez + jednym bloku transakcji. To redukuje narzut nakl/adany przez transakcje. Przy duzych zmianach w danych, warto usunac i stworzyc na nowo indeksy. @@ -665,25 +674,36 @@ limit na maksymalna liczbe procesów backendu to obawa o wyczerpanie zasobów systemu. - W wersjach PostgreSQL wczesniejszych niz 6.5, maksymalna liczba - backendów byl/a ustawiona na 64, a zmiana tej wartosci wymaga - rekompliacji po zmianie stal/ej MaxBackendId w pliku - include/storage/sinvaladt.h. - - 3.9) Co to sa za pliki typu: pg_sorttempNNN.NN, które znajduja sie w - katalogu z plikami bazy danych? + 3.9) Jakie pliki znajduja sie w pg_temp? - Sa to tymczasowe pliki utworzone przez executor. Dla przykl/adu, jesli - jakas operacja sortowania jest wymagana do wykonania ORDER BY, a samo - sortowanie wymaga wiecej miejsca niz paratmetr backendu -S ustawil/ do - wykorzystania, wtedy tymczasowe pliki sa uzywane do przechowywania - tych danych. + Katalog ten zawiera tymczasowe pliki utworzone przez executor. Dla + przykl/adu, jesli jakas operacja sortowania jest wymagana do wykonania + ORDER BY, a samo sortowanie wymaga wiecej miejsca niz parametr + backendu -S ustawil/ do wykorzystania, wtedy tymczasowe pliki sa + uzywane do przechowywania tych danych. Pliki tymczasowe powinny byc usuniete automatycznie, ale mogl/o sie to nie stac jesli proces backendu w miedzyczasie nie zakonczyl/ sie poprawnie podczas operacji sortowania. Jesli w danym momencie nie dzial/aja zadne procesy backendów mozesz spokojnie usunac pliki pg_tempNNN.NN. + + 3.9) Dlaczego konieczne jest przy upgradzie PostgreSQL korzystanie ze + skryptów dump i restore? + + Twórcy PostgreSQL dokonuja jedynie mal/ych zmian pomiedzy mal/ymi + upgradami wersji, np z 7.2 do 7.2.1, wtedy upgrade nie wymaga + korzystania z dump i restore. Przy wiekszych zmianach, np. z wersji + 7.2 do 7.3, czesto zmianymaja wpl/yw na format przechowywanych danych. + Zmiany te sa na tyle skomplikowane, ze nie utrzymujemy zgodosci z + poprzednimi wersjami PostgreSQL. dump pozwala na wydostanie danych w + takiej postaci, w której l/atwe jest ich zaimportowanie do nowszych + wersji bez kl/opotu. + + W wydaniach gdzie zmiany nie dotycza formatu danych na dysku, mozna + wykorzystac skryptu pg_upgrade, do upgradu bez uzycia dump/restore. + Dokumentacja do danego wydania zawiera informacje czy mozliwe jest + uzycie pg_upgrade. _________________________________________________________________ Pytania dotyczace uzywania @@ -706,6 +726,13 @@ pierwszych rzedów, byc moze bedzie koniecznosc wykonania zapytania do momentu az zostana znalezione pozadane wyniki. + Aby otrzymac losowy rzad, uzyj: + SELECT col + FROM tab + ORDER BY random() + LIMIT 1; + + 4.3) Jak moge uzyskac liste wszystkich tabel czy innych rzeczy pod psql? Mozesz sprawdzic zawartosc zródel/ psql, a konkretnie plik @@ -714,36 +741,44 @@ wtedy po wykonaniu polecenia z backslashem wyswietlane bedzie zapytanie, które w rzeczywistosci jest wykonywane. - 4.4) Jak usunac kolumne z tabeli? + 4.4) Jak usunac kolumne z tabeli lub zmienic jej typ? - Nie mamy zaimplementowanego ALTER TABLE DROP COLUMN, ale mozesz zrobic - tak: - SELECT ... -- wybierz zawartosc wszystkich kolumn poza ta jedna której chc -esz sie pozbyc + DROP COLUMNT zostal/o dodane w wersji 7.3 przy poleceniu ALTER TABLE + DROP COLUMN. We wczesniejszych wersjach mozesz zrobic tak: + BEGIN; + LOCAL TABLE old_table; + SELECT ... -- wybierz wszystkie kolumny poza ta jedna której chcesz sie po +zbyc INTO TABLE new_table FROM old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO old_table; + Aby zmienic typ danych kolumny mozesz zrobic tak: + 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) Jaki jest maksymalny rozmiar dla rzedu, tabeli i bazy danych? Oto wszystkie ograniczenia: - Maksymalny rozmiar dla bazdy danych? nieograniczony ( istnieja bazy dan -ych o wielkosci 500 GB databases ) - Maksymalny rozmiar dla tabeli? 16 TB - Maksymalny rozmiar dla rzedu? nieograniczony w 7.1 i pózniejszyc -h - Maksymalny rozmiar pola? 1 GB w 7.1 and later + Maksymalny rozmiar dla bazdy danych? nieograniczony ( istnieja + bazy danych o wielkosci 32 TB databases ) + Maksymalny rozmiar dla tabeli? 32 TB + Maksymalny rozmiar dla rzedu? 1.6 TB + Maksymalny rozmiar pola? 1 GB Maksymalna liczba rzedów w tabeli? nieograniczona - Maksymalna liczba kolumn w tabeli? 250-1600 w zalezonosci od typów kolum -n - Makasymalna liczba indeksów na tabeli? nieograniczona + Maksymalna liczba kolumn w tabeli? 250-1600 w zalezonosci od typów ko +lumn + Makasymalna liczba indeksów na tabeli? nieograniczona Oczywiscie "nieograniczony" nie jest prawda tak do konca, istnieja ograniczenia wynikajace z dostepnego miejsca na dysku, pamieci/swapa. Kiedy wielkosci te beda bardzo duze moze odbic sie to na wydajnosci. - Maksymalny rozmiar tabeli, czyli 16 TB nie wymaga od systemu + Maksymalny rozmiar tabeli, czyli 32 TB nie wymaga od systemu operacyjnego wsparcia dla duzych plików. Duze tabele sa przechowywane jako pliki o rozmiarze 1 GB, wiec ograniczenia co do wielkosci plików narzucone przez system plików nie sa istotne. @@ -786,6 +821,9 @@ n zawieraja pewne dane, wiec w pewnych przypadkach moga byc cal/kiem duze. + NULLe sa przechowywane jako mapy bitowe, wiec uzywaja bardzo mal/o + miejsca. + 4.7) Jak moge sprawdzic jakie tabele, klucze, bazy danych i uzytkownicy sa utworzeni? @@ -821,14 +859,32 @@ n sortowanie jest zazwyczaj szybsze nie wyszukiwanie za pomoca indeksu na duzej tabeli. Jakkolwiek LIMIT w pol/aczeniu z ORDER BY czesto bedzie wykorzystywal/ - indeksów poniewaz jedynie mal/a czesc z tabeli jest zwracana. + indeksy poniewaz jedynie mal/a czesc z tabeli jest zwracana. W + rzeczywistosci, chociaz MAX() i MIN() nie uzywaja indeksów, mozliwe + jest aby zwrócic te wartosci uzywajac indeksów poprzez uzycie ORDER BY + i LIMIT. + SELECT col + FROM tab + ORDER BY col [ DESC ] + LIMIT 1; + + Jesli uwazasz, ze optimizer myli sie wybierajac sequential scan, uzyj + SET enable_seqscan TO 'off' i uruchom testy aby sprawdzic czy wtym + wypadku zapytanie bedzie szybciej wykonywane. Kiedy uzywa sie operatorów dopasujacych takich jak LIKE lub ~, indeksy - beda uzywane jedynie jesli poczatek wyszukiwania jest oparty na - poczatku l/ancucha tekstu. Dlatego, aby uzywac indeksów, dopasowania - operatorem LIKE nie moga sie zaczynac %, a dopasowania operatorem ~ - (dopasowania regularne) musza sie zaczynac znakiem specjalnym ^. - + beda uzywane jedynie w pewnych wypadkach: + * Poczatek wyszukiwania jest oparty na poczatku l/ancucha tekstu. + + wzorce LIKE nie moga sie zaczynac % + + dopasowania operatorem ~ (dopasowania regularne) musza sie + zaczynac znakiem specjalnym ^. + * Poczatek wyszukiwania nie moze sie zaczynac od klas znaków, np. + [a-e]. + * Case-insensitive searches such as ILIKE and ~* do not utilise + indexes. Instead, use functional indexes, which are described in + section 4.12. + * Standardowe locale C musi byc uzyte przy wykonywaniu initdb + 4.9) Jak moge sprawdzic w jakis sposób "query optimizer" wykonuje moje zapytanie? @@ -869,13 +925,12 @@ n queries) bez wykorzystywania zasobozernego wyszukiwania. 4.12) Jak moge uzywac wyrazen regularnych w zapytaniach i zapytan - case-insensitive w wyrazeniach regularnych? jak korzystac z indeksów dla + case-insensitive w wyrazeniach regularnych? Jak korzystac z indeksów dla zapytan case-insensitive? Operator ~ moze byc wykorzystywany do wyszukiwania za pomoca wyrazen regularnych, a ~* do wyszukiwania case-insensitive z wyrazeniami - regularnymi. Wariant case-insensitive dla LIKE zostal/ nazwany ILIKE i - jest dostepny w PostgreSQL 7.1 i pózniejszych wersjach. + regularnymi. Wariant case-insensitive dla LIKE zostal/ nazwany ILIKE. Porównania case-insensitive sa zazwyczaj wykonywane w nastepujacy sposób: @@ -897,31 +952,35 @@ n Type Nazwa wewnetrzna Uwagi -------------------------------------------------- -"char" char 1 znak -CHAR(#) bpchar wypel/niane pustymi znakami do podanej dl/ug -osci -VARCHAR(#) varchar rozmiar okresla maksymalna dl/ugosc, nie ma +VARCHAR(n) varchar rozmiar okresla maksymalna dl/ugosc, nie ma tutaj wypel/niania +CHAR(n) bpchar wypel/niane pustymi znakami do podanej dl/ug +osci TEXT text bez limitu na dl/ugosc l/ancucha BYTEA bytea zmiennej dl/ugosci tablica bajtów (null-byte safe) +"char" char 1 znak Jesli bedziesz przegladac katalogi systemowe lub komunikaty o bl/edach czesto spotkasz sie z podanymi powyzej nazwami wewnetrznymi. - Ostatnie cztery typy powyzej to tzw typy "varlena" (np. pierwsze + Pierwsze cztery typy powyzej to tzw typy "varlena" (np. pierwsze cztery bajty na dysku to dl/ugosc, po których jest data). Dlatego faktyczna dl/ugosc takiego l/ancucha jest troche wieksza niz zadeklarowany rozmiar. Te typy takze podlegaja kompresji lub moga byc przechowywane out-of-line jako TOAST, wiec faktyczne zuzycie miejsca na dysku moze byc mniejsze niz oczekiwane. + VARCHAR(n) jest najodpowiedniejszy do przechowywania l/ancuchów o + róznej dl/ugosci ale okresla on maksymalna jego dl/ugosc. TEXT jest + najlepszy dla l/ancuchów o dowolnej dl/ugosci, nie przekraczajacej + 1GB. - CHAR() jast najlepszym typem do przechowywania l/ancuchów o tej samej - dl/ugosci. VARCHAR() jest najodpowiedniejszy do przechowywania - l/ancuchów o róznej dl/ugosci ale okresla on maksymalna jego dl/ugosc. - TEXT jest najlepszy dla l/ancuchów o dowolnej dl/ugosci, nie - przekraczajacej 1GB. BYTEA sl/uzy do przechowywania danych binarnych, - w szczególnosci dla danych zawierajacych NULL bajty. + CHAR(n) jast najlepszym typem do przechowywania l/ancuchów o tej samej + dl/ugosci. CHAR(n) wypel/nia dane do zadanej dl/ugosci, podczas gdy + VARCHAR(n) przechowuje jedynie dane dostarczone. BYTEA sl/uzy do + przechowywania danych binarnych, w szczególnosci dla danych + zawierajacych NULL bajty. Wszystkie typy opisane tutaj maja podobne + charakterystyki jesli chodzi o wydajnosc. 4.15.1) Jak moge utworzyc pole które samo zwieksza swoja wartosc? @@ -1039,16 +1098,16 @@ BYTEA bytea zmiennej dl/ugosci tablica bajt * range variable, table name, table alias Liste terminów zwiazanych z bazami danych mozesz znalezc pod tym - adresem:http://www.comptechnews.com/~reaster/dbdesign.html + adresem:http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/ + glossary/glossary.html. 4.18) Skad bierze sie ten bl/ad "ERROR: Memory exhausted in AllocSetAlloc()"? - Jesli uzywasz wersji starszej niz 7.1, upgrade moze rozwiazac ten - problem. Jest takze mozliwe, ze po prostu wyczerpal/a Ci sie pamiec - wirtualna (virtual memory) w systemie lub Twój kernel ma zbyt nisko - ustawione limity dla pewnych zasobów. Spróbuj wykonac nastepujace - polecenia zanim uruchomisz postmaster'a: + Prawdopodobnie wyczerpal/a Ci sie pamiec wirtualna (virtual memory) w + systemie lub Twój kernel ma zbyt nisko ustawione limity dla pewnych + zasobów. Spróbuj wykonac nastepujace polecenia zanim uruchomisz + postmaster'a: ulimit -d 262144 limit datasize 256m @@ -1087,24 +1146,31 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP ); 4.22) Dlaczego zapytania uzywajace IN sa takie wolne? - Obecnie l/aczymy podzapytania w outer queries poprzez sekwencyjne - przeszukiwanie wyników podzapytania dla kazdego rzedu z outer query. - Mozna to ominac zastepujac IN przez EXISTS: + W wersjach wczesniejszych niz 7.4 l/aczymy podzapytania w outer + queries poprzez sekwencyjne przeszukiwanie wyników podzapytania dla + kazdego rzedu z outer query. Jesli podzapytanie zwraca jedynie kilka + rzedów a zewnetrzne zapytanie zwraca ich wiele, IN jest najszybsze. + Aby przyspieszyc inne zapytania mozna zastapic IN przez EXISTS: SELECT * FROM tab - WHERE col1 IN (SELECT col2 FROM TAB2) + WHERE col IN (SELECT subcol FROM subtab) na: SELECT * FROM tab - WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2) + WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col) - Mamy zamiar poprawic to ograniczenie w przyszl/ych wydaniach. + Aby to rozwiazanie byl/o szybkie, subcol powinna byc kolumna + indeksowana. + + W wersji 7.4 i pózniejszych, IN w rzeczywistosci uzywa tej samej + wyrafinowanej techniki l/aczenia jak normalne zapytania i jest + preferowane nad uzywaniem EXISTS. 4.23) Jak wykonac "outer join"? - PostgreSQL 7.1 i pózniejsze wersje maja zaimplementowane outer join - wykorzystujac standardowa skl/adnie SQL. Ponizej dwa przykl/ady: + PostgreSQL ma zaimplementowane outer join wykorzystujac standardowa + skl/adnie SQL. Ponizej dwa przykl/ady: SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); @@ -1113,7 +1179,7 @@ SELECT * FROM t1 LEFT OUTER JOIN t2 USING (col); Te dwa identyczne zapytania l/acza kolumne t1.col z kolumna t2.col, - ale takze zwróca niepol/aczone rzedy w t1 (te które nie pasuja w t2). + ale takze zwróca niepol/aczone rzedy w t1 (te, które nie pasuja w t2). RIGHT join dodal/by niepol/aczone rzedy z tabeli t2. FULL join zwrócil/by rzedy plus dodatkowo wszystkie rzedy z tabel t1 i t2. Sl/owo OUTER jest opcjonalne i jest dodawane domyslnie przy LEFT, @@ -1138,37 +1204,75 @@ SELECT * katalogi systemowe, nie jest do konca jasne jak zapytanie pomiedzy róznymi bazami danych powinno sie zachowywac. - Oczywiscie klient moze l/aczyc sie z róznymi bazami danych i l/aczyc - informacje w ten sposób uzyskana. + contrib/dblink pozwala na wykonywanie zapytan poprzez rózne bazy + danych wywol/ujac odpowiednie funkcje. Oczywiscie klient moze l/aczyc + sie z róznymi bazami danych i l/aczyc informacje w ten sposób uzyskana + po stronie klienta. 4.25) Jak zwrócic w funkcji wiele rzedów lub kolumn? - Mozesz zwracac zbiory z funkcji PL/pgSQL uzywajac refcursors. Zobacz - http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html, - sekcje 23.7.3.3. + Mozesz w l/atwy sposób zwracac wiele rzedów lub kolumn uzywajac + funkcji z: + http://techdocs.postgresql.org/guides/SetReturningFunctions. + 4.26) Dlaczego nie moge w sposób pewny tworzyc/usuwac tabel tymczasowych w + funkcjach PL/PgSQL? + + PL/PgSQL przechowuje w cache zawartosc funkcji, niepozadanym efektem + tego jest to, ze gdy taka funkcja korzysta z tabel tymczasowych, które + sa pózniej kasowane i odtwarzane, a funkcja wywol/ywana jest + ponownie,jej wywol/anie nie powiedzie sie poniewaz cachowana funkcja + wciaz bedzie wskazywac na stara tablice tymczasowa. Rozwiazaniem tego + problemu jest uzywanie EXECUTE aby korzystac z tabel tymczasowych w + PL/PgSQL. To spowoduje, ze zapytanie bedzie parsowane przy kazdym + wywol/aniu funkcji. + + 4.27) Jakie sa mozliwosci replikacji w PostgreSQL? + + Jest kilka opcji aby stosowac replikacje typu master/slave. Ten typ pozwala + jedynie masterowi na dokonywanie zmian w bazie danych, a slave moze jedynie + te zmiany odczytywac. Na stronie + http://gborg.PostgreSQL.org/genpage?replication_research znajduje sie ich + lista. Replikacja typu multi-master jest w trakcie prac, opis projektu + znajduje sie pod adresem: + http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php. + 4.28) Jakie mozliwosci szyfrowania oferuje PostgreSQL? + + * contrib/pgcrypto zawiera wiele funkcji za pomoca, których mozemy + uzywac kryptografii w zapytaniach SQL. + * Aby szyfrowac transmisje od klienta do serwera, ten musi miec + ustawiona opcje ssl na true w pliku postgresql.conf, odpowiedni + wpis host lub hostssl musi wystepowac w pliku pg_hba.conf, oraz + sslmode nie moze byc wyl/aczone w kliencie. (Warto zwrócic uwage, + ze mozliwe jest takze uzywanie transportów szyfrujaców przez + strony trzecie, takie jak stunnel lub ssh, poza natywnym wsparciem + dla SSL przez PostgreSQL). + * Hasl/a uzytkowników bazy danych sa automatycznie szyfrowane od + wersji 7.3. W poprzednich wersjach, nalezy ta funkcjonalnosc + poprzez wl/aczenie opcji PASSWORD_ENCRYPTION w postgresql.conf. + * Serwer moze dzial/ac uzywajac szyfrowanego systemu plików. + Rozwijanie PostgreSQL 5.1) Napisal/em wl/asna funkcje. Kiedy uzyje jej w psql, program zrzuca pamiec (dump core)? - Problem moze byc spowodowany przez bardzo wiele rzeczy. Spróbuj - najpierw przetestowac Twoja funkcje w samodzielnie dzial/ajacym - programie. - + Problem moze byc spowodowany przez bardzo wiele rzeczy. Spróbuj najpierw + przetestowac Twoja funkcje w samodzielnie dzial/ajacym programie. 5.2) Jak moge dodac/zgl/osic nowe typy czy funkcje do PostgreSQL? - Wyslij Twoje propozycje na liste mailowa pgsql-hackers, wtedy - prawdopodobnie Twój kod znajdzie sie w katalogu contrib/. - + Wyslij Twoje propozycje na liste mailowa pgsql-hackers, wtedy + prawdopodobnie Twój kod znajdzie sie w katalogu contrib/. 5.3) Jak napisac funkcje C zwracajaca krotke (tuple)? - To wymaga wysil/ku tak olbrzymiego, ze nawet autorzy nigdy tego nie - prubowali, chociaz z zalozen wynika, ze jest to mozliwe. - + W wersjach PostgreSQL od numeru 7.3, funckje zwracajace tabele sa w pelni + wspierane w C, PL/PgSQL i SQL. Sprawdz w Programmer's Guide aby uzyskac + wiecej informacji. Przykl/ad funkcji napisanej w C zwracajacej tabele + zostal/ umieszczony w contrib/tablefunc. 5.4) Zmienil/em plik zródl/owy. Dlaczego po rekompilacji nie widac zmiany? - Pliki Makefiles nie maja dorzuconych odpowiednich zaleznosci dla - plików nagl/ówkowych (include files). Wykonaj najpierw make clean, a - nastepnie ponownie make. Jesli uzywasz GCC mozesz uzyc opcji - --enable-depend przy wykonywaniu configure aby + Pliki Makefiles nie maja dorzuconych odpowiednich zaleznosci dla plików + nagl/ówkowych (include files). Wykonaj najpierw make clean, a nastepnie + ponownie make. Jesli uzywasz GCC mozesz uzyc opcji --enable-depend przy + wykonywaniu configure aby kompilator mógl/ okreslic zaleznosci + samodzielnie. diff --git a/doc/FAQ_russian b/doc/FAQ_russian index ff526bb66f9..169d1670830 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -1,7 +1,7 @@ Otvety na chasto zadavaemye voprosy po PostgreSQL - Data poslednego obnovleniya: Sreda 19 noyabrya 11:50:04 EDT 2003 + Data poslednego obnovleniya: Vtornik 6 yanvarya 16:42:01 EDT 2003 Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) (pgman@candle.pha.pa.us) @@ -23,7 +23,7 @@ 1.4) Suschestvuyut li versii portirovannye ne na Unix sistemy? 1.5) Gde mozhno vzyat' PostgreSQL? 1.6) Gde poluchit' podderzhku? - 1.7) Kakaya poslednyaya versiya? + 1.7) Kakaya versiya poslednyaya? 1.8) Kakaya dokumentaciya imeetsya v nalichii? 1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih vozmozhnostyah? @@ -273,7 +273,7 @@ http://www.PostgreSQL.org - Esche suschestvuet IRC kanal na EFNet i Freenode, s nazvaniem + Esche suschestvuet IRC kanal na Freenode i EFNet, s nazvaniem #PostgreSQL. YA ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net. ili irc -c '#PostgreSQL' "$USER" irc.freenode.net. @@ -283,7 +283,7 @@ 1.7) Kakaya poslednyaya versiya? - Poslednij vypusk PostgreSQL - `eto versiya 7.4. + Poslednij vypusk PostgreSQL - `eto versiya 7.4.1 My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev. @@ -486,12 +486,11 @@ 2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya? Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL. - `Eto PgAccess (http://www.pgaccess.org, PgAdmin III - (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. + `Eto PgAccess (http://www.pgaccess.org), PgAdmin III + (http://www.pgadmin.org), 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. 2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL? diff --git a/doc/bug.template b/doc/bug.template index 7ce4c6b958d..13d13403869 100644 --- a/doc/bug.template +++ b/doc/bug.template @@ -27,7 +27,7 @@ System Configuration Operating System (example: Linux 2.4.18) : - PostgreSQL version (example: PostgreSQL-7.4.1): PostgreSQL-7.4.1 + PostgreSQL version (example: PostgreSQL-7.4.2): PostgreSQL-7.4.2 Compiler used (example: gcc 2.95.2) : diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index 764d2d82d09..7ff1653ef1c 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -10,14 +10,13 @@ alink="#0000ff">

Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Sat Nov 29 23:54:03 EST 2003

+

Last updated: Sat Feb 7 22:16:21 EST 2004

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)

-

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

Platform-specific questions are answered at 1.1) What is PostgreSQL? How is it pronounced? -

PostgreSQL is pronounced Post-Gres-Q-L.

+

PostgreSQL is pronounced Post-Gres-Q-L. The name "Postgres" is + also used in conversation.

PostgreSQL is an enhancement of the POSTGRES database management system, a next-generation DBMS research prototype. @@ -170,8 +170,12 @@ developers who all subscribe to the PostgreSQL development mailing list. The current coordinator is Marc G. Fournier (scrappy@PostgreSQL.org). (See - section 1.6 on how to join). This team is now - responsible for all development of PostgreSQL.

+ section 1.6 on how to join). This team is now + responsible for all development of PostgreSQL. It is a community + project and is not controlled by any company. To get involved, see + the developer's FAQ,http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html +

The authors of PostgreSQL 1.01 were Andrew Yu and Jolly Chen. Many others have contributed to the porting, testing, debugging, @@ -316,7 +320,7 @@ http://www.PostgreSQL.org -

There is also an IRC channel on EFNet and Freenode, +

There is also an IRC channel on Freenode and EFNet, channel #PostgreSQL. You can use the Unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net. or irc -c '#PostgreSQL' "$USER" irc.freenode.net.

@@ -326,7 +330,7 @@

1.7) What is the latest release?

-

The latest release of PostgreSQL is version 7.4.

+

The latest release of PostgreSQL is version 7.4.1.

We plan to have major releases every six to eight months.

@@ -446,7 +450,8 @@ release. There is an interesting Web page comparing PostgreSQL to MySQL at http://openacs.org/philosophy/why-not-mysql.html Also, MySQL is - is a company that distributes its products via open source, not an + is a company that distributes its products via open source, and requires + a commercial license for close-source software, not an open source development community like PostgreSQL.

@@ -927,7 +932,7 @@

Indexes do not require as much overhead, but do contain the data that is being indexed, so they can be large also.

-

NULLs are stored in bitmaps, so they +

NULLs are stored as bitmaps, so they use very little space.

4.7) How do I find out what tables, indexes, diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index 538d4d1b08d..9775e6c262b 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -12,16 +12,15 @@

Developer's Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Sat Nov 29 23:56:43 EST 2003

+

Last updated: Tue Feb 10 10:16:31 EST 2004

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)

-

The most recent version of this document can be viewed at the - postgreSQL Web site, http://www.PostgreSQL.org.
-

+

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

+

diff --git a/doc/src/FAQ/FAQ_german.html b/doc/src/FAQ/FAQ_german.html index 5042cdfdca9..afa1087f146 100644 --- a/doc/src/FAQ/FAQ_german.html +++ b/doc/src/FAQ/FAQ_german.html @@ -14,7 +14,7 @@ href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us).

Deutsche Übersetzung von Ian Barwick (barwick@gmx.net).

-

Letzte Aktualisierung der deutschen Übersetzung: Di., den 02.09.2003, 10:00 CET

+

Letzte Aktualisierung der deutschen Übersetzung: Fr., den 02.01.2004, 07:30 CET

Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:

Listę terminów związanych z bazami danych możesz znaleźć pod tym - adresem:http://www.comptechnews.com/~reaster/dbdesign.html

+ adresem:http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html.

4.18) Skąd bierze się ten błąd "ERROR: Memory exhausted in AllocSetAlloc()"?

-

Jeśli używasz wersji starszej niż 7.1, upgrade może rozwiązać ten - problem. Jest także mozliwe, że po prostu wyczerpała Ci się pamięć - wirtualna (virtual memory) w systemie lub Twój kernel ma zbyt nisko +

+ Prawdopodobnie wyczerpała Ci się pamięć wirtualna (virtual memory) + w systemie lub Twój kernel ma zbyt nisko ustawione limity dla pewnych zasobów. Spróbuj wykonać następujące polecenia zanim uruchomisz postmaster'a:

@@ -1332,29 +1402,38 @@ BYTEA           bytea              zmiennej d
     

4.22) Dlaczego zapytania używające IN sa takie wolne?

-

Obecnie łączymy podzapytania w outer queries poprzez sekwencyjne - przeszukiwanie wyników podzapytania dla każdego rzędu z outer query. - Można to ominąć zastępując IN przez +

W wersjach wcześniejszych niż 7.4 łączymy podzapytania w outer queries + poprzez sekwencyjne przeszukiwanie wyników podzapytania dla każdego rzędu + z outer query. Jeśli podzapytanie zwraca jedynie kilka rzędów a + zewnętrzne zapytanie zwraca ich wiele, IN jest najszybsze. + Aby przyspieszyć inne zapytania można zastąpić IN przez EXISTS:

 SELECT *
     FROM tab
-    WHERE col1 IN (SELECT col2 FROM TAB2)
+    WHERE col IN (SELECT subcol FROM subtab)
 
 
na:
 SELECT *
     FROM tab
-    WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
+    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
 
 
- Mamy zamiar poprawić to ograniczenie w przyszłych wydaniach. - +

+ Aby to rozwiązanie było szybkie, subcol powinna być kolumną + indeksowaną. +

+

+ W wersji 7.4 i późniejszych, IN w rzeczywistości używa tej samej + wyrafinowanej techniki łączenia jak normalne zapytania i jest + preferowane nad używaniem EXISTS. +

4.23) Jak wykonać "outer join"?

-

PostgreSQL 7.1 i późniejsze wersje mają zaimplementowane outer join - wykorzystując standardową składnie SQL. Poniżej dwa przykłady:

+

PostgreSQL ma zaimplementowane outer join + wykorzystując standardową składnię SQL. Poniżej dwa przykłady:

     SELECT *
@@ -1367,7 +1446,7 @@ BYTEA           bytea              zmiennej d
 

Te dwa identyczne zapytania łączą kolumnę t1.col z kolumną t2.col, - ale także zwrócą niepołączone rzędy w t1 (te które nie pasują w t2). + ale także zwrócą niepołączone rzędy w t1 (te, które nie pasują w t2). RIGHT join dodałby niepołączone rzędy z tabeli t2. FULL join zwróciłby rzędy plus dodatkowo wszystkie rzędy z tabel t1 i t2. Słowo OUTER jest opcjonalne i @@ -1401,19 +1480,63 @@ BYTEA bytea zmiennej d katalogi systemowe, nie jest do końca jasne jak zapytanie pomiędzy różnymi bazami danych powinno się zachowywać.

-

Oczywiście klient może łączyć się z różnymi bazami danych i łączyć - informację w ten sposób uzyskaną.

+

contrib/dblink pozwala na wykonywanie zapytań poprzez różne + bazy danych wywołując odpowiednie funkcje. Oczywiście klient może łączyć + się z różnymi bazami danych i łączyć informację w ten sposób uzyskaną + po stronie klienta.

4.25) Jak zwrócić w funkcji wiele rzędów lub kolumn?

-

Możesz zwracać zbiory z funkcji PL/pgSQL używając - refcursors. Zobacz - http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html, - sekcję 23.7.3.3.

- +

Możesz w łatwy sposób zwracać wiele rzędów lub kolumn używając + funkcji z: http://techdocs.postgresql.org/guides/SetReturningFunctions. +

4.26) Dlaczego nie mogę w sposób pewny + tworzyć/usuwać tabel tymczasowych w funkcjach PL/PgSQL?

+

+ PL/PgSQL przechowuje w cache zawartość funkcji, niepożądanym efektem tego + jest to, że gdy taka funkcja korzysta z tabel tymczasowych, które są + później kasowane i odtwarzane, a funkcja wywoływana jest ponownie,jej + wywołanie nie powiedzie się ponieważ cachowana funkcja wciąż będzie + wskazywać na stara tablicę tymczasową. Rozwiązaniem tego problemu jest + używanie EXECUTE aby korzystać z tabel tymczasowych w PL/PgSQL. To + spowoduje, że zapytanie będzie parsowane przy każdym wywołaniu + funkcji. +

+ +

4.27) Jakie są możliwości replikacji w PostgreSQL?

+

+ Jest kilka opcji aby stosować replikację typu master/slave. Ten typ + pozwala jedynie masterowi na dokonywanie zmian w bazie danych, a + slave może jedynie te zmiany odczytywać. Na stronie + http://gborg.PostgreSQL.org/genpage?replication_research + znajduje się ich lista. Replikacja typu multi-master jest w trakcie + prac, opis projektu znajduje się pod adresem: +http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php. +

+ +

4.28) Jakie możliwości szyfrowania oferuje + PostgreSQL?

+

+

    +
  • contrib/pgcrypto zawiera wiele funkcji za pomocą, których możemy używać + kryptografii w zapytaniach SQL. +
  • Aby szyfrować transmisję od klienta do serwera, ten musi mieć + ustawioną opcję ssl na true w pliku postgresql.conf, odpowiedni + wpis host lub hostssl musi występować w pliku pg_hba.conf, oraz + sslmode nie może być wyłączone w kliencie. (Warto zwrócić uwagę, że + możliwe jest także używanie transportów szyfrująców przez strony + trzecie, takie jak stunnel lub ssh, poza natywnym wsparciem dla SSL + przez PostgreSQL). +
  • Hasła użytkowników bazy danych są automatycznie szyfrowane od + wersji 7.3. W poprzednich wersjach, należy tą funkcjonalność poprzez + włączenie opcji PASSWORD_ENCRYPTION w postgresql.conf. +
  • Serwer może działać używając szyfrowanego systemu plików. +
+

+

Rozwijanie PostgreSQL

5.1) Napisałem własną funkcję. Kiedy użyję jej @@ -1432,8 +1555,12 @@ BYTEA bytea zmiennej d

5.3) Jak napisać funkcję C zwracającą krotkę (tuple)?

-

To wymaga wysiłku tak olbrzymiego, że nawet autorzy nigdy tego nie - prubowali, chociaż z zalożeń wynika, że jest to możliwe.

+

+ W wersjach PostgreSQL od numeru 7.3, funckje zwracające tabele są w + pęlni wspierane w C, PL/PgSQL i SQL. Sprawdź w Programmer's Guide aby + uzyskać więcej informacji. Przykład funkcji napisanej w C zwracającej + tabelę został umieszczony w contrib/tablefunc. +

5.4) Zmieniłem plik źródłowy. Dlaczego po rekompilacji nie widać zmiany?

@@ -1443,6 +1570,8 @@ BYTEA bytea zmiennej d make clean, a następnie ponownie make. Jeśli używasz GCC możesz użyć opcji --enable-depend przy wykonywaniu configure aby + kompilator mógł określić zależności samodzielnie. +

diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index 9c5bf192d77..513b08627b3 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -12,7 +12,7 @@

ďÔ×ĹÔŮ ÎÁ ŢÁÓÔĎ ÚÁÄÁ×ÁĹÍŮĹ ×ĎĐŇĎÓŮ ĐĎ PostgreSQL

-

äÁÔÁ ĐĎÓĚĹÄÎĹÇĎ ĎÂÎĎ×ĚĹÎÉŃ: óŇĹÄÁ 19 ÎĎŃÂŇŃ 11:50:04 EDT 2003

+

äÁÔÁ ĐĎÓĚĹÄÎĹÇĎ ĎÂÎĎ×ĚĹÎÉŃ: ÷ÔĎŇÎÉË 6 ŃÎ×ÁŇŃ 16:42:01 EDT 2003

áÎÇĚÉĘÓËÉĘ ×ÁŇÉÁÎÔ ÓĎĐŇĎ×ĎÖÄÁĹÔ: âŇŔÓ íĎÍŘŃÎ (Bruce Momjian) (pgman@candle.pha.pa.us)
@@ -35,7 +35,7 @@ 1.4) óŐÝĹÓÔ×ŐŔÔ ĚÉ ×ĹŇÓÉÉ ĐĎŇÔÉŇĎ×ÁÎÎŮĹ ÎĹ ÎÁ Unix ÓÉÓÔĹÍŮ?
1.5) çÄĹ ÍĎÖÎĎ ×ÚŃÔŘ PostgreSQL?
1.6) çÄĹ ĐĎĚŐŢÉÔŘ ĐĎÄÄĹŇÖËŐ?
- 1.7) ëÁËÁŃ ĐĎÓĚĹÄÎŃŃ ×ĹŇÓÉŃ?
+ 1.7) ëÁËÁŃ ×ĹŇÓÉŃ ĐĎÓĚĹÄÎŃŃ?
1.8) ëÁËÁŃ ÄĎËŐÍĹÎÔÁĂÉŃ ÉÍĹĹÔÓŃ × ÎÁĚÉŢÉÉ?
1.9) ëÁË ÎÁĘÔÉ ÉÎĆĎŇÍÁĂÉŔ Ď ÉÚ×ĹÓÔÎŮČ ĎŰÉÂËÁČ ÉĚÉ ĎÔÓŐÔÓÔ×ŐŔÝÉČ ×ĎÚÍĎÖÎĎÓÔŃČ?
@@ -320,7 +320,7 @@ http://www.PostgreSQL.org -

ĺÝĹ ÓŐÝĹÓÔ×ŐĹÔ IRC ËÁÎÁĚ ÎÁ EFNet É Freenode, Ó ÎÁÚ×ÁÎÉĹÍ +

ĺÝĹ ÓŐÝĹÓÔ×ŐĹÔ IRC ËÁÎÁĚ ÎÁ Freenode É EFNet, Ó ÎÁÚ×ÁÎÉĹÍ #PostgreSQL. ń ÉÓĐĎĚŘÚŐŔ ÄĚŃ ĐĎÄËĚŔŢĹÎÉŃ Ë ÜÔĎÍŐ ËÁÎÁĚŐ ËĎÍÁÎÄŐ Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net. ÉĚÉ irc -c '#PostgreSQL' "$USER" irc.freenode.net.

@@ -330,7 +330,7 @@

1.7) ëÁËÁŃ ĐĎÓĚĹÄÎŃŃ ×ĹŇÓÉŃ?

-

đĎÓĚĹÄÎÉĘ ×ŮĐŐÓË PostgreSQL - ÜÔĎ ×ĹŇÓÉŃ 7.4.

+

đĎÓĚĹÄÎÉĘ ×ŮĐŐÓË PostgreSQL - ÜÔĎ ×ĹŇÓÉŃ 7.4.1

íŮ ĐĚÁÎÉŇŐĹÍ ×ŮĐŐÓËÁÔŘ ÎĎ×ŮĹ ×ĹŇÓÉÉ ËÁÖÄŮĹ 6-8 ÍĹÓŃĂĹ×.

@@ -565,11 +565,10 @@ ĐĎĚŘÚĎ×ÁÔĹĚŃ?

äÁ, ÓŐÝĹÓÔ×ŐĹÔ ÎĹÓËĎĚŘËĎ ÇŇÁĆÉŢĹÓËÉČ ÉÎÔĹŇĆĹĘÓĎ× ÄĚŃ PostgreSQL. - üÔĎ PgAccess (http://www.pgaccess.org, - PgAdmin III (http://www.pgadmin.org, - Win32-only), RHDB Admin ( - http://sources.redhat.com/rhdb/) É Rekall - ( + üÔĎ 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, ĎÓÎĎ×ÁÎÎŮĘ diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index faaccaf0fde..564a2387733 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -3,8 +3,8 @@ /* * Parts of pg_config.h that you get with autoconf on other systems */ -#define PG_VERSION "7.4.1" -#define PG_VERSION_STR "7.4.1 (win32)" +#define PG_VERSION "7.4.2" +#define PG_VERSION_STR "7.4.2 (win32)" #define SYSCONFDIR "" diff --git a/src/interfaces/libpq/libpq.rc b/src/interfaces/libpq/libpq.rc index c93257204c7..3a824ce5f5e 100644 --- a/src/interfaces/libpq/libpq.rc +++ b/src/interfaces/libpq/libpq.rc @@ -1,8 +1,8 @@ #include VS_VERSION_INFO VERSIONINFO - FILEVERSION 7,4,1,0 - PRODUCTVERSION 7,4,1,0 + FILEVERSION 7,4,2,0 + PRODUCTVERSION 7,4,2,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS__WINDOWS32 @@ -15,13 +15,13 @@ BEGIN BEGIN VALUE "CompanyName", "\0" VALUE "FileDescription", "PostgreSQL Access Library\0" - VALUE "FileVersion", "7, 4, 1, 0\0" + VALUE "FileVersion", "7, 4, 2, 0\0" VALUE "InternalName", "libpq\0" VALUE "LegalCopyright", "Copyright (C) 2003\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libpq.dll\0" VALUE "ProductName", "PostgreSQL\0" - VALUE "ProductVersion", "7, 4, 1, 0\0" + VALUE "ProductVersion", "7, 4, 2, 0\0" END END BLOCK "VarFileInfo"