diff options
author | Bruce Momjian | 2004-03-05 19:57:22 +0000 |
---|---|---|
committer | Bruce Momjian | 2004-03-05 19:57:22 +0000 |
commit | 49bc9c45c9aae7710da4ec4d97b1988f8ed089ef (patch) | |
tree | 9fde31e6dee2ba437c9be60d7bef135e8d98b8fa | |
parent | aeda110cb9a905e6ad579184a7959e29f9f59a89 (diff) |
Brand 7.4.2. Release notes still need work.
-rw-r--r-- | INSTALL | 4 | ||||
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | doc/FAQ_DEV | 6 | ||||
-rw-r--r-- | doc/FAQ_MSWIN | 2 | ||||
-rw-r--r-- | doc/FAQ_german | 71 | ||||
-rw-r--r-- | doc/FAQ_polish | 444 | ||||
-rw-r--r-- | doc/FAQ_russian | 19 | ||||
-rw-r--r-- | doc/bug.template | 2 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ.html | 25 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_DEV.html | 9 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_german.html | 53 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_polish.html | 511 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_russian.html | 17 | ||||
-rw-r--r-- | src/include/pg_config.h.win32 | 4 | ||||
-rw-r--r-- | src/interfaces/libpq/libpq.rc | 8 |
16 files changed, 717 insertions, 480 deletions
@@ -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 <[email protected]>. # @@ -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='[email protected]' 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], [[email protected]]) +AC_INIT([PostgreSQL], [7.4.2], [[email protected]]) 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 ([email protected]) - 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 ([email protected]). - 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�nge 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�nge 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�nge 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�nge 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�nge 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 ([email protected]). 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 ([email protected]) Tl/umaczenie: Marcin Mazurek ([email protected]) 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 ([email protected]). - (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: - 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. - - 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. + 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(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�w (null-byte * 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) @@ -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"> <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1> - <P>Last updated: Sat Nov 29 23:54:03 EST 2003</P> + <P>Last updated: Sat Feb 7 22:16:21 EST 2004</P> <P>Current maintainer: Bruce Momjian (<A href= "mailto:[email protected]">[email protected]</A>)<BR> </P> - <P>The most recent version of this document can be viewed at <A - href= + <P>The most recent version of this document can be viewed at <A href= "http://www.PostgreSQL.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.</P> <P>Platform-specific questions are answered at <A href= @@ -157,7 +156,8 @@ <H4><A name="1.1">1.1</A>) What is PostgreSQL? How is it pronounced?</H4> - <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>.</P> + <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>. The name "Postgres" is + also used in conversation.</P> <P>PostgreSQL is an enhancement of the POSTGRES database management system, a next-generation <SMALL>DBMS</SMALL> research prototype. @@ -170,8 +170,12 @@ developers who all subscribe to the PostgreSQL development mailing list. The current coordinator is Marc G. Fournier (<A href= "mailto:[email protected]">[email protected]</A>). (See - section <a href="#1.6">1.6</a> on how to join). This team is now - responsible for all development of PostgreSQL.</P> + section <a href="#1.6">1.6</a> 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,<A href= + "http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A> + </P> <P>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 @@ <A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A> </BLOCKQUOTE> - <P>There is also an IRC channel on EFNet and Freenode, + <P>There is also an IRC channel on Freenode and EFNet, channel <I>#PostgreSQL</I>. You can use the Unix command <CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> or <CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE></P> @@ -326,7 +330,7 @@ <H4><A name="1.7">1.7</A>) What is the latest release?</H4> - <P>The latest release of PostgreSQL is version 7.4.</P> + <P>The latest release of PostgreSQL is version 7.4.1.</P> <P>We plan to have major releases every six to eight months.</P> @@ -446,7 +450,8 @@ release. There is an interesting Web page comparing PostgreSQL to MySQL at <A href="http://openacs.org/philosophy/why-not-mysql.html"> http://openacs.org/philosophy/why-not-mysql.html</A> 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.<BR> <BR> @@ -927,7 +932,7 @@ <P>Indexes do not require as much overhead, but do contain the data that is being indexed, so they can be large also.</P> - <P><SMALL>NULL</SMALL>s are stored in bitmaps, so they + <P><SMALL>NULL</SMALL>s are stored as bitmaps, so they use very little space.</P> <H4><A name="4.7">4.7</A>) 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 @@ <H1>Developer's Frequently Asked Questions (FAQ) for PostgreSQL</H1> - <P>Last updated: Sat Nov 29 23:56:43 EST 2003</P> + <P>Last updated: Tue Feb 10 10:16:31 EST 2004</P> <P>Current maintainer: Bruce Momjian (<A href= "mailto:[email protected]">[email protected]</A>)<BR> </P> - <P>The most recent version of this document can be viewed at the - postgreSQL Web site, <A href= - "http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>.<BR> - </P> + <P>The most recent version of this document can be viewed at <A href= + "http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A>.</P> + <HR> <BR> 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:[email protected]">[email protected]</a>).</p> <p>Deutsche �bersetzung von Ian Barwick (<a href="mailto:[email protected]">[email protected]</a>).</p> - <p>Letzte Aktualisierung der deutschen �bersetzung: Di., den 02.09.2003, 10:00 CET</p> + <p>Letzte Aktualisierung der deutschen �bersetzung: Fr., den 02.01.2004, 07:30 CET</p> <p>Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:</p> <ul> @@ -220,7 +220,7 @@ href="mailto:[email protected]">[email protected]</a>).</p> in der Vorbereitung.</p> <p>Weitere Informationen zum Status von PostgreSQL auf der Microsoft-Plattform - befinden sich unter <a href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</a> (en.).</p> + befinden sich unter <a href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</a> (en.) sowie <a href="http://momjian.postgresql.org/main/writings/pgsql/win32.html"> http://momjian.postgresql.org/main/writings/pgsql/win32.html</a> (en.).</p> <p>Eine Portierung f�r Novell Netware 6 gibt es unter <a href="http://forge.novell.com">http://forge.novell.com</a>.</p> @@ -273,9 +273,10 @@ href="mailto:[email protected]">[email protected]</a>).</p> <blockquote> <a href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</a> </blockquote> - <p>Es gibt au�erdem einen IRC-Channel bei EFNet und bei OpenProjects, Channel - <em>#PostgreSQL</em>. Der FAQ-Autor Bruce Momjian nutzt den Unix-Befehl: - <small>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</small> um daran teilzunehmen.</p> + <p>Es gibt au�erdem einen IRC-Channel bei EFNet und bei Freenode, Channel + <em>#PostgreSQL</em>. Unter UNIX/Linux k�nnen Sie mit z.B. + <small>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</small> bzw. <small>irc -c + '#PostgreSQL' "$USER" irc.freenode.net.</small> daran teilnehmen.</p> <p>Eine Liste von Unternehmen, die Support f�r PostgreSQL auf kommerzieller Basis leisten, kann unter @@ -284,7 +285,7 @@ href="mailto:[email protected]">[email protected]</a>).</p> <h4><a name="1.7">1.7</a>) Was ist die neueste Version von PostgreSQL?</h4> - <p>Die neueste Version von PostgreSQL ist 7.3.4 .</p> + <p>Die neueste Version von PostgreSQL ist 7.4.1 .</p> <p>Die Freigabe einer neuen Version erfolgt im Schnitt ca. dreimal pro Jahr.</p> @@ -374,13 +375,15 @@ href="mailto:[email protected]">[email protected]</a>).</p> <dt><b>Performanz</b></dt> <dd><p>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 + manchen Bereichen ist es schneller, in anderen langsamer.</p> + <p>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: <a href="http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</a></p> </dd> @@ -479,9 +482,8 @@ href="mailto:[email protected]">[email protected]</a>).</p> <p>Es gibt mehrere grafische Schnittstellen f�r PostgreSQL, darunter 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>, - nur f�r Win32), RHDB Admin (<a + PgAdmin III (<a + href="http://www.pgadmin.org">http://www.pgadmin.org</a>, RHDB Admin (<a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/ </a>) und Rekall (<a href="http://www.thekompany.com/products/rekall/"> http://www.thekompany.com/products/rekall/</a>, propriet�r). Es gibt @@ -785,7 +787,7 @@ href="mailto:[email protected]">[email protected]</a>).</p> <pre> 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? @@ -799,7 +801,7 @@ href="mailto:[email protected]">[email protected]</a>).</p> verf�gbaren Platten- und Speicherressourcen eingeschr�nkt sind. Extreme Gr��en k�nnen zu Leistungseinbu�en f�hren.</p> - <p>Die maximale Tabellengr��e von 16 TB ben�tigt keine Large-File-Unterst�tzung + <p>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.</p> @@ -1012,7 +1014,7 @@ BYTEA bytea Bytearray mit variabler L�nge Werts?</h4> <p>PostgreSQL bietet einen <small>SERIAL</small>-Datentyp. Dieser erzeugt automatisch - eine Sequenz und einen Index auf die angegebene Spalte. Zum Beispiel:</p> + eine Sequenz auf die angegebene Spalte. Zum Beispiel:</p> <pre> CREATE TABLE person ( id SERIAL, @@ -1025,7 +1027,6 @@ BYTEA bytea Bytearray mit variabler L�nge id INT4 NOT NULL DEFAULT nextval('person_id_seq'), name TEXT ); - CREATE UNIQUE INDEX person_id_key ON person ( id ); </pre><p> umgewandelt.</p> <p>Die <em>create_sequence</em> Man-Page liefert weitere Informationen �ber Sequenzen. @@ -1180,8 +1181,8 @@ BYTEA bytea Bytearray mit variabler L�nge <h4><a name="4.22">4.22</a>) Warum sind meine Unterabfragen (subqueries), die IN verwenden, so langsam?</h4> - <p>Derzeit werden Unterabfragen mit der �usseren Abfrage verbunden, indem - f�r jede Reihe der �usseren Query die Ergebnisse der Unterabfrage + <p>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 <small>IN</small> durch <small>EXISTS</small> ersetzen, z.B.:</p> <pre> @@ -1196,8 +1197,10 @@ BYTEA bytea Bytearray mit variabler L�nge WHERE EXISTS (SELECT spalte2 FROM tabelle_2 WHERE spalte1 = spalte2) </pre> <p> Damit diese Abfrage effizient durchgef�hrt wird, sollte f�r '<em>spalte2</em>' - ein Index angelegt worden sein. Die Einschr�nkung von Abfragen mit <small>IN</small> - wird in der n�chsten PostgreSQL-Version (7.4) behoben werden.</p> + ein Index angelegt worden sein. Ab PostgreSQL 7.4 <small>IN</small> verwendet + die gleichen Methoden wie die normale Tabellenverkn�pfung und ist daher soger + <small>EXISTS</small> vorzuziehen. + </p> <h4><a name="4.23">4.23</a>) Wie f�hre ich einen <small>OUTER JOIN</small> durch?</h4> @@ -1355,8 +1358,6 @@ BYTEA bytea Bytearray mit variabler L�nge entgegen, verweise jedoch auf die Mailing-Listen als schnelle und zuverl�ssige Anlaufstellen.</p> - <p>Diese �bersetzung basiert teilweise auf einer fr�heren �bersetzung von Karsten - Schulz (<a href="mailto:[email protected]">[email protected]</a>).</p> </body> </html> diff --git a/doc/src/FAQ/FAQ_polish.html b/doc/src/FAQ/FAQ_polish.html index 56a052cf66f..85e04fbaf75 100644 --- a/doc/src/FAQ/FAQ_polish.html +++ b/doc/src/FAQ/FAQ_polish.html @@ -15,7 +15,9 @@ <H1>Frequently Asked Questions (FAQ) o PostgreSQL</H1> - <P>Ostatnia aktualizacja: Thu Apr 18 00:44:51 EDT 2002</P> + <P>Ostatnia aktualizacja: Sobota Luty 7 22:16:21 EST 2004</P> + + <P>Ostatnia aktualizacja t�umaczenia: Pi�tek Marzec 5 19:31:12 EST 2004</P> <P>Obecny maintainer: Bruce Momjian (<A href= "mailto:[email protected]">[email protected]</A>)<BR> @@ -24,16 +26,15 @@ "mailto:[email protected]">[email protected]</A>)<BR> </P> - <P>Najbardziej aktualn� wersj� tego dokumentu mo�na znale�� pod adresem: <A href= - "http://www.Postgresql.org/docs/faq-english.html">http://www.PostgreSQL.org/docs/faq-english.html</A>.</P> + "http://www.Postgresql.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.</P> <P>Odpowiedzi na pytania dotycz�ce konkretnych system�w operacyjnych mo�na znale�� pod adresem: <A href= - "http://www.PostgreSQL.org/users-lounge/docs/faq.html">http://www.PostgreSQL.org/users-lounge/docs/faq.html</A>.</P> + "http://www.PostgreSQL.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html</A>.</P> <HR> <H2 align="center">Pytania og�lne</H2> @@ -64,20 +65,19 @@ PostgreSQL?<BR> <A href="#2.2">2.2</A>) Jakie istniej� narz�dzia pozwalaj�ce na dost�p do PostgreSQL przez www?<BR> - <A href="#2.3">2.3</A>) Czy istnieje jakie� GUI dla PostgreSQL? - Narz�dzie do raportowania? Interfejs dla "embedded query language"?<BR> + <A href="#2.3">2.3</A>) Czy istnieje jakie� GUI dla PostgreSQL?<BR> <A href="#2.4">2.4</A>) Za pomoc� jakich j�zyk�w programowania mo�na si� komunikowa� z PostgreSQL?<BR> - <H2 align="center">Pytania administratora</H2> + <H2 align="center">Pytania dotycz�ce administracji</H2> <A href="#3.1">3.1</A>) Jak mog� zainstalowa� PostgreSQL w innej lokalizacji ni� <I>/usr/local/pgsql</I>?<BR> <A href="#3.2">3.2</A>) Podczas startu <I>postmaster'a</I>, otrzymuj� komunikat: <I>Bad System Call</I> lub "core dumped". Dlaczego?<BR> <A href="#3.3">3.3</A>) Podczas startu <I>postmaster'a</I>, - otrzymuj� komunikato b��dzie: <I>IpcMemoryCreate</I>. Dlaczego?<BR> + otrzymuj� komunikat o b��dzie: <I>IpcMemoryCreate</I>. Dlaczego?<BR> <A href="#3.4">3.4</A>) Podczas startu <I>postmaster'a</I>, otrzymuj� komunikat o b��dzie: <I>IpcSemaphoreCreate</I>. Dlaczego?<BR> <A href="#3.5">3.5</A>) W jaki spos�b mog� kontrolowa� po��czenia z @@ -87,9 +87,9 @@ <A href="#3.7">3.7</A>) Jakie s� mo�liwo�ci wyszukiwania b��d�w?<BR> <A href="#3.8">3.8</A>) Sk�d si� bierze komunikat: <I>"Sorry, too many clients"</I> podczas pr�by po��czenia si� z baz� danych?<BR> - <A href="#3.9">3.9</A>) Co to za pliki typu <I>pg_sorttempNNN.NN</I> - , kt�re znajduj� si� w katalogu z plikami bazy danych?<BR> - + <A href="#3.9">3.9</A>) Jakie pliki znajduj� si� w <I>pg_temp</I>?<BR> + <A href="#3.10">3.10</A>) Dlaczego konieczne jest przy upgradzie + PostgreSQL korzystanie ze skrypt�w dump i restore?<BR> <H2 align="center">Pytania dotycz�ce u�ytkowania</H2> <A href="#4.1">4.1</A>) Jaka jest r�nica pomi�dzy kursorami @@ -98,7 +98,8 @@ jedynie kilka pierwszych wynik�w zapytania?<BR> <A href="#4.3">4.3</A>) Jak mog� uzyska� list� wszystkich tabel czy innych rzeczy pod <I>psql</I>?<BR> - <A href="#4.4">4.4</A>) Jak usun�� kolumn� z tabeli?<BR> + <A href="#4.4">4.4</A>) Jak usun�� kolumn� z tabeli lub zmieni� jej + typ?<BR> <A href="#4.5">4.5</A>) Jaki jest maksymalny rozmiar dla rz�du, tabeli i bazy danych?<BR> <A href="#4.6">4.6</A>) Jak du�o miejsca w bazie danych jest @@ -148,8 +149,13 @@ baz danych jednocze�nie?<BR> <A href="#4.25">4.25</A>) Jak zwr�ci� w funkcji wiele rz�d�w lub kolumn?<BR> - - + <A href="#4.26">4.26</A>) Dlaczego nie mog� w spos�b pewny + tworzy�/usuwa� tabel tymczasowych w funkcjach PL/PgSQL?<BR> + <A href="#4.27">4.27</A>) Jakie s� mo�liwo�ci replikacji w + PostgreSQL?<BR> + <A href="#4.28">4.28</A>) Jakie mo�liwo�ci szyfrowania oferuje + PostgreSQL?<BR> + <H2 align="center">Rozwijanie PostgreSQL</H2> <A href="#5.1">5.1</A>) Napisa�em w�asn� funkcj�. Kiedy u�yj� jej w <I>psql</I>, program zrzuca pami�� (dump core)?<BR> @@ -166,7 +172,8 @@ <H4><A name="1.1">1.1</A>) Co to jest PostgreSQL? Jak to wymawia�?</H4> - <P>PostgreSQL wymawia si� <I>Post-Gres-kju-el</I>.</P> + <P>PostgreSQL wymawia si� <I>Post-Gres-kju-el</I>. Cz�sto podczas + rozm�w u�ywany jest termin "Postgres"</P> <P>PostgreSQL jest rozszerzeniem systemu zarz�dzania bazami danych - POSTGRES, kolejn� generacj� rozwojowego prototypu <SMALL>DBMS</SMALL>. @@ -181,11 +188,14 @@ komunikuj�cych si� poprzez mailowe listy dyskusyjne PostgreSQL. Obecnym koordynatorem jest Marc G. Fournier (<A href= "mailto:[email protected]">[email protected]</A>). (Zobacz - poni�ej jak si� przy��czy�). Ta grupa ludzi jest odpowiedzialna za - ca�y rozw�j PostgreSQL.</P> + pytanie <A href="#1.6">1.6</A> jak si� przy��czy�). Ta grupa ludzi jest + odpowiedzialna za ca�y rozw�j PostgreSQL. PostgreSQL jest projektem + nie kontrolowanym przez �adn� firm�, aby wzi�� udzia� w jego rozwoju + sprawd�, <A href="http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html"> + http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</a></P> <P>Autorami PostgreSQL 1.01 byli Andrew Yu and Jolly Chen. - Wiele innych os�b pomog�o przy portowaniu, testowaniu, debugowaniu, i + Wiele innych os�b pomog�o przy portowaniu, testowaniu, debugowaniu i rozwijaniu kodu. Oryginalny kod Postgresa, na kt�rym zosta� oparty PostgreSQL, by� wysi�kiem student�w oraz pracownik�w pracuj�cych pod kierownictwem profesora Michael'a Stonebraker'a z University of @@ -243,11 +253,11 @@ <P><STRONG>Klient</STRONG></P> - <P>Mo�liwa jest kompilacja bibliteki C <I>libpq</I> C, psql oraz + <P>Mo�liwa jest kompilacja bibliteki C <I>libpq</I>, 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 si� poprzez TCP/IP. Serwer mo�e dzia�a� na dowolnej wspieranej platformie - Unixowej. Plik <I>win31.mak</I> jest do��czony + Unixowej. Plik <I>win32.mak</I> jest do��czony do �r�de�, aby mo�na by�o stworzy� bibliotek� <I>libpq</I> oraz program <I>psql</I> dzia�aj�ce w �rodowisku Win32. PostgreSQL mo�e si� tak�e komunikowa� z klientami <SMALL>ODBC</SMALL>.</P> @@ -257,9 +267,18 @@ <P>Serwer mo�e by� uruchamiany na Windows NT i Win2k u�ywaj�c bibliotek Cygwin, Cygnus Unix/NT. W pliku <I>pgsql/doc/FAQ_MSWIN</I> znajduj�cym si� w �r�d�ach lub pod adresem: <A href= - "http://www.postgresql.org/docs/faq-mswin.html">MS Windows FAQ</A> - na naszych stronach. Nie planujemy tworzy� portu przeznaczonego - docelowo dla platformy Microsoft.</P> + "http://www.postgresql.org/docs/faqs/text/FAQ_MSWIN">http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN</A> na naszych stronach.<P> + Obecnie prowadzone s� prace nad stworzeniem wersji dla MS Win + NT/200/XP. Je�li chcesz si� dowiedzie� o obecnym statusie tych prac + zobacz <A + href="http://techdocs.postgresql.org/guides/Windows">http://techdocs.postgresql.org/guides/Windows</A> and + <A + href="http://momjian.postgresql.org/main/writings/pgsql/win32.html">http://momjian.postgresql.org/main/writings/pgsql/win32.html</A>. + </P> + <P> + Istnieje tak�e port pod Novell Netware 6 dost�pny pod adresem <A + href="http://forge.novell.com">http://forge.novell.com</A>. + </P> <H4><A name="1.5">1.5</A>) Sk�d mo�na �ci�gn�� PostgreSQL?</H4> @@ -324,14 +343,13 @@ '#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P> <P>Lista firm oferuj�cych wsparcie na zasadach komercyjnych znajduje - si� pod adresem: <A href= - "http://www.postgresql.org/users-lounge/commercial-support.html">http://www.postgresql.org/users-lounge/commercial-support.html</A>.</P> + si� pod adresem: <A href= "http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P> <H4><A name="1.7">1.7</A>) Jaka jest ostatnia dost�pna wersja?</H4> - <P>Ostatnia dost�pna wersja PostgreSQL to 7.2.1.</P> + <P>Ostatnia dost�pna wersja PostgreSQL to 7.4.1.</P> - <P>Planujemy publikowanie kolejnych wersji co cztery miesi�ce.</P> + <P>Planujemy publikowanie kolejnych wersji co sze�� do o�miu miesi�cy.</P> <H4><A name="1.8">1.8</A>) Jaka dokumentacja jest dost�pna?</H4> @@ -339,8 +357,8 @@ testowania s� za��czone w samej dystrybucji. Znajduj� si� one w katalogu <I>/doc</I>. Manual mo�e by� tak�e przegl�dany poprzez strony www pod adresem <A href= - "http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</A>.</P> - + "http://www.PostgreSQL.org/docs">http://www.PostgreSQL.org/docs</A>.</P> + <P>Istniej� tak�e dwie ksi��ki dost�pne online pod adresami <A href= "http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A> @@ -348,14 +366,15 @@ "http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</A>. Lista ksi��ek o PostgreSQL, kt�re mo�na kupi� znajduje si� pod adresem <A href= - "http://www.postgresql.org/books/">http://www.postgresql.org/books/</A>. + "http://techdocs.PostgreSQL.org/techdocs/bookreviews.php"> + http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</A>. Zbi�r technicznych artyku��w o PostgreSQL znajduje si� pod adresem <A href= - "http://techdocs.postgresql.org/">http://techdocs.postgresql.org/</A>.</P> + "http://techdocs.PostgreSQL.org">http://techdocs.postgresql.org/</A>.</P> <P><I>psql</I> posiada kilka wbudowanych polece� \d, za pomoca kt�rych mo�na sprawdzi� informacje dotycz�ce typ�w, operator�w, funkcji, - aggregat�w itd.</P> + agregat�w itd.</P> <P>Na naszej stronie mo�na znale�� du�o wi�cej dokumentacji.</P> @@ -409,8 +428,8 @@ <P>Jest oko�o 12 os�b, kt�re maj� uprawnienia do commit'owania w <SMALL>CVS</SMALL> PostgreSQL'a. Ka�dy z nich submitowa� tak wiele wysokiej jako�ci patchy, �e sta�o si� niemo�liwe dla obecnych - commiter�w by� z nimi na bie��co, maj�c pewno�� �e s� to poprawki - wysokiej jako�ci.</P> + commiter�w by� z nimi na bie��co, wi�c musieli�my im ufa� i mie� + pewno��, �e ich poprawki s� wysokiej jako�ci.</P> <H4><A name="1.13">1.13</A>) Jak mog� zg�asza� b��dy?</H4> @@ -437,52 +456,37 @@ oraz wyrafinowany system blokowania. Mamy tak�e w�a�ciow�ci kt�rych inni nie posiadaj�, jak typy definiowane przez u�ytkownika, dziedziczenie, rules, multi-version concurrency control, kt�ra - redukuje problemy z blokowaiem (lock contention).<BR> + redukuje problemy z blokowaniem (lock contention).<BR> <BR> </DD> <DT><B>Wydajno��</B></DT> - <DD>PostgreSQL dzia�a w dw�ch trybach. Standardowy tryb <I>fsync</I> - zrzuca ka�d� zako�czon� transakcj� na dysk, gwarantuj�c w ten - spos�b to, �e je�li system operacyjny si� zawiesi lub straci - zasilanie wci�gu kilku nastepnych sekund, wszystkie Twoje dane - zostan� bezpiecznie zapisane na dysku. W tym trybie, jeste�my - wolniejsi ni� wi�kszo�� komercyjnych baz danych, cz�ciowo dlatego - �e niewiele z nich wykonuje taki spos�b zapisywania danych jako - domy�lne ustawienie. - W trybie <I>no-fsync</I> z regu�y jeste�my szybsi ni� komercyjne - bazy danych, chocia� w tym wypadku zawieszenie si� systemu mo�e - spowodowa� uszkodzenie danych. Pracujemy nad tym, aby stworzy� - po�redni tryb, kt�ry powoduje mniejsz� redukcj� wydajno�ci ni� tryb - fsync i pozwoli na integralno�� danych w przeci�gu 30 sekund do - za�amania si� systemu operacyjnego.<BR> - <BR> - Por�wnuj�c do MySQL czy innych prostych baz danych, jeste�my - wolniejsi przy wykonywaniu insert�w/updat�w przez narzut - spowodowany przez transakcje. Oczywi�cie MySQL nie posiada �adnej z - wymienionych wy�ej <I>mo�liwo�ci</I>. PostgreSQL zosta� zbudowany - aby by� DBMS elastycznym i bogatym z r�norakie mo�liwo�ci, - aczkolwiek dbamy, aby poprawia� jego wydajno�� poprzez analiz� - kodu �r�d�owego i profilowanie. Ciekawe por�wnanie PostgreSQL i MySQL - mo�na znale�� pod adresem <A href= - "http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</A><BR> - - <BR> - Ka�de po��czenie klienta jest obs�ugiwane przez nas poprzez - stworzenie nowego procesu Unixowego. Procesy backendu dziel� - bufory danych oraz informacj� o blokadach. U�ywaj�c wielu - procesor�w, r�ne backendy mog� bez problemu dzia�a� na r�nych - procesorach.<BR> + <DD>Wydajno�� 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 jeste�my szybsi przy wielu u�ytkownikach, skomplikowaych + zapytaniach i du�ym obci��eniu podczas. MySQL jest szybszy dla + prostych SELECT�w wykonywanych przez niewielu u�ytkownik�w. + Spowodowane jest to narzutem, kt�ry si� pojawia przy transakcjach. + Oczywi�cie MySQL nie ma wi�kszo�ci z rozwi�za� opisanych powy�ej + w sekcji <I> Mo�liwo�ci </I>. PostgreSQL zosta� stworzony z my�l� o + stabilno�ci, oraz szerokiej gamie mo�liwo�ci, ale mimo to staramy + si� w ka�dej wersji poprawia� jego wydajno��. + Ciekawe por�wnanie PostgreSQL i MySQL mo�na znale�� pod adresem <A href= + "http://openacs.org/philosophy/why-not-mysql.html">http://openacs.org/philosophy/why-not-mysql.html</A> + Dodatkowo, MySQL jest firm�, kt�ra dystrybuuje jej produkty poprzez + zasad� Open Source i wymaga wykupienia licencji w przypadku + tworzenia close-source software, co ie ma miejsca w przypadku + PostgreSQL.<BR> <BR> </DD> - <DT><B>Stabilno��</B></DT> <DD>Zdajemy sobie spraw�, �e <SMALL>DBMS</SMALL> musi by� stabilny, w przeciwnym wypadku jest bez warto�ci. Staramy si� publikowa� kod stabilny, dobrze przetestowany, z minimum mo�liwych b��d�w. Ka�de - wydanie poprzedza conajmniej miesi�c test�w wersji beta. Patrz�c na + wydanie poprzedza co najmniej miesi�c test�w wersji beta. Patrz�c na histori� wyda� PostgreSQL wida�, �e dostarczamy stabilne, dobrze sprawdzone wersje, kt�re s� gotowe do u�ycia w �rodowisku produkcyjnym. My�limy, �e proces publikowania kolejnych wersji @@ -521,20 +525,20 @@ PostgreSQL?</H4> <P>PostgreSQL korzysta z najlepszej infrastruktury od samego pocz�tku - istnienia projektu, tzn. sze�ciu lat. Wszystko to zawdzi�czamy Marc'owi - Fournier'owi, kt�ry stworzy� t� infrastruktur� i zarz�dza ni� od - lat.</P> + istnienia projektu, czyli roku 1996 kiedy rozpoczeli�my prac�. Wszystko + to zawdzi�czamy Marc'owi Fournier'owi, kt�ry stworzy� t� infrastruktur� + i zarz�dza ni� od lat.</P> <P>Wysokiej jako�ci infrastruktura jest bardzo wa�na dla ka�dego projektu open-source. Zapobiega przerwom w rozwoju projektu i jakimkolwiek przestojom.</P> <P>Oczywi�cie korzystanie z wysokiej jako�ci infrastruktury nie jest - tanie. Istnieje wiele r�znych miesi�cznych, czy jednorazowych + tanie. Istnieje wiele r�nych miesi�cznych, czy jednorazowych wydatk�w, kt�re trzeba ponosi� aby wszystko dzia�a�o jak nale�y. Je�li Ty, b�d� Twoja firma mo�e wspom�c finansowo rozw�j PostgreSQL odwied� adres: <A href= - "http://www.pgsql.com/pg_goodies">http://www.pgsql.com/pg_goodies</A> + "http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</A> gdzie opisane jest jak to zrobi�.</P> <P>Chocia� na stronie wspomniana jest nazwa PostgreSQL Inc, "datki" @@ -542,6 +546,9 @@ przeznaczane na finansowanie jakiejkolwiek firmy. Je�li wolisz, mo�esz wys�a� czek na adres kontaktowy.</P> <HR> + Je�li mo�esz si� pochwali� udanymi wdro�eniami PostgreSQL, prosimy + aby� zg�osi� nam to na stronie: <A + href="http://advocacy.postgresql.org/">http://advocacy.postgresql.org</a>. <H2 align="center">User Client Questions</H2> @@ -551,25 +558,21 @@ <P>Dost�pne s� dwa driwery <SMALL>ODBC</SMALL>: PsqlODBC i OpenLink <SMALL>ODBC</SMALL>.</P> - <P>PsqlODBC jest do��czony do �r�de�. Wi�cej informacji na jego temat - mo�esz znale�� pod adresem: <A href= - "ftp://ftp.PostgreSQL.org/pub/odbc/">ftp://ftp.PostgreSQL.org/pub/odbc/</A>.</P> - + <P>Mo�esz pobra� PsqlODBC z adresu <A + href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A> + </P> + <P>OpenLink <SMALL>ODBC</SMALL> mo�e by� pobrany z adresu: <A href= "http://www.openlinksw.com/">http://www.openlinksw.com</A>. Wsp�pracuje ze standardowym oprogramowaniem klienckim <SMALL>ODBC</SMALL> wi�c w ten spos�b mo�esz korzysta� z PostgreSQL <SMALL>ODBC</SMALL> - dost�pnego na ka�dej plaformie kt�r� wspiera (Win, Mac, Unix, VMS).</P> + dost�pnego na ka�dej pltaformie kt�r� wspiera (Win, Mac, Unix, VMS).</P> <P>Autorzy b�d� prawdopodobnie sprzedawa� ten produkt osobom kt�re wymagaj� komercyjnego wsparcia, ale wersja darmowa b�dzie zawsze dost�pna. Wszystkie pytania mo�esz wysy�a� na adres: <A href= "mailto:[email protected]">[email protected]</A>.</P> - <P>Sprawd� tak�e rozdzia� o <A href= - "http://www.postgresql.org/devel-corner/docs/programmer/odbc.html">ODBC - w "Programmer's Guide"</A>.</P> - <H4><A name="2.2">2.2</A>) Jakie istniej� narz�dzia pozwalaj�ce na dost�p do PostgreSQL przez www?</H4> @@ -577,59 +580,56 @@ przez www mo�esz znale�� pod adresem: <A href="http://www.webreview.com">http://www.webreview.com</A></P> - <P>Inny znajduje si� pod adresem: <A href= - "http://www.phone.net/home/mwm/hotlist/">http://www.phone.net/home/mwm/hotlist/.</A></P> - <P>Do integracji z www, �wietnym rozwi�zaniem jest PHP. Mo�esz znale�� wi�cej informacji na ten temat pod adresem <A href="http://www.php.net">http://www.php.net</A>.</P> <P>Wiele os�b w przypadku skomplikowanych rozwi�za� uzywa Perl'a i - modu�u CGI.pl.</P> - - <H4><A name="2.3">2.3</A>) Czy istnieje jakie� GUI dla PostgreSQL? - Narz�dzie do raportowania? Interfejs dla "embedded query - language"?</H4> - - <P>Mamy ca�kiem mi�y interfejs graficzny, kt�ry zosta� nazwany - <I>pgaccess</I> i jest on dostarczany jako cz�� �r�de�. - <I>pgaccess</I> posiada tak�e generator raport�w. Mo�na go znale�� - pod adresem <A href= - "http://www.flex.ro/pgaccess">http://www.flex.ro/pgaccess</A></P> - - <P>Udost�pnili�my tak�e <I>ecpg</I>, kt�ry jest "embedded SQL query - language interface" dla j�zyka C.</P> - - <H4><A name="2.4">2.4</A>) Za pomoc� jakich j�zyk�w programowania + modu�u CGI.pl lub mod_perl.</P> + + <H4><A name="2.3">2.3</A>) Czy istnieje jakie� GUI dla PostgreSQL?</H4> + + <P>Tak, istnieje kilka interfejs�w graficznych dla PostgreSQL. + W�r�d nich PgAccess (<A href="http://www.pgaccess.org"> + http://www.pgaccess.org</A>), PgAdmin III (<A + href="http://www.pgadmin.org">http://www.pgadmin.org</A>), + RHDB Admin (http://sources.redhat.com/rhdb/ ) oraz Rekall ( + http://www.thekompany.com/products/rekall/, komercyjny). Istnieje + tak�e PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ), webowy + interfejs dla PostgreSQL. + </P> + <P> + Wi�cej informacji na ten temat znajduje si� pod adresem See + <A href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</A>. + + <H4><A name="2.4">2.4</A>) Za pomoc� jakich j�zyk�w programowania mo�na si� komunikowa� z PostgreSQL?</H4> - <P>Mamy wsparcie dla:</P> + <P>Najbardziej popularne j�zyki posiiadaj� w�asny interfejs dla + PostgreSQL. Sprawd� list� rozszerze� dla intersuj�cego Ciebie j�zyka + programowania.</P> + + <P>Ze �r�d�ami PostreSQL dystrubuowane s� interfejsy dla + nast�puj�cych j�zyk�w programowania:</P> + <UL> <LI>C (libpq)</LI> - <LI>C++ (libpq++)</LI> - <LI>Embedded C (ecpg)</LI> <LI>Java (jdbc)</LI> - <LI>Perl (perl5)</LI> - - <LI>ODBC (odbc)</LI> - <LI>Python (PyGreSQL)</LI> <LI>TCL (libpgtcl)</LI> - - <LI>C Easy API (libpgeasy)</LI> - - <LI>Embedded <SMALL>HTML</SMALL> (<A href= - "http://www.php.net">PHP z http://www.php.net</A>)</LI> </UL> + Inne interfejsy s� dost�pne pod adresem: + <A href="http://gborg.postgresql.org"> http://gborg.postgresql.org</A> w + sekcji Drivers/Interfaces. <HR> - <H2 align="center">Pytania administratora</H2> + <H2 align="center">Pytania dotycz�ce administracji</H2> <H4><A name="3.1">3.1</A>) Jak mog� zainstalowa� PostgreSQL w innej lokalizacji ni� <I>/usr/local/pgsql</I>?</H4> @@ -677,7 +677,8 @@ <SMALL>SEMMNS</SMALL> i <SMALL>SEMMNI</SMALL> j�dra twojego systemu.</P> <P>Niedzia�aj�ce semafory mog� spowodowa� niepoprawne zamkni�cie - systemu w czasie intensywnego korzystania z bazy.</P> + systemu w czasie intensywnego korzystania z bazy.</P> + <P>Je�li tre�� b��du jest inna, mo�e to oznacza�, �e obs�uga semafor�w nie zosta�a w��czona do j�dra wcale. Zobacz PostgreSQL Administrator's Guide po bardziej szczeg�owe informacje o pami�ci @@ -692,8 +693,7 @@ <I>postmaster'a</I>, <B>oraz</B> nie umo�liwi si� autoryzacji na podstawie adresu host�w modyfikuj�c odpowiednio plik - <I>$PGDATA/pg_hba.conf</I>. To zmiany pozwol� na - po��czenia TCP/IP.</P> + <I>$PGDATA/pg_hba.conf</I>. To zmiany pozwol� na po��czenia TCP/IP.</P> <H4><A name="3.6">3.6</A>) Jak powinienem skonfigurowa� system baz danych aby uzyska� lepsz� wydajno��?</H4> @@ -709,7 +709,7 @@ okre�laj�cym transakcj� - <SMALL>BEGIN WORK/COMMIT</SMALL>, s� traktowane jako pojedyncza transakcja. Rozwa� wykonanie kilku polece�/zda� SQL w jednym bloku transakcji. To redukuje narzut - powodowany przez transakcj�. Przy du�ych zmianach w danych, warto + nak�adany przez transakcj�. Przy du�ych zmianach w danych, warto usun�� i stworzy� na nowo indeksy.</P> <P>Jest kilka opcji pozwalaj�cych na poprawienie wydajno�ci. @@ -825,19 +825,12 @@ maksymaln� liczb� proces�w backendu to obawa o wyczerpanie zasob�w systemu.</P> - <P>W wersjach PostgreSQL wcze�niejszych ni� 6.5, maksymalna liczba - backend�w by�a ustawiona na 64, a zmiana tej warto�ci wymaga - rekompliacji po zmianie sta�ej MaxBackendId w pliku - <I>include/storage/sinvaladt.h</I>.</P> + <H4><A name="3.9">3.9</A>) Jakie pliki znajduj� si� w <I>pg_temp</I>?</H4> - <H4><A name="3.9">3.9</A>) Co to s� za pliki typu: - <I>pg_sorttempNNN.NN</I>, - kt�re znajduj� si� w katalogu z plikami bazy danych?</H4> - - <P>S� to tymczasowe pliki utworzone przez executor. Dla przyk�adu, - je�li jaka� operacja sortowania jest wymagana do wykonania + <P>Katalog ten zawiera tymczasowe pliki utworzone przez executor. Dla + przyk�adu, je�li jaka� operacja sortowania jest wymagana do wykonania <SMALL>ORDER BY,</SMALL> a samo sortowanie wymaga wi�cej miejsca ni� - paratmetr backendu + parametr backendu <I>-S</I> ustawi� do wykorzystania, wtedy tymczasowe pliki s� u�ywane do przechowywania tych danych.</P> @@ -846,6 +839,25 @@ poprawnie podczas operacji sortowania. Je�li w danym momencie nie dzia�aj� �adne procesy backend�w mozesz spokojnie usun�� pliki pg_tempNNN.NN.</P> + + <H4><A name="3.9">3.9</A>) Dlaczego konieczne jest przy upgradzie + PostgreSQL korzystanie ze skrypt�w dump i restore?</H4> + <P> + Tw�rcy PostgreSQL dokonuj� jedynie ma�ych zmian pomi�dzy ma�ymi + upgradami wersji, np z 7.2 do 7.2.1, wtedy upgrade nie wymaga + korzystania z dump i restore. Przy wi�kszych zmianach, np. z wersji + 7.2 do 7.3, cz�sto zmianymaj� wp�yw na format przechowywanych danych. + Zmiany te s� na tyle skomplikowane, �e nie utrzymujemy zgodo�ci z + poprzednimi wersjami PostgreSQL. dump pozwala na wydostanie danych w + takiej postaci, w kt�rej �atwe jest ich zaimportowanie do nowszych + wersji bez k�opotu. + </P> + <P> + W wydaniach gdzie zmiany nie dotycz� formatu danych na dysku, mo�na + wykorzysta� skryptu pg_upgrade, do upgradu bez u�ycia dump/restore. + Dokumentacja do danego wydania zawiera informacj� czy mo�liwe jest + u�ycie pg_upgrade. + </P> <HR> <H2 align="center">Pytania dotycz�ce u�ywania</H2> @@ -870,6 +882,15 @@ <SMALL>ORDER BY</SMALL>, PostgreSQL mo�e wykorzysta� jedynie kilka pierwszych rz�d�w, by� mo�e b�dzie konieczno�� wykonania zapytania do momentu a� zostan� znalezione po��dane wyniki.</P> + <P> + Aby otrzyma� losowy rz�d, u�yj: + <PRE> + SELECT col + FROM tab + ORDER BY random() + LIMIT 1; + </PRE> + </P> <H4><A name="4.3">4.3</A>) Jak mog� uzyska� list� wszystkich tabel czy innych rzeczy pod <I>psql</I>?</H4> @@ -881,37 +902,53 @@ <I>-E</I> wtedy po wykonaniu polecenia z backslashem wy�wietlane b�dzie zapytanie, kt�re w rzeczywisto�ci jest wykonywane.</P> - <H4><A name="4.4">4.4</A>) Jak usun�� kolumn� z tabeli?</H4> - - <P>Nie mamy zaimplementowanego <SMALL>ALTER TABLE DROP - COLUMN,</SMALL> ale mo�esz zrobi� tak:</P> + <H4><A name="4.4">4.4</A>) Jak usun�� kolumn� z tabeli lub zmieni� + jej typ?</H4> + + <P>DROP COLUMNT zosta�o dodane w wersji 7.3 przy poleceniu ALTER + TABLE DROP COLUMN. We wcze��iejszych wersjach mo�esz zrobi� tak: + </P> <PRE> - SELECT ... -- wybierz zawarto�� wszystkich kolumn poza t� jedn� kt�rej chcesz si� pozby� + BEGIN; + LOCAL TABLE old_table; + SELECT ... -- wybierz wszystkie kolumny poza t� jedn� kt�rej chcesz si� pozby� INTO TABLE new_table FROM old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO old_table; </PRE> + <P> + Aby zmieni� typ danych kolumny mo�esz zrobi� tak: + </P> + <PRE> + 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; + </PRE> + </P> <H4><A name="4.5">4.5</A>) Jaki jest maksymalny rozmiar dla rz�du, tabeli i bazy danych?</H4> <P>Oto wszystkie ograniczenia:</P> <PRE> - Maksymalny rozmiar dla bazdy danych? nieograniczony ( istniej� bazy danych o wielko�ci 500 GB databases ) - Maksymalny rozmiar dla tabeli? 16 TB - Maksymalny rozmiar dla rz�du? nieograniczony w 7.1 i p�niejszych - Maksymalny rozmiar pola? 1 GB w 7.1 and later + Maksymalny rozmiar dla bazdy danych? nieograniczony ( istniej� + bazy danych o wielko�ci 32 TB databases ) + Maksymalny rozmiar dla tabeli? 32 TB + Maksymalny rozmiar dla rz�du? 1.6 TB + Maksymalny rozmiar pola? 1 GB Maksymalna liczba rz�d�w w tabeli? nieograniczona - Maksymalna liczba kolumn w tabeli? 250-1600 w zale�ono�ci od typ�w kolumn - Makasymalna liczba indeks�w na tabeli? nieograniczona + Maksymalna liczba kolumn w tabeli? 250-1600 w zale�ono�ci od typ�w kolumn + Makasymalna liczba indeks�w na tabeli? nieograniczona </PRE> Oczywi�cie "nieograniczony" nie jest prawd� tak do ko�ca, istniej� ograniczenia wynikaj�ce z dost�pnego miejsca na dysku, pami�ci/swapa. Kiedy wielko�ci te b�d� bardzo du�e mo�e odbi� si� to na wydajno�ci. - <P>Maksymalny rozmiar tabeli, czyli 16 TB nie wymaga od systemu + <P>Maksymalny rozmiar tabeli, czyli 32 TB nie wymaga od systemu operacyjnego wsparcia dla du�ych plik�w. Du�e tabele s� przechowywane jako pliki o rozmiarze 1 GB, wi�c ograniczenia co do wielko�ci plik�w narzucone przez system plik�w nie s� istotne.</P> @@ -957,6 +994,9 @@ <P>Indeksy nie powoduj� du�ego narzutu na zajmowane miejsce, ale zawieraj� pewne dane, wi�c w pewnych przypadkach moga by� ca�kiem du�e.</P> + <P> NULLe s� przechowywane jako mapy bitowe, wi�c u�ywaj� bardzo ma�o + miejsca. + </P> <H4><A name="4.7">4.7</A>) Jak mog� sprawdzi� jakie tabele, klucze, bazy danych i u�ytkownicy s� utworzeni?</H4> @@ -996,17 +1036,39 @@ nast�puje sortowanie jest zazwyczaj szybsze ni� wyszukiwanie za pomoc� indeksu na du�ej tabeli.</P> Jakkolwiek <SMALL>LIMIT</SMALL> w po��czeniu z <SMALL>ORDER BY</SMALL> - cz�sto b�dzie wykorzystywa� indeks�w poniew�z jedynie ma�a cz�c z - tabeli jest zwracana. + cz�sto b�dzie wykorzystywa� indeksy poniewa� jedynie ma�a cz�� z + tabeli jest zwracana. W rzeczywisto�ci, chocia� MAX() i MIN() nie + u�ywaj� indeks�w, mo�liwe jest aby zwr�ci� te warto�ci u�ywaj�c + indeks�w poprzez u�ycie ORDER BY i LIMIT. + </P> + <PRE> + SELECT col + FROM tab + ORDER BY col [ DESC ] + LIMIT 1; + </PRE> + <P> + Je�li uwa�asz, �e optimizer myli si� wybieraj�c sequential scan, u�yj + SET enable_seqscan TO 'off' i uruchom testy aby sprawdzi� czy wtym + wypadku zapytanie b�dzie szybciej wykonywane. <P>Kiedy u�ywa si� operator�w dopasuj�cych takich jak - <SMALL>LIKE</SMALL> lub <I>~</I>, indeksy b�d� u�ywane jedynie je�li - pocz�tek wyszukiwania jest oparty na pocz�tku �a�cucha tekstu. - Dlatego, aby u�ywac indeks�w, - dopasowania operatorem <SMALL>LIKE</SMALL> nie mog� si� zaczyna� - <I>%</I>, a dopasowania operatorem <I>~</I> (dopasowania regularne) - musz� si� zaczyna� znakiem specjalnym <I>^</I>.</P> - + <SMALL>LIKE</SMALL> lub <I>~</I>, indeksy b�d� u�ywane jedynie w + pewnych wypadkach:</P> + <UL> + <LI>Pocz�tek wyszukiwania jest oparty na pocz�tku �a�cucha tekstu. + <UL> + <LI>wzorce <SMALL>LIKE</SMALL> nie mog� si� zaczyna� <I>%</I> + <LI>dopasowania operatorem <I>~</I> (dopasowania regularne) + musz� si� zaczyna� znakiem specjalnym <I>^</I>.</P> + </UL> + <LI>Pocz�tek wyszukiwania nie mo�e si� zaczyna� od klas znak�w, np. + [a-e]. + <LI>Case-insensitive searches such as ILIKE and ~* do not utilise + indexes. Instead, use functional indexes, which are described in + section 4.12. + <LI>Standardowe locale C musi by� uzyte przy wykonywaniu initdb + </UL> <H4><A name="4.9">4.9</A>) Jak mog� sprawdzi� w jakis spos�b "query optimizer" wykonuje moje zapytanie?</H4> @@ -1051,15 +1113,14 @@ <H4><A name="4.12">4.12</A>) Jak mog� u�ywa� wyra�e� regularnych w zapytaniach i zapyta� case-insensitive w wyra�eniach regularnych? - jak korzysta� z indeks�w dla zapyta� case-insensitive?</H4> + Jak korzysta� z indeks�w dla zapyta� case-insensitive?</H4> <P>Operator <I>~</I> moze by� wykorzystywany do wyszukiwania za pomoc� wyra�e� regularnych, a <I>~*</I> do wyszukiwania case-insensitive z wyra�eniami regularnymi. Wariant case-insensitive dla <SMALL>LIKE</SMALL> zosta� nazwany - <SMALL>ILIKE</SMALL> i jest dost�pny w PostgreSQL 7.1 i p�niejszych - wersjach.</P> + <SMALL>ILIKE</SMALL>.</P> <P>Por�wnania case-insensitive s� zazwyczaj wykonywane w nast�puj�cy spos�b:</P> @@ -1087,31 +1148,41 @@ <PRE> Type Nazwa wewn�trzna Uwagi -------------------------------------------------- -"char" char 1 znak -CHAR(#) bpchar wype�niane pustymi znakami do podanej d�ugo�ci -VARCHAR(#) varchar rozmiar okre�la maksymaln� d�ugo��, nie ma tutaj wype�niania +VARCHAR(n) varchar rozmiar okre�la maksymaln� d�ugo��, nie ma tutaj wype�niania +CHAR(n) bpchar wype�niane pustymi znakami do podanej d�ugo�ci TEXT text bez limitu na d�ugo�� �a�cucha BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte safe) +"char" char 1 znak </PRE> <P>Je�li b�dziesz przegl�da� katalogi systemowe lub komunikaty o b��dach cz�sto spotkasz si� z podanymi powy�ej nazwami wewn�trznymi.</P> - <P>Ostatnie cztery typy powy�ej to tzw typy "varlena" (np. pierwsze + <P>Pierwsze cztery typy powy�ej to tzw typy "varlena" (np. pierwsze cztery bajty na dysku to d�ugo��, po kt�rych jest data). Dlatego faktyczna d�ugo�c takiego �a�cucha jest troch� wi�ksza ni� zadeklarowany rozmiar. Te typy tak�e podlegaj� kompresji lub mog� by� przechowywane out-of-line jako <SMALL>TOAST</SMALL>, wi�c faktyczne zu�ycie miejsca na dysku mo�e by� mniejsze ni� oczekiwane.</P> - <P><SMALL>CHAR()</SMALL> jast najlepszym typem do przechowywania - �a�cuch�w o tej samej d�ugo�ci. <SMALL>VARCHAR()</SMALL> jest + <SMALL>VARCHAR(n)</SMALL> jest najodpowiedniejszy do przechowywania �a�cuch�w o r�nej d�ugo�ci - ale okre�la on maksymaln� jego d�ugo��. <SMALL>TEXT</SMALL> jest - najlepszy dla �a�cuch�w o dowolnej d�ugo�ci, nie przekraczaj�cej 1GB. - <SMALL>BYTEA</SMALL> s�u�y do przechowywania danych binarnych, - w szczeg�lno�ci dla danych zawieraj�cych <SMALL>NULL</SMALL> bajty.</P> + ale okre�la on maksymaln� jego d�ugo��. + + <SMALL>TEXT</SMALL> jest najlepszy dla �a�cuch�w o dowolnej d�ugo�ci, + nie przekraczaj�cej 1GB.</P> + + <P> + <SMALL>CHAR(n)</SMALL> jast najlepszym typem do przechowywania + �a�cuch�w o tej samej d�ugo�ci. CHAR(n) wype�nia dane do �adanej + d�ugo�ci, podczas gdy VARCHAR(n) przechowuje jedynie dane + dostarczone. + + <SMALL>BYTEA</SMALL> s�u�y do przechowywania danych binarnych, + w szczeg�lno�ci dla danych zawieraj�cych <SMALL>NULL</SMALL> bajty. + Wszystkie typy opisane tutaj maja podobne charakterystyki je�li + chodzi o wydajno��.</P> <H4><A name="4.15.1">4.15.1</A>) Jak mog� utworzy� pole kt�re samo zwi�ksza swoj� warto��?</H4> @@ -1188,7 +1259,7 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s <H4><A name="4.15.4">4.15.4</A>) Dlaczego numery sekwencji nie s� ponownie u�ywane przy przerwaniu transakcji? - Sk�d si� bior� luki w numerowaniu kolumny tabeli + Sk�d si� bior� luki w numerowaniu kolumny tabeli sekwancjami/SERIALem?</H4> <P>Aby poprawi� zbie�no�� (concurrency), warto�ci sekwencji s� @@ -1197,8 +1268,7 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s numerowaniu z przerwanych transakcji.</P> <H4><A name="4.16">4.16</A>) Co to jest <SMALL>OID</SMALL>? Co to - jest - <SMALL>TID</SMALL>?</H4> + jest <SMALL>TID</SMALL>?</H4> <P><SMALL>OID</SMALL> s� PostgreSQL'owym rozwi�zaniem problemu unikalnych numer�w rz�d�w. Ka�dy rz�d tworzony przez PostgreSQL @@ -1274,15 +1344,15 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s </UL> <P>List� termin�w zwi�zanych z bazami danych mo�esz znale�� pod tym - adresem:<A href= - "http://www.comptechnews.com/~reaster/dbdesign.html">http://www.comptechnews.com/~reaster/dbdesign.html</A></P> + adresem:<A + href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</A>. <H4><A name="4.18">4.18</A>) Sk�d bierze si� ten b��d <I>"ERROR: Memory exhausted in AllocSetAlloc()"</I>?</H4> - <P>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 + <P> + 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 <I>postmaster'a</I>:</P> <PRE> @@ -1332,29 +1402,38 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s <H4><A name="4.22">4.22</A>) Dlaczego zapytania u�ywaj�ce <CODE><SMALL>IN</SMALL></CODE> sa takie wolne?</H4> - <P>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 <CODE>IN</CODE> przez + <P>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� <CODE>IN</CODE> przez <CODE>EXISTS</CODE>:</P> <PRE> <CODE>SELECT * FROM tab - WHERE col1 IN (SELECT col2 FROM TAB2) + WHERE col IN (SELECT subcol FROM subtab) </CODE> </PRE> na: <PRE> <CODE>SELECT * FROM tab - WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2) + WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col) </CODE> </PRE> - Mamy zamiar poprawi� to ograniczenie w przysz�ych wydaniach. - + <P> + Aby to rozwi�zanie by�o szybkie, subcol powinna by� kolumn� + indeksowan�. + </P> + <P> + 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. + </P> <H4><A name="4.23">4.23</A>) Jak wykona� "outer join"?</H4> - <P>PostgreSQL 7.1 i p�niejsze wersje maj� zaimplementowane outer join - wykorzystuj�c standardow� sk�adnie SQL. Poni�ej dwa przyk�ady:</P> + <P>PostgreSQL ma zaimplementowane outer join + wykorzystuj�c standardow� sk�adni� SQL. Poni�ej dwa przyk�ady:</P> <PRE> SELECT * @@ -1367,7 +1446,7 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s </PRE> <P>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). <SMALL>RIGHT</SMALL> join doda�by niepo��czone rz�dy z tabeli t2. <SMALL>FULL</SMALL> join zwr�ci�by rz�dy plus dodatkowo wszystkie rz�dy z tabel t1 i t2. S�owo <SMALL>OUTER</SMALL> jest opcjonalne i @@ -1401,19 +1480,63 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s katalogi systemowe, nie jest do ko�ca jasne jak zapytanie pomi�dzy r�nymi bazami danych powinno si� zachowywa�.</P> - <P>Oczywi�cie klient mo�e ��czy� si� z r�nymi bazami danych i ��czy� - informacj� w ten spos�b uzyskan�.</P> + <P><I>contrib/dblink</I> 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.</P> <H4><A name="4.25">4.25</A>) Jak zwr�ci� w funkcji wiele rz�d�w lub kolumn?</H4> - <P>Mo�esz zwraca� zbiory z funkcji PL/pgSQL u�ywaj�c - <i>refcursors</i>. Zobacz <a - href="http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html"> - http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,</a> - sekcj� 23.7.3.3.</P> - + <P>Mo�esz w �atwy spos�b zwraca� wiele rz�d�w lub kolumn u�ywaj�c + funkcji z: <A HREF="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</A>. + <H4><A name="4.26">4.26</A>) Dlaczego nie mog� w spos�b pewny + tworzy�/usuwa� tabel tymczasowych w funkcjach PL/PgSQL?</H4> + <P> + 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. + </P> + + <H4><A name="4.27">4.27) Jakie s� mo�liwo�ci replikacji w PostgreSQL?</H4> + <P> + 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 + <A + HREF="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</A> + znajduje si� ich lista. Replikacja typu multi-master jest w trakcie + prac, opis projektu znajduje si� pod adresem: <A + HREF="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php"> +http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>. + </P> + + <H4><A name="4.28">4.28) Jakie mo�liwo�ci szyfrowania oferuje + PostgreSQL?</H4> + <P> + <UL> + <LI>contrib/pgcrypto zawiera wiele funkcji za pomoc�, kt�rych mo�emy u�ywa� + kryptografii w zapytaniach SQL. + <LI>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). + <LI>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. + <LI>Serwer mo�e dzia�a� u�ywaj�c szyfrowanego systemu plik�w. + </UL> +</P> + <H2 align="center">Rozwijanie PostgreSQL</H2> <H4><A name="5.1">5.1</A>) Napisa�em w�asn� funkcj�. Kiedy u�yj� jej @@ -1432,8 +1555,12 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s <H4><A name="5.3">5.3</A>) Jak napisa� funkcj� C zwracaj�c� krotk� (tuple)?</H4> - <P>To wymaga wysi�ku tak olbrzymiego, �e nawet autorzy nigdy tego nie - prubowali, chocia� z zalo�e� wynika, �e jest to mo�liwe.</P> + <P> + 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 <I>contrib/tablefunc</I>. + </P> <H4><A name="5.4">5.4</A>) Zmieni�em plik �r�d�owy. Dlaczego po rekompilacji nie wida� zmiany?</H4> @@ -1443,6 +1570,8 @@ BYTEA bytea zmiennej d�ugo�ci tablica bajt�w (null-byte s <I>make clean</I>, a nast�pnie ponownie <I>make</I>. Je�li u�ywasz <SMALL>GCC</SMALL> mo�esz u�y� opcji <I>--enable-depend</I> przy wykonywaniu <I>configure</I> aby + kompilator m�g� okre�li� zale�no�ci samodzielnie. + </P> </BODY> </HTML> 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 @@ <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff"> <H1>������ �� ����� ���������� ������� �� PostgreSQL</H1> - <P>���� ���������� ����������: ����� 19 ������ 11:50:04 EDT 2003</P> + <P>���� ���������� ����������: ������� 6 ������ 16:42:01 EDT 2003</P> <P>���������� ������� ������������: ���� ������ (Bruce Momjian) (<A href= "mailto:[email protected]">[email protected]</A>)<BR> @@ -35,7 +35,7 @@ <A href="#1.4">1.4</A>) ���������� �� ������ ������������� �� �� Unix �������?<BR> <A href="#1.5">1.5</A>) ��� ����� ����� PostgreSQL?<BR> <A href="#1.6">1.6</A>) ��� �������� ���������?<BR> - <A href="#1.7">1.7</A>) ����� ��������� ������?<BR> + <A href="#1.7">1.7</A>) ����� ������ ���������?<BR> <A href="#1.8">1.8</A>) ����� ������������ ������� � �������?<BR> <A href="#1.9">1.9</A>) ��� ����� ���������� �� ��������� ������� ��� ������������� ������������?<BR> @@ -320,7 +320,7 @@ <A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A> </BLOCKQUOTE> - <P>��� ���������� IRC ����� �� EFNet � Freenode, � ��������� + <P>��� ���������� IRC ����� �� Freenode � EFNet, � ��������� <I>#PostgreSQL</I>. � ��������� ��� ����������� � ����� ������ ������� Unix <CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> ��� <CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE></P> @@ -330,7 +330,7 @@ <H4><A name="1.7">1.7</A>) ����� ��������� ������?</H4> - <P>��������� ������ PostgreSQL - ��� ������ 7.4.</P> + <P>��������� ������ PostgreSQL - ��� ������ 7.4.1</P> <P>�� ��������� ��������� ����� ������ ������ 6-8 �������.</P> @@ -565,11 +565,10 @@ ������������?</H4> <P>��, ���������� ��������� ����������� ����������� ��� PostgreSQL. - ��� PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>, - PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>, - Win32-only), RHDB Admin (<A href="http://sources.redhat.com/rhdb/"> - http://sources.redhat.com/rhdb/</A>) � Rekall - (<A href="http://www.thekompany.com/products/rekall/"> + ��� PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>), + PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>), + RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>) + � Rekall (<A href="http://www.thekompany.com/products/rekall/"> http://www.thekompany.com/products/rekall/</A>, ������������). ����� ���� PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/"> http://phppgadmin.sourceforge.net/</A>) - ��������� � 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 <winver.h> 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" |