<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
<h3>Aktivierung von pg_autovacuum empfohlen</h3>\r
<p>\r
Seit PostgreSQL 8.1 ist der pg_autovacuum-Prozess, der vormals als externer Dienst\r
-implementiert war, in das Backend integriert worden. Er führt VACUUM automatisch\r
-aus, wenn sich die Daten in einem konfigurierbaren Umfang geändert haben.\r
+implementiert war, in das Backend integriert worden. Er führt VACUUM automatisch\r
+aus, wenn sich die Daten in einem konfigurierbaren Umfang geändert haben.\r
</p>\r
<p>\r
-Das Laufenlassen von VACUUM ist erforderlich für einen PostgreSQL Server,\r
+Das Laufenlassen von VACUUM ist erforderlich für einen PostgreSQL Server,\r
um die Daten konsistent zu halten und die Performance zu erhalten.\r
Zum Einstieg empfiehlt es sich, pg_autovacuum einzuschalten, indem die Einstellungen\r
'autovacuum', 'stats_start_collector' and 'stats_row_level' in der postgresql.conf \r
-auf 'on' gesetzt werden. Die damit einhergehende Performanceeinbuße ist normalerweise\r
-nicht spürbar, man gewinnt jedoch die Sicherheit der automatisierten VACUUM-Läufe.\r
+auf 'on' gesetzt werden. Die damit einhergehende Performanceeinbuße ist normalerweise\r
+nicht spürbar, man gewinnt jedoch die Sicherheit der automatisierten VACUUM-Läufe.\r
</p>\r
<p>\r
-Um die pg_autovacuum Performance für individuelle Anforderungen anzupassen,\r
+Um die pg_autovacuum Performance für individuelle Anforderungen anzupassen,\r
kann es erforderlich werden die globalen Einstellungen in postgresql.conf oder\r
-für einzelne Tabellen anzupassen; siehe hierzu die Dokumentation.\r
+für einzelne Tabellen anzupassen; siehe hierzu die Dokumentation.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Um eine Datenbank auf einem PostgreSQL-Server ansprechen zu können, mußt zuerst die grundätzliche\r
-Zugangsfreigabe für den Client erteilt werden (Host Based Authentication). PostgreSQL prüft die pg_hba.conf-Datei\r
+Um eine Datenbank auf einem PostgreSQL-Server ansprechen zu können, mußt zuerst die grundätzliche\r
+Zugangsfreigabe für den Client erteilt werden (Host Based Authentication). PostgreSQL prüft die pg_hba.conf-Datei\r
ob ein Muster welches der Client-Adresse/Benutzername/Datenbank entspricht vorhanden und aktiviert \r
-ist noch bevor eventuelle SQL GRANT Zugriffsbeschränkungen zum Tragen kommen. \r
+ist noch bevor eventuelle SQL GRANT Zugriffsbeschränkungen zum Tragen kommen. \r
</p>\r
<p>\r
-Die anfänglichen Einstellungen in der pg_hba.conf sind recht restriktiv, um unerwünschten Sicherheitslöcher\r
+Die anfänglichen Einstellungen in der pg_hba.conf sind recht restriktiv, um unerwünschten Sicherheitslöcher\r
vorzubeugen, wenn diese Datei nicht editiert wird. Typischerweise werden Zugriffsregeln der folgenden Form\r
erforderlich werden:\r
</p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Dieses Beispiel erlaubt MD5-verschlüsselten Paßwortzugriff auf alle Datenbanken für alle Benutzer im\r
+Dieses Beispiel erlaubt MD5-verschlüsselten Paßwortzugriff auf alle Datenbanken für alle Benutzer im\r
privaten Netzwerksegment 192.168.0.0/24.\r
</p>\r
<p>\r
Zum Editieren der pg_hba.conf-Datei kann der in pgAdmin III eingebaute Editor verwendet werden.\r
-Nach Änderungen an der Datei muß der Server über pg_ctl oder Stoppen und Starten des Serverprozesses\r
-zum Neuauswerten der Datei veranlaßt werden.\r
+Nach Änderungen an der Datei muß der Server über pg_ctl oder Stoppen und Starten des Serverprozesses\r
+zum Neuauswerten der Datei veranlaßt werden.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
Wenn diese Meldung erscheint, ist ein Eintrag in der pg_hba.conf-Datei gefunden worden die der\r
Kombination von Client-Adresse/Benutzer/Datenbank entpricht, gesetzt auf die "ident" Authentikation.\r
Einige Distributionen, z.B.Debian, haben dies per Default.\r
-Um eine Ident-basierte Authentifikation erfolgreich durchzuführen, sind zusätzliche Vorkehrungen notwendig,\r
-siehe die PostgreSQL Online-Hilfe. Für den Anfang dürfte es einfacher sein, eine andere Authentifizierungsmethode\r
-zu verwenden. Z.B.MD5-verschlüsselte Paßworte sind eine gute Wahl, ein entsprechender Eintrag in der \r
+Um eine Ident-basierte Authentifikation erfolgreich durchzuführen, sind zusätzliche Vorkehrungen notwendig,\r
+siehe die PostgreSQL Online-Hilfe. Für den Anfang dürfte es einfacher sein, eine andere Authentifizierungsmethode\r
+zu verwenden. Z.B.MD5-verschlüsselte Paßworte sind eine gute Wahl, ein entsprechender Eintrag in der \r
pg_hba.conf sieht so aus:\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Dieses Beispiel erlaubt MD5-verschlüsselten Paßwortzugriff auf alle Datenbanken für alle Benutzer im\r
+Dieses Beispiel erlaubt MD5-verschlüsselten Paßwortzugriff auf alle Datenbanken für alle Benutzer im\r
privaten Netzwerksegment 192.168.0.0/24.\r
</p>\r
<p>\r
Zum Editieren der pg_hba.conf-Datei kann der in pgAdmin III eingebaute Editor verwendet werden.\r
-Nach Änderungen an der Datei muß der Server über pg_ctl oder Stoppen und Starten des Serverprozesses\r
-zum Neuauswerten der Datei veranlaßt werden.\r
+Nach Änderungen an der Datei muß der Server über pg_ctl oder Stoppen und Starten des Serverprozesses\r
+zum Neuauswerten der Datei veranlaßt werden.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Wenn diese Meldung auftaucht, sollte geprüft werden ob der PostgreSQL-Server tatächlich auf dem angegebenen \r
-Port läuft. Ist Netzwerk-Connectivity von der Client-Maschine zur Servermaschine gegeben? Sind Netzwerk/VPN/SSH-Tunnel\r
+Wenn diese Meldung auftaucht, sollte geprüft werden ob der PostgreSQL-Server tatächlich auf dem angegebenen \r
+Port läuft. Ist Netzwerk-Connectivity von der Client-Maschine zur Servermaschine gegeben? Sind Netzwerk/VPN/SSH-Tunnel\r
korrekt konfiguriert?\r
</p>\r
<p>\r
-Aus Sicherheitsgründen reagiert PostgreSQL anfänglich <B>nicht</B> auf allen verfügbaren IP-Adressen der Servermaschine. Um den Server\r
-über das Netzwerk ansprechen zu können, müssen die Interfaces erst aktiviert werden.\r
+Aus Sicherheitsgründen reagiert PostgreSQL anfänglich <B>nicht</B> auf allen verfügbaren IP-Adressen der Servermaschine. Um den Server\r
+über das Netzwerk ansprechen zu können, müssen die Interfaces erst aktiviert werden.\r
</p>\r
<p>\r
-Für PostgreSQL-Server ab Version 8.0 wird dies durch den "listen_addresses"-Parameter in the postgresql.conf-Datei gesteuert. Hier \r
-wird die Liste aller zu bedienenden IP-Adressen eingetragen, oder einfach '*' um alle verfügbaren Interfaces zu bedienen. Für ältere Versionen\r
+Für PostgreSQL-Server ab Version 8.0 wird dies durch den "listen_addresses"-Parameter in the postgresql.conf-Datei gesteuert. Hier \r
+wird die Liste aller zu bedienenden IP-Adressen eingetragen, oder einfach '*' um alle verfügbaren Interfaces zu bedienen. Für ältere Versionen\r
(Version 7.3 oder 7.4), ist der Parameter "tcpip_socket" auf 'true' zu setzen.\r
</p>\r
<p>\r
Zum Editieren der postgresql.conf-Datei kann der in pgAdmin III eingebaute Editor verwendet werden.\r
-Nach Änderungen an der Datei muß der Server neu gestartet werden um die Änderungen aktiv zu machen.\r
+Nach Änderungen an der Datei muß der Server neu gestartet werden um die Änderungen aktiv zu machen.\r
</p>\r
<p>\r
-Wenn nach doppelter Prüfung der Konfiguration diese Fehlermeldung immer noch kommt, ist\r
-es trotzdem sehr unwahrscheinlich daß tatsächlich ein Fehlverhalten des PostgreSQL-Servers vorliegt.\r
-Vermutlich gibt es ein grundlegendes Netzwerkproblem (z.B. Firewall-Konfiguration). Dies sollte eingehend geprüft\r
+Wenn nach doppelter Prüfung der Konfiguration diese Fehlermeldung immer noch kommt, ist\r
+es trotzdem sehr unwahrscheinlich daß tatsächlich ein Fehlverhalten des PostgreSQL-Servers vorliegt.\r
+Vermutlich gibt es ein grundlegendes Netzwerkproblem (z.B. Firewall-Konfiguration). Dies sollte eingehend geprüft\r
werden, bevor ein vermeintlicher Bug an die PostgreSQL Community gemeldet wird.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
\r
<h3>Datenbank Kodierung</h3>\r
<p>\r
-Die Datenbank <INFO> ist mit der Kodierung SQL_ASCII erzeugt um Daten zu speichern. Diese Kodierung ist nur für\r
-7-Bit Zeichen definiert, was bedeutet daß die Behandlung von Zeichen mit gesetztem 8. Bit (nicht-Ascii Zeichen 127-255) nicht\r
-festgelegt ist. In der Konsequenz ist es dem Server nicht möglich, die Daten in andere Kodierungen umzuwandeln.\r
+Die Datenbank <INFO> ist mit der Kodierung SQL_ASCII erzeugt um Daten zu speichern. Diese Kodierung ist nur für\r
+7-Bit Zeichen definiert, was bedeutet daß die Behandlung von Zeichen mit gesetztem 8. Bit (nicht-Ascii Zeichen 127-255) nicht\r
+festgelegt ist. In der Konsequenz ist es dem Server nicht möglich, die Daten in andere Kodierungen umzuwandeln.\r
</p>\r
<p>\r
Wenn nicht-Ascii Daten in der Datenbank gespeichert werden sollen, empfehlen wir dringend, eine geeignete Kodierung \r
-zu verwenden welche dem Verwendeten Zeichensatz Rechnung trägt, um so die bedarfsweise automatische Konvertierung in verschiedene \r
-Client-Kodierung nutzen zu können. Wenn nicht-Ascii Zeichen in einer SQL_ASCII Datenbank gespeichert werden, \r
-kann es vorkommen daß merkwürdige Zeichen in die Datenbank geschrieben oder von ihr gelesen werden, verursacht durch\r
+zu verwenden welche dem Verwendeten Zeichensatz Rechnung trägt, um so die bedarfsweise automatische Konvertierung in verschiedene \r
+Client-Kodierung nutzen zu können. Wenn nicht-Ascii Zeichen in einer SQL_ASCII Datenbank gespeichert werden, \r
+kann es vorkommen daß merkwürdige Zeichen in die Datenbank geschrieben oder von ihr gelesen werden, verursacht durch\r
Konvertierungsprobleme. Das kann eine Menge Kopfschmerzen verursachen, insbesondere wenn auf die Datenbank mit verschiedenen\r
Clientprogrammen und Treibern zugegriffen wird.\r
</p>\r
<p>\r
-Für die meisten Installationen bietet die Unicode-Kodierung (UTF8) die größte Flexibilität. \r
+Für die meisten Installationen bietet die Unicode-Kodierung (UTF8) die größte Flexibilität. \r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
</p>\r
<p>\r
Es wird empfohlen, eine lokal spezifische Kodierung zu verwenden oder den Cluster auf\r
-einem anderen Betriebssystem als Win32 laufen zu lassen. Alternativ können Sie die Datenbanksoftware auf PostgreSQL 8.1 (oder neuer)\r
-aktualisieren, das diese Einschränkung von Win32 umgehen kann.\r
+einem anderen Betriebssystem als Win32 laufen zu lassen. Alternativ können Sie die Datenbanksoftware auf PostgreSQL 8.1 (oder neuer)\r
+aktualisieren, das diese Einschränkung von Win32 umgehen kann.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
\r
<body>\r
-<h3>Fremdschlüssel abdeckende Indizes</h3>\r
+<h3>Fremdschlüssel abdeckende Indizes</h3>\r
<p>\r
-Ein Fremdschlüssel koppelt zwei Tabellen auf logische Weise, und beschränkt Änderungen die auf sie angewendet werden können.\r
+Ein Fremdschlüssel koppelt zwei Tabellen auf logische Weise, und beschränkt Änderungen die auf sie angewendet werden können.\r
</p>\r
<p>\r
-Es fängt mit einer Mastertabelle an, welche die Referenzierte Tabelle wird. Sie muß einen Primärschlüssel haben\r
-(strenggenommen müssen die referenzierten Spalten nur nicht-NULL sein und mit einem eindeutigen Index versehen sein, \r
-aber es ist gute Praxis das über einen Primärschlüssel zu implementieren). Die Slave-Tabelle hängt von der Mastertabelle ab,\r
-in dem Sinne daß Spalten auf die der Fremdschlüssel definiert ist für jeden Wert passende Einträge in der Mastertabelle erfordert.\r
-Die Slave-Tabelle ist die referenzierende Tabelle des Fremdschlüssels.\r
+Es fängt mit einer Mastertabelle an, welche die Referenzierte Tabelle wird. Sie muß einen Primärschlüssel haben\r
+(strenggenommen müssen die referenzierten Spalten nur nicht-NULL sein und mit einem eindeutigen Index versehen sein, \r
+aber es ist gute Praxis das über einen Primärschlüssel zu implementieren). Die Slave-Tabelle hängt von der Mastertabelle ab,\r
+in dem Sinne daß Spalten auf die der Fremdschlüssel definiert ist für jeden Wert passende Einträge in der Mastertabelle erfordert.\r
+Die Slave-Tabelle ist die referenzierende Tabelle des Fremdschlüssels.\r
</p>\r
<p>\r
-Der Fremdschlüssel beschränkt allerdings nicht nur die referenzierende Tabelle, sondern auch die referenzierte. Die \r
-Geschmacksrichtung kann dabei zwischen RESTRICT, CASCADE und SET NULL variieren. Dies bedeuted, daß sobale\r
-eine Zeile in der referenzierten Tabelle geändert wird (Update oder Delete), alle referenzierenden Tabelen geprüft werden müssen\r
-ob die Operation gültig ist, und ob weitere Aktionen ausgelöst werden müssen; siehe hierzu auch die PostgreSQL-Dokumentation \r
-über Fremdschlüssel (Foreign Keys).\r
+Der Fremdschlüssel beschränkt allerdings nicht nur die referenzierende Tabelle, sondern auch die referenzierte. Die \r
+Geschmacksrichtung kann dabei zwischen RESTRICT, CASCADE und SET NULL variieren. Dies bedeuted, daß sobale\r
+eine Zeile in der referenzierten Tabelle geändert wird (Update oder Delete), alle referenzierenden Tabelen geprüft werden müssen\r
+ob die Operation gültig ist, und ob weitere Aktionen ausgelöst werden müssen; siehe hierzu auch die PostgreSQL-Dokumentation \r
+über Fremdschlüssel (Foreign Keys).\r
</p>\r
<p>\r
-Dies bedeutet, daß Änderungen an einer bestimmten Zeile in der referenzierten Tabelle zusätzliche Lesezugriffe \r
-in allen referenzierenden Tabellen auslöst, mit den Fremdschlüssel als Zugriffsbegriff. In der Konsequenz sollten alle Designregeln\r
-für performanten Lesezugriff auch auf die Fremdschlüsselspalten angewendet werden. Für gute Zugriffsgeschwindigkeiten\r
+Dies bedeutet, daß Änderungen an einer bestimmten Zeile in der referenzierten Tabelle zusätzliche Lesezugriffe \r
+in allen referenzierenden Tabellen auslöst, mit den Fremdschlüssel als Zugriffsbegriff. In der Konsequenz sollten alle Designregeln\r
+für performanten Lesezugriff auch auf die Fremdschlüsselspalten angewendet werden. Für gute Zugriffsgeschwindigkeiten\r
ist in der Regel ein Index empfehlenswert. PostgreSQL verlangt dies nicht unbedingt, es liegt daher in der Verantwortung\r
-des Datenbankdesigners für das Anlegen eines passenden Index zu sorgen.\r
+des Datenbankdesigners für das Anlegen eines passenden Index zu sorgen.\r
</p>\r
<p>\r
Zur Steigerung des Komforts und des allgemeinen Wohlbefindens bietet pgAdmin III eine Checkbox an, mit deren Hilfe\r
-auf einen passenden Index geprüft wird und dieser bei Bedarf angelegt wird soweit noch nicht vorhanden. Wie bei allen Indizes gibt\r
-es Fälle in denen Indizes die Gesamtperformance verringern können; in aller Regel ist ein Index zu wenig jedoch wesentlich \r
+auf einen passenden Index geprüft wird und dieser bei Bedarf angelegt wird soweit noch nicht vorhanden. Wie bei allen Indizes gibt\r
+es Fälle in denen Indizes die Gesamtperformance verringern können; in aller Regel ist ein Index zu wenig jedoch wesentlich \r
schlimmer als einer zuviel.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
Der Server hat die Instrumentierungsfunktionen nicht geladen.\r
</p>\r
<p>\r
-pgAdmin III benutzt einige Unterstützungsfunktionen die nicht in allen PostgreSQL Versionen per Default zur Verfügung\r
-stehen. Sie ermöglichen einige Aufgaben im Umgang mit Logdateien und Konfigurationsdateien.\r
+pgAdmin III benutzt einige Unterstützungsfunktionen die nicht in allen PostgreSQL Versionen per Default zur Verfügung\r
+stehen. Sie ermöglichen einige Aufgaben im Umgang mit Logdateien und Konfigurationsdateien.\r
</p>\r
<p>\r
-Wenn PostgreSQL 8.0 oder neuer mit dem Windows Installer installiert wird, reicht es die "Admin Option" auszuwählen.\r
+Wenn PostgreSQL 8.0 oder neuer mit dem Windows Installer installiert wird, reicht es die "Admin Option" auszuwählen.\r
</p>\r
<p>\r
-Wenn PostgreSQL aus der Source kompiliert wird, können die benötigten Dateien im xtra Unterverzeichnis des\r
-pgAdmin Sourcetrees gefunden werden. Für PostgreSQL 8.0 ist das Verzeichnis admin unter das postgresql contrib \r
-Sourceverzeichnis zu kopieren, make und make install führt dann die Installation durch. Für PostgreSQL 8.1 ist \r
-das admin81 Verzeichnis zu benutzen. Nach der Installation des Modules müssen die Instrumentierungsfunktionen\r
-in der Wartungsdatenbank erzeugt werden; hierzu dient das admin.sql Script (admin81.sql für PostgreSQL 8.1) \r
-welches üblicherweise im pgsql share Verzeichnis zu finden ist (z.B. /usr/local/pgsql/share) \r
+Wenn PostgreSQL aus der Source kompiliert wird, können die benötigten Dateien im xtra Unterverzeichnis des\r
+pgAdmin Sourcetrees gefunden werden. Für PostgreSQL 8.0 ist das Verzeichnis admin unter das postgresql contrib \r
+Sourceverzeichnis zu kopieren, make und make install führt dann die Installation durch. Für PostgreSQL 8.1 ist \r
+das admin81 Verzeichnis zu benutzen. Nach der Installation des Modules müssen die Instrumentierungsfunktionen\r
+in der Wartungsdatenbank erzeugt werden; hierzu dient das admin.sql Script (admin81.sql für PostgreSQL 8.1) \r
+welches üblicherweise im pgsql share Verzeichnis zu finden ist (z.B. /usr/local/pgsql/share) \r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Primärschlüssel</h3>\r
+<h3>Primärschlüssel</h3>\r
<p>\r
-Beim Designen einer Tabelle sollte man stehts im Blick behalten, auf welche Weise später auf sie\r
-zugegriffen wird. In den meisten Fällen wird ein eindeutiger Schlüsselbegriff erforderlich sein um eine \r
-spezifische Zeile jeweils eindeutig identifizieren zu können. Dieser Schlüsselbegriff sollte als Primärschlüssel\r
+Beim Designen einer Tabelle sollte man stehts im Blick behalten, auf welche Weise später auf sie\r
+zugegriffen wird. In den meisten Fällen wird ein eindeutiger Schlüsselbegriff erforderlich sein um eine \r
+spezifische Zeile jeweils eindeutig identifizieren zu können. Dieser Schlüsselbegriff sollte als Primärschlüssel\r
erzeugt werden.\r
-Ein Primärschlüssel muß nicht unbedingt aus einer einzelnen Spalte bestehen; er kann soviel Spalten beinhalten wie nötig \r
+Ein Primärschlüssel muß nicht unbedingt aus einer einzelnen Spalte bestehen; er kann soviel Spalten beinhalten wie nötig \r
um eine Zeile eindeutig zu identifizieren. Wenn hierzu allerdings viele Spalten erforderlich sein sollten (Faustregel: mehr als 3) \r
-könnte es eine gute Idee sein eine zusätzliche Spalte mit einem handlichen Datentyp, z.b. serial oder bigserial, einzuführen,\r
-welche den eindeutigen Schlüssel enthält.\r
+könnte es eine gute Idee sein eine zusätzliche Spalte mit einem handlichen Datentyp, z.b. serial oder bigserial, einzuführen,\r
+welche den eindeutigen Schlüssel enthält.\r
</p>\r
<p>\r
-Nur in seltenen Ausnahmefällen macht das Erzeugen eines Primärschlüssels keinen Sinn. Das bedeutet, daß das Fehlen eines \r
-Primärschlüssels in einer Tabelle auf eine unvollständige Definition hinweist; darum kommt der Guruhinweis hoch \r
+Nur in seltenen Ausnahmefällen macht das Erzeugen eines Primärschlüssels keinen Sinn. Das bedeutet, daß das Fehlen eines \r
+Primärschlüssels in einer Tabelle auf eine unvollständige Definition hinweist; darum kommt der Guruhinweis hoch \r
wenn man eine Tabelle ohne PK anzulegen versucht.\r
</p>\r
<p>\r
-Wenn man einen Blick auf die PostgreSQL-Systemtabellen wirft, stellt man fest daß keine von ihnen einen Primärschlüssel aufweist,\r
-also was soll das Ganze? Tatsächlich haben alle diese Tabellen eine oder zwei Spalten (typischerweise nur die OID), welche \r
-jede Zeile eindeutig identifiziert, welche die zweite Regel für einen Primärschlüssel, nicht NULL enthalten zu dürfen, befolgt, und einen \r
-Index für schnelleren Zugriff beinhaltet. Die Verwendung von OIDs hat historische Gründe, und ist nicht gerade erste Wahl wenn es um den Design\r
-von User-Tabellen geht. PostgreSQL benutzt diese um Rückwärtskompatibilität zu gewährleisten. Aus heutiger Sicht würde man vermutlich\r
-Primärschlüssel verwenden, eine dahingehende Änderung der Systemtabellen ist allerdings nicht zu erwarten.\r
+Wenn man einen Blick auf die PostgreSQL-Systemtabellen wirft, stellt man fest daß keine von ihnen einen Primärschlüssel aufweist,\r
+also was soll das Ganze? Tatsächlich haben alle diese Tabellen eine oder zwei Spalten (typischerweise nur die OID), welche \r
+jede Zeile eindeutig identifiziert, welche die zweite Regel für einen Primärschlüssel, nicht NULL enthalten zu dürfen, befolgt, und einen \r
+Index für schnelleren Zugriff beinhaltet. Die Verwendung von OIDs hat historische Gründe, und ist nicht gerade erste Wahl wenn es um den Design\r
+von User-Tabellen geht. PostgreSQL benutzt diese um Rückwärtskompatibilität zu gewährleisten. Aus heutiger Sicht würde man vermutlich\r
+Primärschlüssel verwenden, eine dahingehende Änderung der Systemtabellen ist allerdings nicht zu erwarten.\r
</p>\r
<p>\r
Wie das Beispiel der Systemtabellen zeigt, kann das Ziel der Eindeutigkeit und des schnellen Zugriffs auch auf andere Weise\r
-als mit einem Primärschlüssel erreicht werden. Es ist allerdings sehr empfehlenswert, aus Gründen der Klarheit des Datenmodells\r
-stets Primärschlüssel zu verwenden.\r
+als mit einem Primärschlüssel erreicht werden. Es ist allerdings sehr empfehlenswert, aus Gründen der Klarheit des Datenmodells\r
+stets Primärschlüssel zu verwenden.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
\r
<h3>VACUUM-Lauf empfohlen</h3>\r
<p>\r
-Die geschätzte Anzahl Zeilen in der Tabelle "<INFO>" weicht erheblich von der tatsächlich ermittelten ab.\r
-VACUUM ANALYZE sollte auf dieser Tabelle ausgeführt werden.\r
+Die geschätzte Anzahl Zeilen in der Tabelle "<INFO>" weicht erheblich von der tatsächlich ermittelten ab.\r
+VACUUM ANALYZE sollte auf dieser Tabelle ausgeführt werden.\r
</p><p>\r
-Anstatt das Kommando VACUUM ANALYZE auf dieser Tabelle manuell auszuführen (dies kann über das \r
-Wartungs-Menü von pgAdmin III ausgelöst werden), empfiehlt es sich VACUUM ANALYZE regelmäßig\r
-automatisiert durchzuführen. Dies kann durch einen Scheduler erreicht werden. PostgreSQL bietet auch den\r
-pg_autovacuum Daemon, der Änderung an der Datenbank verfolgt und bei Bedarf VACUUM automatisch auslöst.\r
-In der Regel bietet pg_autovacuum die optimale Lösung.\r
+Anstatt das Kommando VACUUM ANALYZE auf dieser Tabelle manuell auszuführen (dies kann über das \r
+Wartungs-Menü von pgAdmin III ausgelöst werden), empfiehlt es sich VACUUM ANALYZE regelmäßig\r
+automatisiert durchzuführen. Dies kann durch einen Scheduler erreicht werden. PostgreSQL bietet auch den\r
+pg_autovacuum Daemon, der Änderung an der Datenbank verfolgt und bei Bedarf VACUUM automatisch auslöst.\r
+In der Regel bietet pg_autovacuum die optimale Lösung.\r
</p><p><br><br></p>\r
-<b>Wozu ist VACUUM überhaupt gut?</b>\r
+<b>Wozu ist VACUUM überhaupt gut?</b>\r
<p>\r
-Der PostgreSQL Queryplaner fällt seine Entscheidung anhand von Annahmen, die er aus der geschätzten Anzahl Reihen\r
-ableitet. Wenn die tatsächliche Anzahl zu sehr von der geschätzten Anzahl abweicht, kann der Planer eine falsche\r
+Der PostgreSQL Queryplaner fällt seine Entscheidung anhand von Annahmen, die er aus der geschätzten Anzahl Reihen\r
+ableitet. Wenn die tatsächliche Anzahl zu sehr von der geschätzten Anzahl abweicht, kann der Planer eine falsche\r
Entscheidung treffen, wodurch ein nicht-optimaler Queryplan zur Anwendung gelangt. Daraus kann eine schlechte \r
Performance resultieren.\r
</p><p>\r
-Die PostgreSQL Datenspeicherung benötigt VACUUM um Transaktion-IDs in Tabellen zu fixieren.\r
-Weiterhin werden Zeilen, die nach Updates und Deletes nicht mehr benötigt werden, erst durch ein VACUUM\r
-tatsächlich wieder freigegeben.\r
-Weitergehende Informationen sind in der Online-Hilfe zu finden: einfach den Hilfe-Button drücken.\r
+Die PostgreSQL Datenspeicherung benötigt VACUUM um Transaktion-IDs in Tabellen zu fixieren.\r
+Weiterhin werden Zeilen, die nach Updates und Deletes nicht mehr benötigt werden, erst durch ein VACUUM\r
+tatsächlich wieder freigegeben.\r
+Weitergehende Informationen sind in der Online-Hilfe zu finden: einfach den Hilfe-Button drücken.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru-Hinweise</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Editieren einer Tabelle ohne Primärschlüssel</h3>\r
+<h3>Editieren einer Tabelle ohne Primärschlüssel</h3>\r
<p>\r
-Da die Tabelle <INFO> keien Primärschlüssel oder OID aufweist, können die Daten nur angesehen werden.\r
-Das Einfügen von neuen Zeilen oder die Änderung existierender Zeilen mit dem Edit Data Tool ist ohne \r
-Primärschlüssel nicht möglich.\r
+Da die Tabelle <INFO> keien Primärschlüssel oder OID aufweist, können die Daten nur angesehen werden.\r
+Das Einfügen von neuen Zeilen oder die Änderung existierender Zeilen mit dem Edit Data Tool ist ohne \r
+Primärschlüssel nicht möglich.\r
</p>\r
<p>\r
-Um Daten editieren zu können, erfordert pgAdmin III einen Primärschlüssel auf der Tabelle, was i.d.R. ohnehin\r
+Um Daten editieren zu können, erfordert pgAdmin III einen Primärschlüssel auf der Tabelle, was i.d.R. ohnehin\r
im Rahmen eines guten Datenbankdesigns vorhanden sein sollte.\r
-Alternativ kan die Tabelle auch WITH OIDS angelegt werden. Bitte beachten daß Eindeutigkeit von OIDs <B>nicht</B> \r
-über sehr lange Zeiträume gewährleistet werden kann, so daß die Verwendung von Oids nur als zweite Wahl im Vergleich\r
-zu einem Primärschlüssel anzusehen sind.\r
+Alternativ kan die Tabelle auch WITH OIDS angelegt werden. Bitte beachten daß Eindeutigkeit von OIDs <B>nicht</B> \r
+über sehr lange Zeiträume gewährleistet werden kann, so daß die Verwendung von Oids nur als zweite Wahl im Vergleich\r
+zu einem Primärschlüssel anzusehen sind.\r
</p>\r
</body>\r
</html>\r
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<h3>pg_autovacuum:n ajaminen on suositeltavaa</h3>
<p>
-PostgreSQL:n 8.1-versiosta lähtien pg_autovacuum, joka oli ennen ulkoinen
+PostgreSQL:n 8.1-versiosta lähtien pg_autovacuum, joka oli ennen ulkoinen
ohjelma, on integroitu palvelinohjelmistoon. Se ajaa VACUUM-komennon
-automaattisesti kun säädetty määrä dataa on muuttunut.
+automaattisesti kun säädetty määrä dataa on muuttunut.
</p>
<p>
-VACUUM-komennon ajaminen on pakollista PostgreSQL:ssä datan eheyden ja
+VACUUM-komennon ajaminen on pakollista PostgreSQL:ssä datan eheyden ja
palvelimen suorituskyvyn varmistamiseksi. Suosittelemme pg_autovacuumin
-kytkemistä päälle asettamalla "autovacuum"-, "stats_start_collector"- ja
+kytkemistä päälle asettamalla "autovacuum"-, "stats_start_collector"- ja
"stats_row_level"-asetukset "on"-asentoon postgresql.conf-tiedostossa.
-Datan muutosten seuraamisesta aiheutuva rasitus on yleensä merkityksettömän
+Datan muutosten seuraamisesta aiheutuva rasitus on yleensä merkityksettömän
pieni, ja saat automaattiset, suorituskykyiset VACUUM-ajot.
</p>
<p>
-Säätääksesi pg_autovacuumin suorituskykyä yksilöllisiin tarpeisiin, voit
-säätämään sen asetuksia globaalisti postgresql.conf-tiedostossa, tai
-taulukohtaisesti; katso lisätietoja dokumentaatiosta.
+Säätääksesi pg_autovacuumin suorituskykyä yksilöllisiin tarpeisiin, voit
+säätämään sen asetuksia globaalisti postgresql.conf-tiedostossa, tai
+taulukohtaisesti; katso lisätietoja dokumentaatiosta.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Pääsy tietokantaan evätty</h3>
+<h3>Pääsy tietokantaan evätty</h3>
<p>
-Palvelin ei myönnä pääsyä tietokantaan. Palvelin antoi virheilmoituksen:
+Palvelin ei myönnä pääsyä tietokantaan. Palvelin antoi virheilmoituksen:
</p>
<p>
<b><tt class="command"><INFO></tt></b>
</p>
<p>
-Saadaksesi yhteyden tietokantaan PostgreSQL palvelimella, sinun täytyy ensin
-myöntää pääsy palvelimelle käyttämältäsi koneelta (Host Based Authentication).
-PostgreSQL tarkastaa pg_hba.conf-tiedostosta täsmääkö mikään rivi sinun koneesi osoitteen / käyttäjätunnuksen / tietokannan kanssa, ennen kuin se tulkitsee SQL
-GRANT käyttöoikeuksia.
+Saadaksesi yhteyden tietokantaan PostgreSQL palvelimella, sinun täytyy ensin
+myöntää pääsy palvelimelle käyttämältäsi koneelta (Host Based Authentication).
+PostgreSQL tarkastaa pg_hba.conf-tiedostosta täsmääkö mikään rivi sinun koneesi osoitteen / käyttäjätunnuksen / tietokannan kanssa, ennen kuin se tulkitsee SQL
+GRANT käyttöoikeuksia.
</p>
<p>
-pg_hba.conf-tiedoston alkuasetukset ovat varsin rajoittavia, tietoturva-aukkojen välttämiseksi. Haluat todennäköisesti lisätä siihen jotain tämän tapaista:
+pg_hba.conf-tiedoston alkuasetukset ovat varsin rajoittavia, tietoturva-aukkojen välttämiseksi. Haluat todennäköisesti lisätä siihen jotain tämän tapaista:
</p>
<p>
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>
</p>
<p>
-Tämä esimerkki myöntää pääsyn MD5-salatuilla salasanoilla kaikkiin tietokantoihin kaikille käyttäjille aliverkosta 192.168.0.0/24.
+Tämä esimerkki myöntää pääsyn MD5-salatuilla salasanoilla kaikkiin tietokantoihin kaikille käyttäjille aliverkosta 192.168.0.0/24.
</p>
<p>
-Voit käyttää pgAdmin III:n sisäänrakennettua pg_hba.conf-editoria sen muokkaamiseen. Muutettuasi pg_hba.conf-tiedostoa, palvelimen asetukset pitää ladata uudestaan pg_ctl-komennolla, tai käynnistämällä PostgreSQL uudestaan.
+Voit käyttää pgAdmin III:n sisäänrakennettua pg_hba.conf-editoria sen muokkaamiseen. Muutettuasi pg_hba.conf-tiedostoa, palvelimen asetukset pitää ladata uudestaan pg_ctl-komennolla, tai käynnistämällä PostgreSQL uudestaan.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Ident-todentaminen epäonnistui</h3>
+<h3>Ident-todentaminen epäonnistui</h3>
<p>
-Palvelin ei hyväksy käyttäjää. Palvelin antoi virheilmoituksen:
+Palvelin ei hyväksy käyttäjää. Palvelin antoi virheilmoituksen:
</p>
<p>
<b><tt class="command"><INFO></tt></b>
</p>
<p>
-Jos tämä viesti näkyy, koneen osoite / käyttäjä / tietokanta -yhdistelmääsi vastaava pg_hba.conf-rivi on määritelty käyttämään "ident"-todennusta. Joissain distribuutioissa, mm. Debianissa, tämä on oletus. Jotta ident-todennus toimisi, tarvitset lisäasetuksia; ks. lisätietoja PostgreSQL:n ohjeista. Aloittelijoille saattaa olla sopivampaa valita toiden todennysmenetelmä; MD5-salatut salasanat on hyvä valinta. Se valitaan allaolevan kaltaisella pg_hba.conf-rivillä:
+Jos tämä viesti näkyy, koneen osoite / käyttäjä / tietokanta -yhdistelmääsi vastaava pg_hba.conf-rivi on määritelty käyttämään "ident"-todennusta. Joissain distribuutioissa, mm. Debianissa, tämä on oletus. Jotta ident-todennus toimisi, tarvitset lisäasetuksia; ks. lisätietoja PostgreSQL:n ohjeista. Aloittelijoille saattaa olla sopivampaa valita toiden todennysmenetelmä; MD5-salatut salasanat on hyvä valinta. Se valitaan allaolevan kaltaisella pg_hba.conf-rivillä:
</p>
<p>
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>
</p>
<p>
-Tämä esimerkki myöntää pääsyn MD5-salatuilla salasanoilla kaikkiin tietokantoihin kaikille käyttäjille aliverkosta 192.168.0.0/24.
+Tämä esimerkki myöntää pääsyn MD5-salatuilla salasanoilla kaikkiin tietokantoihin kaikille käyttäjille aliverkosta 192.168.0.0/24.
</p>
<p>
-Voit käyttää pgAdmin III:n sisäänrakennettua pg_hba.conf-editoria sen muokkaamiseen. Muutettuasi pg_hba.conf-tiedostoa, palvelimen asetukset pitää ladata uudestaan pg_ctl-komennolla, tai käynnistämällä PostgreSQL uudestaan.
+Voit käyttää pgAdmin III:n sisäänrakennettua pg_hba.conf-editoria sen muokkaamiseen. Muutettuasi pg_hba.conf-tiedostoa, palvelimen asetukset pitää ladata uudestaan pg_ctl-komennolla, tai käynnistämällä PostgreSQL uudestaan.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Palvelin ei huoli yhteyksiä</h3>
+<h3>Palvelin ei huoli yhteyksiä</h3>
<p>
-Palvelin ei huoli yhteyksiä. Yhteyskirjasto antoi virheilmoituksen:
+Palvelin ei huoli yhteyksiä. Yhteyskirjasto antoi virheilmoituksen:
</p>
<p>
<b><tt class="command"><INFO></tt></b>
</p>
<p>
-Jos näet tämän viestin, tarkista että palvelimella johon yrität ottaa yhteyttä todella pyörii PostgreSQL annetussa portissa. Kokeile saatko yhteyden palvelimelle käyttäen esimerkiksi ping-ohjelmaa. Onko verkkosi / VPN-yhteytesi / SSH-tunnelisi / palomuurisi oikein konfiguroitu?
+Jos näet tämän viestin, tarkista että palvelimella johon yrität ottaa yhteyttä todella pyörii PostgreSQL annetussa portissa. Kokeile saatko yhteyden palvelimelle käyttäen esimerkiksi ping-ohjelmaa. Onko verkkosi / VPN-yhteytesi / SSH-tunnelisi / palomuurisi oikein konfiguroitu?
</p>
<p>
-Tietoturvasyistä PostgreSQL <B>ei</B> oletusarvoisesti kuuntele kaikissa palvelimen IP-osoitteissa. Saadaksesi yhteyden palvelimeen verkon yli, PostgreSQL täytyy asettaa kuuntelemaan verkkoadapterin IP-osoitteessa.
+Tietoturvasyistä PostgreSQL <B>ei</B> oletusarvoisesti kuuntele kaikissa palvelimen IP-osoitteissa. Saadaksesi yhteyden palvelimeen verkon yli, PostgreSQL täytyy asettaa kuuntelemaan verkkoadapterin IP-osoitteessa.
</p>
<p>
-PostgreSQL versiosta 8.0 lähtien, se tehdään "listen_addresses"-asetuksella postgresql.conf-tiedostossa. Voit kirjoittaa listan IP-osoitteista joissa haluat palvelimen kuuntelevan, tai "*" joka tarkoittaa kaikkia saatavilla olevia IP-osoitteita. Aiemmissa palvelinversioissa (7.3 tai 7.4) "tcpip_socket"-asetus täytyy asettaa "true"-asentoon.
+PostgreSQL versiosta 8.0 lähtien, se tehdään "listen_addresses"-asetuksella postgresql.conf-tiedostossa. Voit kirjoittaa listan IP-osoitteista joissa haluat palvelimen kuuntelevan, tai "*" joka tarkoittaa kaikkia saatavilla olevia IP-osoitteita. Aiemmissa palvelinversioissa (7.3 tai 7.4) "tcpip_socket"-asetus täytyy asettaa "true"-asentoon.
</p>
<p>
-Voit käyttää pgAdmin III:n sisäänrakennettua postgresql.conf-editoria postgresql.conf-tiedoston muokkaukseen. Muokattuasi tiedostoa, joudut käynnistämään PostgreSQL:n uudestaan jotta uudet asetukset astuvat voimaan.
+Voit käyttää pgAdmin III:n sisäänrakennettua postgresql.conf-editoria postgresql.conf-tiedoston muokkaukseen. Muokattuasi tiedostoa, joudut käynnistämään PostgreSQL:n uudestaan jotta uudet asetukset astuvat voimaan.
</p>
<p>
-Jos tarkistit asetukset, mutta saat silti tämän virheilmoituksen, on silti epätodennäköistä että törmäsit bugiin PostgreSQL:ssä. Kyseessä on todennäköisesti jokin alhaisen tason yhteysongelma, esim. virhe palomuurin asetuksissa. Tarkista
-verkkoasetuksesi tarkasti ennen kuin teet ilmoituksen bugista PostgreSQL-yhteisölle.
+Jos tarkistit asetukset, mutta saat silti tämän virheilmoituksen, on silti epätodennäköistä että törmäsit bugiin PostgreSQL:ssä. Kyseessä on todennäköisesti jokin alhaisen tason yhteysongelma, esim. virhe palomuurin asetuksissa. Tarkista
+verkkoasetuksesi tarkasti ennen kuin teet ilmoituksen bugista PostgreSQL-yhteisölle.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Tietokannan merkistö</h3>
+<h3>Tietokannan merkistö</h3>
<p>
-Tietokanta <INFO> käyttää SQL_ASCII-merkistöä. SQL_ASCII-merkistö on tarkoitettu vain 7-bittisiä merkkejä varten; merkkien, joiden 8. bitti on asetettu (ASCII-merkistön ulkopuoliset merkit 127-255), merkitystä ei ole määritelty. Tämän takia palvelin ei pysty muuntamaan dataa muihin merkistöihin.
+Tietokanta <INFO> käyttää SQL_ASCII-merkistöä. SQL_ASCII-merkistö on tarkoitettu vain 7-bittisiä merkkejä varten; merkkien, joiden 8. bitti on asetettu (ASCII-merkistön ulkopuoliset merkit 127-255), merkitystä ei ole määritelty. Tämän takia palvelin ei pysty muuntamaan dataa muihin merkistöihin.
</p>
<p>
-Jos tallennat mitään muuta kuin ASCII-dataa (esimerkiksi tekstiä jossa on ä- tai ö-kirjaimia), kannattaa valita kunnollinen merkistö joka tukee kaikkia tarvitsemiasi merkkejä, jolloin palvelin pystyy tarvittaessa muuntamaan tekstit asiakasohjelmiston merkistöön. Jos tallennat muuta kuin ASCII-dataa SQL_ASCII tietokantaan, voit törmätä kummallisiin merkkeihin lukiessa tai kirjoittaessa tietokantaan, joka johtuu muunnosongelmista. Se voi aiheuttaa paljon ongelmia kun tietokantaa käytetään eri asiakasohjelmilla ja ajureilla.
+Jos tallennat mitään muuta kuin ASCII-dataa (esimerkiksi tekstiä jossa on ä- tai ö-kirjaimia), kannattaa valita kunnollinen merkistö joka tukee kaikkia tarvitsemiasi merkkejä, jolloin palvelin pystyy tarvittaessa muuntamaan tekstit asiakasohjelmiston merkistöön. Jos tallennat muuta kuin ASCII-dataa SQL_ASCII tietokantaan, voit törmätä kummallisiin merkkeihin lukiessa tai kirjoittaessa tietokantaan, joka johtuu muunnosongelmista. Se voi aiheuttaa paljon ongelmia kun tietokantaa käytetään eri asiakasohjelmilla ja ajureilla.
</p>
<p>
-Useimmissa asennuksissa Unicode (UTF8) merkistö on kaikkein joustavin vaihteohto.
+Useimmissa asennuksissa Unicode (UTF8) merkistö on kaikkein joustavin vaihteohto.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Unicode-merkistö Win32-palvelimella</h3>
+<h3>Unicode-merkistö Win32-palvelimella</h3>
<p>
-Tietokanta "<INFO>" käyttää Unicode (UTF8) merkistöä ja sijaitsee PostgreSQL 8.0 palvelimella Win32-palvelimella.
+Tietokanta "<INFO>" käyttää Unicode (UTF8) merkistöä ja sijaitsee PostgreSQL 8.0 palvelimella Win32-palvelimella.
</p>
<p>
-PostgreSQL 8.0:n Win32-toteutus ei pysty lajittelemaan merkkijonoja käyttäen oikeita lajittelujärjestyksiä, koska käyttöjärjestelmä ei tarjoa siihen tarvittavaa tukea.
+PostgreSQL 8.0:n Win32-toteutus ei pysty lajittelemaan merkkijonoja käyttäen oikeita lajittelujärjestyksiä, koska käyttöjärjestelmä ei tarjoa siihen tarvittavaa tukea.
</p>
<p>
-Tällä palvelimella on suositeltavaa käyttää jotain muuta merkistöä, joka tukee tarvittavia merkkejä, siirtää PostgreSQL-palvelin toiselle käyttöjärjestelmälle, tai päivittää palvelin versioon 8.1 joka sisältää ongelman ratkaisemiseksi enemmän ohjelmakoodia unicode-lajittelujärjestyksiä varten.
+Tällä palvelimella on suositeltavaa käyttää jotain muuta merkistöä, joka tukee tarvittavia merkkejä, siirtää PostgreSQL-palvelin toiselle käyttöjärjestelmälle, tai päivittää palvelin versioon 8.1 joka sisältää ongelman ratkaisemiseksi enemmän ohjelmakoodia unicode-lajittelujärjestyksiä varten.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
<h3>Viiteavaimen kattavat indeksit</h3>
<p>
-Viiteavainta käytetään yhdistämään toisiinsa kaksi taulua loogisella tavalla, jarajoittamaan niihin sallittavia muutoksia.
+Viiteavainta käytetään yhdistämään toisiinsa kaksi taulua loogisella tavalla, jarajoittamaan niihin sallittavia muutoksia.
</p>
<p>
-Kaikki alkaa isätaulusta johon viitataan, eli viitatusta taulusta. Se tarvitsee primääriavaimen (tarkkaan ottaen, viitattujen kenttien tarvitsee vain olla määritelty NOT NULLiksi, ja taululla pitää olla yksilöivä indeksi joka kattaa kentät, mutta on erittäin primääriavaimen määritteleminen on erittäin suositeltavaa). Lapsitaulu riippuu isätaulusta, siten että viiteavaimeen kuuluvien kenttien arvojen on vastattava jokaisella rivillä jonkin isätaulussa olevan rivin arvoja. Lapsitaulu on toiselta nimeltään viiteavaimen viittaava taulu.
+Kaikki alkaa isätaulusta johon viitataan, eli viitatusta taulusta. Se tarvitsee primääriavaimen (tarkkaan ottaen, viitattujen kenttien tarvitsee vain olla määritelty NOT NULLiksi, ja taululla pitää olla yksilöivä indeksi joka kattaa kentät, mutta on erittäin primääriavaimen määritteleminen on erittäin suositeltavaa). Lapsitaulu riippuu isätaulusta, siten että viiteavaimeen kuuluvien kenttien arvojen on vastattava jokaisella rivillä jonkin isätaulussa olevan rivin arvoja. Lapsitaulu on toiselta nimeltään viiteavaimen viittaava taulu.
</p>
<p>
-Viiteavain rajoittaa paitsi lapsitaulua, myös isätaulua; rajoituksen tyyppi voi olla RESTRICT, CASCADE tai SET NULL. Tämä tarkoittaa, että kun isätaulun riviä muutetaan (UPDATE tai DELETE), kaikkien lapsitaulujen viite-eheys tarkistetaan. Lue lisää PostgreSQL:n dokumentaatiosta kohdasta "foreign keys".
+Viiteavain rajoittaa paitsi lapsitaulua, myös isätaulua; rajoituksen tyyppi voi olla RESTRICT, CASCADE tai SET NULL. Tämä tarkoittaa, että kun isätaulun riviä muutetaan (UPDATE tai DELETE), kaikkien lapsitaulujen viite-eheys tarkistetaan. Lue lisää PostgreSQL:n dokumentaatiosta kohdasta "foreign keys".
</p>
<p>
-Tämä tarkoittaa että kun isätaulun riviä muutetaan, viiteavainta vastaavat rivit haetaan kaikista lapsitauluista viite-eheyden tarkistusta varten. Tämän johdosta kaikki lukutapahtumien suorituskykyyn liittyvät säännöt pätevät yleensä myös lapsitaulun kenttiin. Hyvän suorituskyvyn takaamiseksi lapsitaulun viiteavaimille kannattaa yleensä luoda indeksit. PostgreSQL ei valvo sitä millään tavalla, joten indeksin luominen on tietokannan suunnittelijan vastuulla.
+Tämä tarkoittaa että kun isätaulun riviä muutetaan, viiteavainta vastaavat rivit haetaan kaikista lapsitauluista viite-eheyden tarkistusta varten. Tämän johdosta kaikki lukutapahtumien suorituskykyyn liittyvät säännöt pätevät yleensä myös lapsitaulun kenttiin. Hyvän suorituskyvyn takaamiseksi lapsitaulun viiteavaimille kannattaa yleensä luoda indeksit. PostgreSQL ei valvo sitä millään tavalla, joten indeksin luominen on tietokannan suunnittelijan vastuulla.
</p>
<p>
-pgAdmin III tarjoaa yksinkertaisen "rasti ruutuun"-valinnan viiteavaimen luomisessa, joka tarkistaa automaattisesti sopivan indeksi olemassaolon, ja luo indeksin jos sitä ei ole ennestään. Kuten aina indeksien kanssa, joissain harvinaisissa tapauksissa indeksi huonontaa hieman suorituskykyä, mutta yleensä ottaen indeksin puuttuminen huonontaa suorituskykyä paljon enemmän kuin ylimääräisen indeksin olemassaolo.
+pgAdmin III tarjoaa yksinkertaisen "rasti ruutuun"-valinnan viiteavaimen luomisessa, joka tarkistaa automaattisesti sopivan indeksi olemassaolon, ja luo indeksin jos sitä ei ole ennestään. Kuten aina indeksien kanssa, joissain harvinaisissa tapauksissa indeksi huonontaa hieman suorituskykyä, mutta yleensä ottaen indeksin puuttuminen huonontaa suorituskykyä paljon enemmän kuin ylimääräisen indeksin olemassaolo.
</p>
</body>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
Palvelimella ei ole instrumentointifunktioita.
</p>
<p>
-pgAdmin III käyttää eräitä apufunktioita jotka eivät kaikissa PostgreSQL versioissa tule valmiiksi asennettuina. Funktiot mahdollistavat toimintoja jotka helpottavat loki- ja asetustiedostojen hallintaa.
+pgAdmin III käyttää eräitä apufunktioita jotka eivät kaikissa PostgreSQL versioissa tule valmiiksi asennettuina. Funktiot mahdollistavat toimintoja jotka helpottavat loki- ja asetustiedostojen hallintaa.
</p>
<p>
Asentaessasi PostgreSQL versio 8.0:n tai uudemman Windows-installerilla, sinun tarvitsee vain valita "admin"- tai "adminpack"-moduli.
</p>
<p>
-Kääntäessäsi lähdekoodista, tarvittavat tiedostot löytyvät pgAdminin lähdekoodipaketin xtra-hakemistosta. Jos käytät PostgreSQL:n versiota 8.0, kopioi admin-alihakemisto PostgreSQL:n contrib-hakemistosta, ja aja "make" ja "make install". Jos käytät PostgreSQL:n versiota 8.1, käytä admin81-hakemistoa admin-hakemiston sijaan.
+Kääntäessäsi lähdekoodista, tarvittavat tiedostot löytyvät pgAdminin lähdekoodipaketin xtra-hakemistosta. Jos käytät PostgreSQL:n versiota 8.0, kopioi admin-alihakemisto PostgreSQL:n contrib-hakemistosta, ja aja "make" ja "make install". Jos käytät PostgreSQL:n versiota 8.1, käytä admin81-hakemistoa admin-hakemiston sijaan.
<p>
PostgreSQL versiossa 8.2 ja uudemmissa instrumentointifunktiot tulevat asennuspaketin mukana "adminpack" contrib-modulissa.
</p>
</p>
-Kun moduli on asennettu, instrumentointifunktiot tulee luoda huoltotietokantaan käyttäen admin.sql-skriptiä (admin81.sql PostgreSQL 8.1 versiota varten) joka on yleensä pgsql share-hakemisossa (esim. /usr/local/pgsql/share).
+Kun moduli on asennettu, instrumentointifunktiot tulee luoda huoltotietokantaan käyttäen admin.sql-skriptiä (admin81.sql PostgreSQL 8.1 versiota varten) joka on yleensä pgsql share-hakemisossa (esim. /usr/local/pgsql/share).
</p>
<p>
Laajennettu palvelimen instrumentointi ei ole tuettu versioissa 7.3 ja 7.4.
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
<p>
-pgAdmin III löysi monta ongelmaa tämänhetkisestä objektista.
+pgAdmin III löysi monta ongelmaa tämänhetkisestä objektista.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Näkymien, talletettujen proseduurien tai funktioiden muokkaus</h3>
+<h3>Näkymien, talletettujen proseduurien tai funktioiden muokkaus</h3>
<p>
-Muokatessasi näkymän, proseduurin tai funktion lähdekoodia, voit muokata objektia myös kyselytyökalussa käyttäen pgAdminin skriptitoimintoa, ominaisuudet-ikkunan pienen laatikon sijaan. Tämä mahdollistaa kyselytyökalun editorin ominaisuuksien, kuten tab-täydennyksen ja etsi-korvaa-toiminnon käytön, sekä isomman työskentelytilan.
+Muokatessasi näkymän, proseduurin tai funktion lähdekoodia, voit muokata objektia myös kyselytyökalussa käyttäen pgAdminin skriptitoimintoa, ominaisuudet-ikkunan pienen laatikon sijaan. Tämä mahdollistaa kyselytyökalun editorin ominaisuuksien, kuten tab-täydennyksen ja etsi-korvaa-toiminnon käytön, sekä isomman työskentelytilan.
</p>
<p>
-Käyttääksesi skriptitoimintoa, klikkaa objektia pgAdminin puunäkymässä oikealla hiirennapilla,
+Käyttääksesi skriptitoimintoa, klikkaa objektia pgAdminin puunäkymässä oikealla hiirennapilla,
ja valitse <i>CREATE skripti<i>. Se voi olla <i>Skriptit</i> alivalikossa. Vaihtoehtoisesti
-voit valita objektin ja valita sitten <i>CREATE skripti</i> <i>Työkalut</i>-valikon <i>Skriptit</i>-alivalikosta.
+voit valita objektin ja valita sitten <i>CREATE skripti</i> <i>Työkalut</i>-valikon <i>Skriptit</i>-alivalikosta.
</p>
<p>
-Muokkaa objektin luontilausetta tarpeen mukaan, ja käytä <i>Suorita kysely<i>-nappia muutosten
-voimaansaattamiseksi. Muista että näkymän tai funktion nimen, tai funktion tai proseduurin
-parametrien, muuttaminen voi luoda uuden objektin vanhan rinnalle. Tämä sivuvaikutus on kätevä
-kun haluat luoda uuden, mutta samankaltaisen objektin. Voit joutua virkistämään objektien selaus -näytön nähdäksesi uudet objektit.
+Muokkaa objektin luontilausetta tarpeen mukaan, ja käytä <i>Suorita kysely</i>-nappia muutosten
+voimaansaattamiseksi. Muista että näkymän tai funktion nimen, tai funktion tai proseduurin
+parametrien, muuttaminen voi luoda uuden objektin vanhan rinnalle. Tämä sivuvaikutus on kätevä
+kun haluat luoda uuden, mutta samankaltaisen objektin. Voit joutua virkistämään objektien selaus -näytön nähdäksesi uudet objektit.
</p>
<p>
-Voit käyttää tätä tekniikkaa kaikenlaisten operaatioiden suorittamiseksi eri objekteille, mutta
-PostgreSQL:n <i>CREATE OR REPLACE</i> syntaksi tekee sen erityisen käteväksi näkymien, proseduurien ja funktioiden kanssa.
+Voit käyttää tätä tekniikkaa kaikenlaisten operaatioiden suorittamiseksi eri objekteille, mutta
+PostgreSQL:n <i>CREATE OR REPLACE</i> syntaksi tekee sen erityisen käteväksi näkymien, proseduurien ja funktioiden kanssa.
</p>
</body>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Primääriavaimet</h3>
+<h3>Primääriavaimet</h3>
<p>
-Suunnitellessasi taulua, pidä aina mielessä miten taulusta tullaan myöhemmin hakemaan rivejä. Useimmissa tapauksissa tarvitset avaimen voidaksesi hakea ja muuttaa tiettyä riviä yksikäsitteisesti; tämä avain tulisi määritellä taulun primääriavaimeksi. Primääriavain ei välttämättä ole vain yksi kenttä; se voi koostua niin monesta kentästä kuin rivin yksilöimiseen tarvitaan. Jos tarvitset montaa kenttää (nyrkkisääntönä voidaan pitää kolmea), voi olla hyvä idea luoda keinotekoinen avainkenttä kätevällä tietotyppillä, esimerkiksi serial tai bigserial.
+Suunnitellessasi taulua, pidä aina mielessä miten taulusta tullaan myöhemmin hakemaan rivejä. Useimmissa tapauksissa tarvitset avaimen voidaksesi hakea ja muuttaa tiettyä riviä yksikäsitteisesti; tämä avain tulisi määritellä taulun primääriavaimeksi. Primääriavain ei välttämättä ole vain yksi kenttä; se voi koostua niin monesta kentästä kuin rivin yksilöimiseen tarvitaan. Jos tarvitset montaa kenttää (nyrkkisääntönä voidaan pitää kolmea), voi olla hyvä idea luoda keinotekoinen avainkenttä kätevällä tietotyppillä, esimerkiksi serial tai bigserial.
</p>
<p>
-Vain äärimmäisen harvinaisissa tapauksissa ei ole järkevää luoda primääriavainta. Toisin sanoen, primääriavaimen puuttuminen on vahva merkki siitä että taulu ei ole valmiiksi saakka suunniteltu; sen takia tämä Gurun neuvo näytetään aina jos luot taulun ilman primääriavainta.
+Vain äärimmäisen harvinaisissa tapauksissa ei ole järkevää luoda primääriavainta. Toisin sanoen, primääriavaimen puuttuminen on vahva merkki siitä että taulu ei ole valmiiksi saakka suunniteltu; sen takia tämä Gurun neuvo näytetään aina jos luot taulun ilman primääriavainta.
</p>
<p>
-Jos katsot PostgreSQL:n järjestelmätauluja, huomaat että millään niistä ei ole primääriavainta. Mistä oikein on kysymys? Itse asiasssa, kaikissa näissä tauluissa on yksi tai kaksi kenttää (useimmiten vain OID), joka yksilöi jokaisen rivin, noudattaa primääriavainten toista sääntöä, eli ei huoli NULLia, ja on indeksoitu hakujen nopeuttamiseksi. OID:den käyttö johtuu historiallisista syistä, eikä ole suositeltavaa sovellustaulujen suunnittelussa. PostgreSQL tukee sitä yhä taaksepäin yhteensopivuuden takaamiseksi. Jos järjestelmätaulut suunniteltaisiin tänä päivänä uudelleen, niissä todennäköisesti käytettäisiin primääriavaimia, mutta sitä ei enää lähdetä muuttamaan.
+Jos katsot PostgreSQL:n järjestelmätauluja, huomaat että millään niistä ei ole primääriavainta. Mistä oikein on kysymys? Itse asiasssa, kaikissa näissä tauluissa on yksi tai kaksi kenttää (useimmiten vain OID), joka yksilöi jokaisen rivin, noudattaa primääriavainten toista sääntöä, eli ei huoli NULLia, ja on indeksoitu hakujen nopeuttamiseksi. OID:den käyttö johtuu historiallisista syistä, eikä ole suositeltavaa sovellustaulujen suunnittelussa. PostgreSQL tukee sitä yhä taaksepäin yhteensopivuuden takaamiseksi. Jos järjestelmätaulut suunniteltaisiin tänä päivänä uudelleen, niissä todennäköisesti käytettäisiin primääriavaimia, mutta sitä ei enää lähdetä muuttamaan.
</p>
<p>
-Kuten järjestelmätaulujen tapaus osoittaa, yksilöllisyyden ja nopeiden hakujen tavoitteeseen voi päästä muillakin keinoilla kuin primääriavaimilla. Siitä huolimatta, tietomallin selkeyden vuoksi, kannattaa ehdottomasti käyttää primääriavaimia tähän tarkoitukseen.
+Kuten järjestelmätaulujen tapaus osoittaa, yksilöllisyyden ja nopeiden hakujen tavoitteeseen voi päästä muillakin keinoilla kuin primääriavaimilla. Siitä huolimatta, tietomallin selkeyden vuoksi, kannattaa ehdottomasti käyttää primääriavaimia tähän tarkoitukseen.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<h3>Salasanojen tallentaminen</h3>
<p>
-<b>VAROITUS:</b> Olet päättänyt tallentaa salasanan. Se tallennetaan selväkielisenä kotihakemistoosi *nix-järjestelmässä, tai käyttäjän profiiliin Windowsissa. Jos et halua näin tapahtuvan, paina Peruuta-nappia.
+<b>VAROITUS:</b> Olet päättänyt tallentaa salasanan. Se tallennetaan selväkielisenä kotihakemistoosi *nix-järjestelmässä, tai käyttäjän profiiliin Windowsissa. Jos et halua näin tapahtuvan, paina Peruuta-nappia.
</p>
<p>
-pgAdmin käyttää PostgreSQL:n "pgpass"-mekanismia salasanojen tallentamiseen. *nix-järjestelmässä salasana tallennetaan <i>~/.pgpass</i>-tiedostoon, ja Windows-järjestelmässä se tallennetaan <i>%APPDATA%\PostgreSQL\pgpass.conf</i>-tiedostoon (%APPDATA% on "Application Data"-kansio käyttäjäprofiilissasi). Tätä mekanismia käyttää oletusarvoisesti kaikki libpq-kirjastoa käyttävät ohjelmat, kuten komentoriviohjelmat kuten pg_dump ja pg_restore, muut GUI-ohjelmat, sekä jotkin ajurit kuten psqlODBC. Se tarkoittaa että myös nämä ohjelmat voivat ottaa automaattisesti yhteyden tietokantaan käyttäen tallentamaasi salasanaa. Jos et halua näin tapahtuvan, älä käytä <i>Salasanojen tallennus</i>-toimintoa pgAdminissa.
+pgAdmin käyttää PostgreSQL:n "pgpass"-mekanismia salasanojen tallentamiseen. *nix-järjestelmässä salasana tallennetaan <i>~/.pgpass</i>-tiedostoon, ja Windows-järjestelmässä se tallennetaan <i>%APPDATA%\PostgreSQL\pgpass.conf</i>-tiedostoon (%APPDATA% on "Application Data"-kansio käyttäjäprofiilissasi). Tätä mekanismia käyttää oletusarvoisesti kaikki libpq-kirjastoa käyttävät ohjelmat, kuten komentoriviohjelmat kuten pg_dump ja pg_restore, muut GUI-ohjelmat, sekä jotkin ajurit kuten psqlODBC. Se tarkoittaa että myös nämä ohjelmat voivat ottaa automaattisesti yhteyden tietokantaan käyttäen tallentamaasi salasanaa. Jos et halua näin tapahtuvan, älä käytä <i>Salasanojen tallennus</i>-toimintoa pgAdminissa.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<h3>VACUUM-komennon ajaminen on suositeltavaa</h3>
<p>
-Taulun "<INFO>" arvioitu rivimäärä poikkeaa merkittävästi todellisesta rivimäärästä. Sinun tulisi ajaa VACUUM ANALYZE tälle taululle.
+Taulun "<INFO>" arvioitu rivimäärä poikkeaa merkittävästi todellisesta rivimäärästä. Sinun tulisi ajaa VACUUM ANALYZE tälle taululle.
</p><p>
-Sen sijaan että ajat käsin VACUUM ANALYZE-komennon tälle taululle (voit tehdä sen pgAdmin III huolto-valikosta), kannattaa harkita VACUUM ANALYZEn ajamisen automatisointia, esimerkiksi ajastinohjelmalla. PostgreSQL tarjoaa myös pg_autovacuum-daemonin, joka seuraa tietokantaan tehtyjä muutoksia ja ajaa VACUUM-komennon aina tarvittaessa. Useimmissa tapauksissa pg_autovacuum on paras vaihtoehto.
+Sen sijaan että ajat käsin VACUUM ANALYZE-komennon tälle taululle (voit tehdä sen pgAdmin III huolto-valikosta), kannattaa harkita VACUUM ANALYZEn ajamisen automatisointia, esimerkiksi ajastinohjelmalla. PostgreSQL tarjoaa myös pg_autovacuum-daemonin, joka seuraa tietokantaan tehtyjä muutoksia ja ajaa VACUUM-komennon aina tarvittaessa. Useimmissa tapauksissa pg_autovacuum on paras vaihtoehto.
</p><p><br><br></p>
<b>Mihin VACUUMia tarvitaan?</b>
<p>
-PostgreSQL:n optimoija tekee päätöksensä arvioituihin rivimääriin perustuen. Jos arvioitu rivimäärä poikkeaa liian paljon todellisuudesta, optimoija voi tehdä huonon päätöksen, joka johtaa huonoon saantipolkuun ja sitä kautta huonoon suorituskykyyn.
+PostgreSQL:n optimoija tekee päätöksensä arvioituihin rivimääriin perustuen. Jos arvioitu rivimäärä poikkeaa liian paljon todellisuudesta, optimoija voi tehdä huonon päätöksen, joka johtaa huonoon saantipolkuun ja sitä kautta huonoon suorituskykyyn.
</p><p>
-PostgreSQL tarvitsee VACUUMia tauluijen transaktio-ID-numeroiden kiinnittämiseksi. VACUUM myös siivoaa rivien poistamisessa ja päivittämisessä syntyviä vanhoja riviversioita, vapauttaen niiden viemän tilan käyttämisen uudelleen. Online-dokumentaatiosssa on paljon yksityiskohtaista tietoa aiheesta; paina vain "Apua"-nappia.
+PostgreSQL tarvitsee VACUUMia tauluijen transaktio-ID-numeroiden kiinnittämiseksi. VACUUM myös siivoaa rivien poistamisessa ja päivittämisessä syntyviä vanhoja riviversioita, vapauttaen niiden viemän tilan käyttämisen uudelleen. Online-dokumentaatiosssa on paljon yksityiskohtaista tietoa aiheesta; paina vain "Apua"-nappia.
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Gurun neuvot</title>
</head>
<body>
-<h3>Taulun sisällön muokkaus ilman primääriavainta</h3>
+<h3>Taulun sisällön muokkaus ilman primääriavainta</h3>
<p>
-Koska taululla <INFO> ei ole primääriavainta tai OID:ta, voit vain katsella sen sisältöä. Uusien rivien lisäys ja vanhojen muokkaus ei ole mahdollista taulun sisällönmuokkaustyökalulla ilman primääriavainta.
+Koska taululla <INFO> ei ole primääriavainta tai OID:ta, voit vain katsella sen sisältöä. Uusien rivien lisäys ja vanhojen muokkaus ei ole mahdollista taulun sisällönmuokkaustyökalulla ilman primääriavainta.
</p>
<p>
-Voidaksesi muokata sisältöä, pgAdmin III tarvitsee primääriavaimen, joka on hyvä suunnitteluperiaate joka tapauksessa. Vaihtoehtoisesti voit luoda taulun WITH OIDS-optiolla. Huomaa että oid:t <B>eivät</B> ole välttämättä yksilöiviä pitkän ajan kuluessa, joten oid:n käyttö primääriavaimen korvikkeena ei ole ensisijainen vaihtoehto.
+Voidaksesi muokata sisältöä, pgAdmin III tarvitsee primääriavaimen, joka on hyvä suunnitteluperiaate joka tapauksessa. Vaihtoehtoisesti voit luoda taulun WITH OIDS-optiolla. Huomaa että oid:t <B>eivät</B> ole välttämättä yksilöiviä pitkän ajan kuluessa, joten oid:n käyttö primääriavaimen korvikkeena ei ole ensisijainen vaihtoehto.
</p>
</body>
</html>
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Utiliser pg_autovacuum est recommandé</h3>\r
+<h3>Utiliser pg_autovacuum est recommandé</h3>\r
<p>\r
-À partir de PostgreSQL 8.1, le processus pg_autovacuum qui était anciennement\r
-implémenté en tant que processus externe est maintenant complètement intégré\r
+À partir de PostgreSQL 8.1, le processus pg_autovacuum qui était anciennement\r
+implémenté en tant que processus externe est maintenant complètement intégré\r
dans le moteur. Il lancera VACUUM automatiquement si un nombre configurable de\r
-données a été modifiée.\r
+données a été modifiée.\r
</p>\r
<p>\r
-Exécuter VACUUM est nécessaire sur un serveur PostgreSQL pour conserver la\r
-cohérence des données ainsi que les performances du serveur. Pour commencer, il\r
-est recommandé d'activer le démon pg_autovacuum en initialisant les paramètres\r
+Exécuter VACUUM est nécessaire sur un serveur PostgreSQL pour conserver la\r
+cohérence des données ainsi que les performances du serveur. Pour commencer, il\r
+est recommandé d'activer le démon pg_autovacuum en initialisant les paramètres\r
'autovacuum', 'stats_start_collector' et 'stats_row_level' du fichier\r
-postgresql.conf à la valeur 'on'. Avec une pénalité habituellement négligeable\r
-sur les performances, vous gagnerez avec l'exécution automatique des VACUUM.\r
+postgresql.conf à la valeur 'on'. Avec une pénalité habituellement négligeable\r
+sur les performances, vous gagnerez avec l'exécution automatique des VACUUM.\r
</p>\r
<p>\r
-Pour ajuster les performances de pg_autovacuum à vos besoins personnels, vous\r
-pouvez avoir besoin de configurer plus finement les paramètres globaux ou les\r
-paramètres inhérents à chaque table. Voir la documentation.\r
+Pour ajuster les performances de pg_autovacuum à vos besoins personnels, vous\r
+pouvez avoir besoin de configurer plus finement les paramètres globaux ou les\r
+paramètres inhérents à chaque table. Voir la documentation.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Accès refusé à la base de données</h3>\r
+<h3>Accès refusé à la base de données</h3>\r
<p>\r
-Le serveur n'a pas autorisé l'accès à la base de données : le serveur\r
+Le serveur n'a pas autorisé l'accès à la base de données : le serveur\r
rapporte\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Pour accéder à la base de données sur un serveur PostgreSQL, vous devez tout\r
-d'abord autoriser l'accès au serveur pour votre client (authentification basée\r
-sur l'hôte). PostgreSQL vérifiera le fichier pg_hba.conf si un modèle\r
-correspondant à votre adresse, nom d'utilisateur, base de données est présent et\r
-activé avant même que les listes de contrôle d'accès SQL ne soient évaluées.\r
+Pour accéder à la base de données sur un serveur PostgreSQL, vous devez tout\r
+d'abord autoriser l'accès au serveur pour votre client (authentification basée\r
+sur l'hôte). PostgreSQL vérifiera le fichier pg_hba.conf si un modèle\r
+correspondant à votre adresse, nom d'utilisateur, base de données est présent et\r
+activé avant même que les listes de contrôle d'accès SQL ne soient évaluées.\r
</p>\r
<p>\r
-La configuration initiale de pg_hba.conf est assez restrictive pour éviter des\r
-failles de sécurité involontaires causées par une configuration non acceptée.\r
+La configuration initiale de pg_hba.conf est assez restrictive pour éviter des\r
+failles de sécurité involontaires causées par une configuration non acceptée.\r
Vous souhaiterez probablement quelque chose comme\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Cet exemple autorise les accès à toutes les bases de données de tous les\r
-utilisateurs sur le réseau privé 192.168.0.0/24 à condition que l'identification\r
-se fasse via des mots de passe cryptés en MD5.\r
+Cet exemple autorise les accès à toutes les bases de données de tous les\r
+utilisateurs sur le réseau privé 192.168.0.0/24 à condition que l'identification\r
+se fasse via des mots de passe cryptés en MD5.\r
</p>\r
<p>\r
-Vous pouvez utiliser l'éditeur du fichier pg_hba.conf intégré à pgAdmin III pour\r
-modifier le fichier de configuration pg_hba.conf. Après l'avoir modifié, vous\r
+Vous pouvez utiliser l'éditeur du fichier pg_hba.conf intégré à pgAdmin III pour\r
+modifier le fichier de configuration pg_hba.conf. Après l'avoir modifié, vous\r
aurez besoin de demander le rechargement de la configuration du serveur en\r
-utilisant pg_ctl ou en arrêtant puis en redémarrant le processus serveur.\r
+utilisant pg_ctl ou en arrêtant puis en redémarrant le processus serveur.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Échec de l'authentification via ident</h3>\r
+<h3>Échec de l'authentification via ident</h3>\r
<p>\r
-Le serveur n'a pas autorisé l'utilisateur courant : le serveur rapporte\r
+Le serveur n'a pas autorisé l'utilisateur courant : le serveur rapporte\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Si ce message apparaît, l'entrée trouvée dans pg_hba.conf pour votre combinaison\r
-client, utilisateur, base de données est configurée pour une authentification via\r
-"ident". Certaines distributions, comme Debian, ont ceci par défaut.\r
-Pour passer avec succès une authentification basée sur ident, vous avez besoin\r
-d'une configuration supplémentaire ; voir l'aide de PostgreSQL pour cela.\r
-Pour un débutant, il serait approprié d'utiliser une méthode d'authentification\r
-différente ; les mots de passe cryptés avec MD5 est un bon choix pouvant être\r
-configuré avec ceci :\r
+Si ce message apparaît, l'entrée trouvée dans pg_hba.conf pour votre combinaison\r
+client, utilisateur, base de données est configurée pour une authentification via\r
+"ident". Certaines distributions, comme Debian, ont ceci par défaut.\r
+Pour passer avec succès une authentification basée sur ident, vous avez besoin\r
+d'une configuration supplémentaire ; voir l'aide de PostgreSQL pour cela.\r
+Pour un débutant, il serait approprié d'utiliser une méthode d'authentification\r
+différente ; les mots de passe cryptés avec MD5 est un bon choix pouvant être\r
+configuré avec ceci :\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Cet exemple autorise les accès à toutes les bases de données de tous les\r
-utilisateurs sur le réseau privé 192.168.0.0/24 à condition que l'identification\r
-se fasse via des mots de passe cryptés en MD5.\r
+Cet exemple autorise les accès à toutes les bases de données de tous les\r
+utilisateurs sur le réseau privé 192.168.0.0/24 à condition que l'identification\r
+se fasse via des mots de passe cryptés en MD5.\r
</p>\r
<p>\r
-Vous pouvez utiliser l'éditeur du fichier pg_hba.conf intégré à pgAdmin III pour\r
-modifier le fichier de configuration pg_hba.conf. Après l'avoir modifié, vous\r
+Vous pouvez utiliser l'éditeur du fichier pg_hba.conf intégré à pgAdmin III pour\r
+modifier le fichier de configuration pg_hba.conf. Après l'avoir modifié, vous\r
aurez besoin de demander le rechargement de la configuration du serveur en\r
-utilisant pg_ctl ou en arrêtant puis en redémarrant le processus serveur.\r
+utilisant pg_ctl ou en arrêtant puis en redémarrant le processus serveur.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Le serveur n'écoute pas</h3>\r
+<h3>Le serveur n'écoute pas</h3>\r
<p>\r
-Le serveur n'accepte pas les connexions : la bibliothèque de connexion\r
+Le serveur n'accepte pas les connexions : la bibliothèque de connexion\r
rapporte\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Si vous rencontrez ce message, merci de vérifier que le serveur que vous essayez\r
-de contacter est réellement en cours d'exécution sur le port donné. Testez si \r
-vous avez une connexion réseau à partir de votre client vers le serveur hôte en\r
-utilisant ping ou des outils équivalents. Votre réseau / VPN / tunnel SSH/ parefeu\r
-est-il configuré correctement ?\r
+Si vous rencontrez ce message, merci de vérifier que le serveur que vous essayez\r
+de contacter est réellement en cours d'exécution sur le port donné. Testez si \r
+vous avez une connexion réseau à partir de votre client vers le serveur hôte en\r
+utilisant ping ou des outils équivalents. Votre réseau / VPN / tunnel SSH/ parefeu\r
+est-il configuré correctement ?\r
</p>\r
<p>\r
-Pour des raisons de sécurité, PostgreSQL n'écoute <B>pas</B> sur toutes les\r
-adresses IP disponibles sur le serveur par défaut. Pour accéder au serveur sur\r
-le réseau, vous devez activer l'coute sur l'adresse en premier lieu.\r
+Pour des raisons de sécurité, PostgreSQL n'écoute <B>pas</B> sur toutes les\r
+adresses IP disponibles sur le serveur par défaut. Pour accéder au serveur sur\r
+le réseau, vous devez activer l'coute sur l'adresse en premier lieu.\r
</p>\r
<p>\r
-Pour les serveurs PostgreSQL, à partir de la version 8.0, ceci est contrôlé en\r
-utilisant le paramètre "listen_addresses" dans le fichier\r
-postgresql.conf. Vous pouvez y saisir une liste d'adresses IP que l serveur devra écouter ou simplement '*' pour indiquer toutes les adresses IP disponibles.\r
-Pour les versions précédentes (7.3 ou 7.4), vous aurez besoin de configurer le\r
-paramètre "tcpip_socket" à 'true'.\r
+Pour les serveurs PostgreSQL, à partir de la version 8.0, ceci est contrôlé en\r
+utilisant le paramètre "listen_addresses" dans le fichier\r
+postgresql.conf. Vous pouvez y saisir une liste d'adresses IP que l serveur devra écouter ou simplement '*' pour indiquer toutes les adresses IP disponibles.\r
+Pour les versions précédentes (7.3 ou 7.4), vous aurez besoin de configurer le\r
+paramètre "tcpip_socket" à 'true'.\r
</p>\r
<p>\r
-Vous pouvez utiliser l'éditeur de postgresql.conf intégré à pgAdmin III pour\r
-modifier le fichier de configuration postgresql.conf. Après avoir modifié ce\r
-fichier, vous devez redémarrer le processus serveur pour que les modifications\r
+Vous pouvez utiliser l'éditeur de postgresql.conf intégré à pgAdmin III pour\r
+modifier le fichier de configuration postgresql.conf. Après avoir modifié ce\r
+fichier, vous devez redémarrer le processus serveur pour que les modifications\r
soient prises en compte.\r
</p>\r
<p>\r
-Si vous avez bien vérifié votre configuration mais que vous obtenez toujours ce\r
-message d'erreur, il est toujours improbable que vous ayez rencontré un\r
-mauvais comportement de PostgreSQL. Vous avez certainement des problèmes de\r
-connexion réseau (par exemple suivant la configuration du parefeu). Merci de\r
-vérifier ceci en profondeur avant de rapporter un bogue à la communauté\r
+Si vous avez bien vérifié votre configuration mais que vous obtenez toujours ce\r
+message d'erreur, il est toujours improbable que vous ayez rencontré un\r
+mauvais comportement de PostgreSQL. Vous avez certainement des problèmes de\r
+connexion réseau (par exemple suivant la configuration du parefeu). Merci de\r
+vérifier ceci en profondeur avant de rapporter un bogue à la communauté\r
PostgreSQL.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Codage de la base de données</h3>\r
+<h3>Codage de la base de données</h3>\r
<p>\r
-La base de données <INFO> a été créé pour stocker des données dans le codage\r
-SQL_ASCII. Ce codage est seulement défini pour les caractères sur sept bits ;\r
-la signification des caractères dont le huitième bit est positionné (caractères\r
-non ASCII allant de 127 à 255) n'est pas définie. En conséquence, il n'est pas\r
-possible pour le serveur de convertir les données vers d'autres codages.\r
+La base de données <INFO> a été créé pour stocker des données dans le codage\r
+SQL_ASCII. Ce codage est seulement défini pour les caractères sur sept bits ;\r
+la signification des caractères dont le huitième bit est positionné (caractères\r
+non ASCII allant de 127 à 255) n'est pas définie. En conséquence, il n'est pas\r
+possible pour le serveur de convertir les données vers d'autres codages.\r
</p>\r
<p>\r
-Si vous stockez des données non ASCII dans la base, vous êtes fortement encouragé\r
-à utiliser un bon codage représentant la locale de votre ensemble de caractères\r
-pour retrouver le bénéfice des conversions automatiques vers les différents\r
-codages client si nécessaire. Si vous stockez des données non ASCII dans une\r
-base de données SQL_ASCII, vous pouvez rencontrer des problèmes avec des\r
-caractères étranges écrit ou lu depuis la base de données, problèmes causés par\r
-des soucis de conversion de code. Ceci pourrait vous amener beaucoup de problèmes\r
-en accédant à la base de données avec des programmes clients et des pilotes\r
-différents.\r
+Si vous stockez des données non ASCII dans la base, vous êtes fortement encouragé\r
+à utiliser un bon codage représentant la locale de votre ensemble de caractères\r
+pour retrouver le bénéfice des conversions automatiques vers les différents\r
+codages client si nécessaire. Si vous stockez des données non ASCII dans une\r
+base de données SQL_ASCII, vous pouvez rencontrer des problèmes avec des\r
+caractères étranges écrit ou lu depuis la base de données, problèmes causés par\r
+des soucis de conversion de code. Ceci pourrait vous amener beaucoup de problèmes\r
+en accédant à la base de données avec des programmes clients et des pilotes\r
+différents.\r
</p>\r
<p>\r
-Pour la grande majorité des installations, le codage Unicode (UTF8) apportera la\r
-plus grande flexibilité. \r
+Pour la grande majorité des installations, le codage Unicode (UTF8) apportera la\r
+plus grande flexibilité. \r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<h3>Codage Unicode su un serveur Win32</h3>\r
<p>\r
-La base de données <INFO> est créée pour utiliser le codage Unicode (UTF8) lors du\r
-stockage des données sur un serveur PostgreSQL 8.0 fonctionnant sur une machine\r
+La base de données <INFO> est créée pour utiliser le codage Unicode (UTF8) lors du\r
+stockage des données sur un serveur PostgreSQL 8.0 fonctionnant sur une machine\r
Win32.\r
</p>\r
<p>\r
-L'implémentation Win32 de PostgreSQL 8.0 n'est pas capable de trier les chaînes de\r
-caractères suivant des séquences logiques appropriés car le système d'exploitation\r
+L'implémentation Win32 de PostgreSQL 8.0 n'est pas capable de trier les chaînes de\r
+caractères suivant des séquences logiques appropriés car le système d'exploitation\r
n'offre pas de support suffisant pour cela.\r
</p>\r
<p>\r
-Pour cette installation, il est recommandé d'utiliser un codage spécifique de la\r
-locale, d'exécuter le cluster sur un système d'exploitation différent ou de mettre\r
-à jour votre cluster de bases de données avec PostgreSQL 8.1 qui dispose d'un code\r
-supplémentaire pour corriger ce problème.\r
+Pour cette installation, il est recommandé d'utiliser un codage spécifique de la\r
+locale, d'exécuter le cluster sur un système d'exploitation différent ou de mettre\r
+à jour votre cluster de bases de données avec PostgreSQL 8.1 qui dispose d'un code\r
+supplémentaire pour corriger ce problème.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
<body>\r
<h3>Foreign key covering indexes</h3>\r
<p>\r
-Une clé étrangère est utilisée pour coupler deux tables d'une façon logique et\r
+Une clé étrangère est utilisée pour coupler deux tables d'une façon logique et\r
restreint les modifications qui peuvent les affecter.\r
</p>\r
<p>\r
-Tout commence avec une table maître qui sera la table référencée. Elle doit avoir\r
-une clé primaire (en fait, les colonnes référencées doivent seulement être non\r
+Tout commence avec une table maître qui sera la table référencée. Elle doit avoir\r
+une clé primaire (en fait, les colonnes référencées doivent seulement être non\r
NULL et doivent avoir un index unique mais un conseil vraiment bon est d'avoir une\r
-clé primaire). La table esclave dépend de la table maître, dans le sens où les\r
-colonnes sur lesquelles est ajoutée la clé étrangère créée doivent correspondre \r
-à la table maître pour toute clé insérée ou mise à jour. La table esclave est la\r
-table référante de la clé étrangère.\r
+clé primaire). La table esclave dépend de la table maître, dans le sens où les\r
+colonnes sur lesquelles est ajoutée la clé étrangère créée doivent correspondre \r
+à la table maître pour toute clé insérée ou mise à jour. La table esclave est la\r
+table référante de la clé étrangère.\r
</p>\r
<p>\r
-La clé étrangère ne restreint pas seulement la table référante mais aussi la\r
-table de référence ; cette restriction peut être RESTRICT, CASCADE ou SET\r
-NULL. Cela signifie que, si une ligne est modifiée dans la table\r
-maître/référencée (mise à jour ou supprimée), toutes les tables référantes sont\r
-vérifiées si l'opération est valide et s'il reste des actions supplémentaires à\r
-réaliser ; voir la documentation de PostgreSQL sur les clés étrangères pour\r
-plus de détails.\r
+La clé étrangère ne restreint pas seulement la table référante mais aussi la\r
+table de référence ; cette restriction peut être RESTRICT, CASCADE ou SET\r
+NULL. Cela signifie que, si une ligne est modifiée dans la table\r
+maître/référencée (mise à jour ou supprimée), toutes les tables référantes sont\r
+vérifiées si l'opération est valide et s'il reste des actions supplémentaires à\r
+réaliser ; voir la documentation de PostgreSQL sur les clés étrangères pour\r
+plus de détails.\r
</p>\r
<p>\r
-Ceci signifie que suite à un accès en modification sur une ligne spécifique dans\r
-la table référencée, une lecture correspondante est réalisée sur toutes les\r
-tables référantes en utilisant les colonnes de la clé étrangère comme clé d'accès.\r
-En conséquence, toutes les règles de conception qui auraient dû être pris\r
-en considération pour une lecture avec de bonnes performances devraient aussi\r
-s'appliquer aux colonnes dans une table référante. Pour de bonnes performances,\r
-un index est préférable dans la plupart des cas. PostgreSQL ne contraint pas\r
-ceci de cette façon mais c'est au concepteur de la base de données de fournir un\r
+Ceci signifie que suite à un accès en modification sur une ligne spécifique dans\r
+la table référencée, une lecture correspondante est réalisée sur toutes les\r
+tables référantes en utilisant les colonnes de la clé étrangère comme clé d'accès.\r
+En conséquence, toutes les règles de conception qui auraient dû être pris\r
+en considération pour une lecture avec de bonnes performances devraient aussi\r
+s'appliquer aux colonnes dans une table référante. Pour de bonnes performances,\r
+un index est préférable dans la plupart des cas. PostgreSQL ne contraint pas\r
+ceci de cette façon mais c'est au concepteur de la base de données de fournir un\r
index.\r
</p>\r
<p>\r
-Pour plus de confort, pgAdmin III fournit une simple case à cocher lors de la\r
-création d'une clé étrangère, qui vérifiera automatiquement la présence d'un\r
-index utilisable et en créera un pour vous s'il n'existe pas. Comme avec tous les\r
-index, il existe quelques rares cas où l'index fait décroître les performances\r
-mais, en général, avoir un index de moins occasionne plus de dégradations au\r
+Pour plus de confort, pgAdmin III fournit une simple case à cocher lors de la\r
+création d'une clé étrangère, qui vérifiera automatiquement la présence d'un\r
+index utilisable et en créera un pour vous s'il n'existe pas. Comme avec tous les\r
+index, il existe quelques rares cas où l'index fait décroître les performances\r
+mais, en général, avoir un index de moins occasionne plus de dégradations au\r
niveau des performances que d'avoir un index de trop.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
</p>\r
<p>\r
pgAdmin III utilise certaines fonctions de support qui ne sont pas disponibles\r
-par défaut dans toutes les versions de PostgreSQL. Elles activent certaines\r
-tâches qui rendent la vie plsu facile lors du traitement des journaux de trace\r
+par défaut dans toutes les versions de PostgreSQL. Elles activent certaines\r
+tâches qui rendent la vie plsu facile lors du traitement des journaux de trace\r
et des fichiers de configuration.\r
</p>\r
<p>\r
-Lorsque vous avez installé PostgreSQL 8.0 ou supérieur en utilisant l'installeur\r
+Lorsque vous avez installé PostgreSQL 8.0 ou supérieur en utilisant l'installeur\r
Windows, vous avez besoin d'activer l'option admin.\r
</p>\r
<p>\r
-Lors de la compilation à partir des sources, les fichiers nécessaires sont\r
-disponibles dans le sous-répertoire xtra du répertoire des sources de pgAdmin.\r
-Pour PostgreSQL 8.0, copiez le répertoire admin sous le répertoire des sources\r
+Lors de la compilation à partir des sources, les fichiers nécessaires sont\r
+disponibles dans le sous-répertoire xtra du répertoire des sources de pgAdmin.\r
+Pour PostgreSQL 8.0, copiez le répertoire admin sous le répertoire des sources\r
des contributions PostgreSQL et lancez <quote>make</quote> puis <quote>make\r
-install</quote> à partir de là. Pour PostgreSQL 8.1, utilisez le répertoire\r
-admin81 pour cela. Après l'installation du module, vous aurez besoin de créer\r
-les fonctions outils dans votre base de données de maintenance en utilisant le\r
-script admin.sql (admin81.sql pour PostgreSQL 8.1), situé dans le répertoire share\r
+install</quote> à partir de là. Pour PostgreSQL 8.1, utilisez le répertoire\r
+admin81 pour cela. Après l'installation du module, vous aurez besoin de créer\r
+les fonctions outils dans votre base de données de maintenance en utilisant le\r
+script admin.sql (admin81.sql pour PostgreSQL 8.1), situé dans le répertoire share\r
de PostgreSQL (par exemple /usr/local/pgsql/share).\r
</p>\r
<p>\r
-Les outils serveur étendus ne sont pas supportés pour les versions 7.3 et 7.4 de\r
+Les outils serveur étendus ne sont pas supportés pour les versions 7.3 et 7.4 de\r
PostgreSQL.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
<body>\r
<p>\r
-pgAdmin III a découvert de nombreux problèmes sur l'objet en cours.\r
+pgAdmin III a découvert de nombreux problèmes sur l'objet en cours.\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Clés primaires</h3>\r
+<h3>Clés primaires</h3>\r
<p>\r
-Lors de la conception d'une table, vous devez toujours garder à l'esprit la façon\r
-dont la table sera utilisée plus tard. Dans la plupart des cas, vous aurez besoin\r
-d'un identifieur pour adresser de façon unique une ligne spécifique ; cet\r
-identifieur devra être créé en tant que clé primaire. Une clé primaire ne consiste\r
-pas nécessairement en une seule colonne ; elle peut contenir autant de\r
-colonnes que nécessaire pour identifier une ligne de façon unique. Si vous avez\r
-besoin de plusieurs colonnes (règle de base : plus de trois), une bonne\r
-idée serait d'inventer une colonne supplémentaire avec un type de données\r
-intéressant, c'est-à-dire serial ou bigserial, contenant la clé primaire.\r
+Lors de la conception d'une table, vous devez toujours garder à l'esprit la façon\r
+dont la table sera utilisée plus tard. Dans la plupart des cas, vous aurez besoin\r
+d'un identifieur pour adresser de façon unique une ligne spécifique ; cet\r
+identifieur devra être créé en tant que clé primaire. Une clé primaire ne consiste\r
+pas nécessairement en une seule colonne ; elle peut contenir autant de\r
+colonnes que nécessaire pour identifier une ligne de façon unique. Si vous avez\r
+besoin de plusieurs colonnes (règle de base : plus de trois), une bonne\r
+idée serait d'inventer une colonne supplémentaire avec un type de données\r
+intéressant, c'est-à-dire serial ou bigserial, contenant la clé primaire.\r
</p>\r
<p>\r
-Dans de rares cas, utiliser une clé primaire n'a pas de sens. Cela signifie\r
-qu'une clé primaire manquante est un bon indicateur d'une table conçue\r
-partiellement ; c'est pourquoi un conseil d'expert apparaîtra si vous créez\r
-une base sans clé primaire.\r
+Dans de rares cas, utiliser une clé primaire n'a pas de sens. Cela signifie\r
+qu'une clé primaire manquante est un bon indicateur d'une table conçue\r
+partiellement ; c'est pourquoi un conseil d'expert apparaîtra si vous créez\r
+une base sans clé primaire.\r
</p>\r
<p>\r
-Si vous regardez les tables système de PostgreSQL, vous n'en trouverez aucune\r
-avec une clé primaire. Pourquoi ?\r
+Si vous regardez les tables système de PostgreSQL, vous n'en trouverez aucune\r
+avec une clé primaire. Pourquoi ?\r
En fait, chacune de ces tables ont une ou deux colonnes (habituellement seulement\r
-l'OID) qui identifient de façon unique chaque ligne, obéissant à la seconde\r
-règle pour une clé primaire, n'autorisant pas zéro et étant couvert par un index\r
-pour un accès plus rapide. L'utilisation des OID a une raison historique et n'est\r
+l'OID) qui identifient de façon unique chaque ligne, obéissant à la seconde\r
+règle pour une clé primaire, n'autorisant pas zéro et étant couvert par un index\r
+pour un accès plus rapide. L'utilisation des OID a une raison historique et n'est\r
pas vraiment un bon choix pour la conception de tables utilisateur. PostgreSQL\r
-utilise toujours ceci pour des raisons de compatibilité ascendante et, bien\r
-qu'une nouvelle approche utiliserait probablement des clés primaires explicites,\r
-cela ne sera pas modifié.\r
+utilise toujours ceci pour des raisons de compatibilité ascendante et, bien\r
+qu'une nouvelle approche utiliserait probablement des clés primaires explicites,\r
+cela ne sera pas modifié.\r
</p>\r
<p>\r
-Comme le montre le cas des tables système, le but d'unicité et d'accès rapide peut\r
-être obtenu avec d'autres approches qu'une clé primaire. Malgré tout, pour la\r
-clareté du modèle de données, vous êtes fortement encouragé à utiliser des clés\r
+Comme le montre le cas des tables système, le but d'unicité et d'accès rapide peut\r
+être obtenu avec d'autres approches qu'une clé primaire. Malgré tout, pour la\r
+clareté du modèle de données, vous êtes fortement encouragé à utiliser des clés\r
primaires dans ce but.\r
</p>\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Exécuter VACUUM est recommandé</h3>\r
+<h3>Exécuter VACUUM est recommandé</h3>\r
<p>\r
-Le nombre de lignes estimés sur la table "<INFO>" dévie\r
-significativement du nombre de lignes réelles. Vous devez lancer VACUUM ANALYZE\r
+Le nombre de lignes estimés sur la table "<INFO>" dévie\r
+significativement du nombre de lignes réelles. Vous devez lancer VACUUM ANALYZE\r
sur cette table.\r
</p><p>\r
-Au lieu d'exécuter une commande VACUUM ANALYZE manuellement sur cette table\r
-(vous pouvez utiliser menu de maintenance de pgAdmin III pour cela), exécuter\r
-VACUUM ANALYZE sur une base régulière, voire automatisée, doit être réfléchi.\r
-Ceci se réalise en utilisant un outil de planification. PostgreSQL fournit aussi\r
-le démon pg_autovacuum, qui conservera la trace des modifications réalisée sur\r
-la base de données et lancera les commandes VACUUM automatiquement si nécessaire.\r
+Au lieu d'exécuter une commande VACUUM ANALYZE manuellement sur cette table\r
+(vous pouvez utiliser menu de maintenance de pgAdmin III pour cela), exécuter\r
+VACUUM ANALYZE sur une base régulière, voire automatisée, doit être réfléchi.\r
+Ceci se réalise en utilisant un outil de planification. PostgreSQL fournit aussi\r
+le démon pg_autovacuum, qui conservera la trace des modifications réalisée sur\r
+la base de données et lancera les commandes VACUUM automatiquement si nécessaire.\r
Dans la plupart des cas, pg_autovacuum sera le meilleur choix.\r
</p><p><br><br></p>\r
-<b>À quoi VACUUM est-il bon ?</b>\r
+<b>À quoi VACUUM est-il bon ?</b>\r
<p>\r
-Le planificateur de requêtes de PostgreSQL prend des décisions sur des\r
-suppositions, réalisées à partir du nombre de lignes estimées. Si le nombre de\r
-lignes réel est trop différent du nombre de lignes supposé, le planificateur\r
-pourrait prendre une mauvaise décision, résultant en un plan de requête qui n'est\r
-pas optimal. Ceci peut avoir comme conséquences des performances pauvres.\r
+Le planificateur de requêtes de PostgreSQL prend des décisions sur des\r
+suppositions, réalisées à partir du nombre de lignes estimées. Si le nombre de\r
+lignes réel est trop différent du nombre de lignes supposé, le planificateur\r
+pourrait prendre une mauvaise décision, résultant en un plan de requête qui n'est\r
+pas optimal. Ceci peut avoir comme conséquences des performances pauvres.\r
</p><p>\r
-Le stockage de PostgreSQL nécessite l'utilisation de VACUUM pour que les\r
-identifiants de transaction soient corrigés dans les tables. De plus, les lignes\r
-obsolètes ne sont pas nettoyées tant que la commande VACUUM n'a pas été exécutée\r
+Le stockage de PostgreSQL nécessite l'utilisation de VACUUM pour que les\r
+identifiants de transaction soient corrigés dans les tables. De plus, les lignes\r
+obsolètes ne sont pas nettoyées tant que la commande VACUUM n'a pas été exécutée\r
sur cette table. Des informations en profondeur sont disponibles dans la\r
documentation en ligne, appuyez simplement sur le bouton d'aide.\r
</p>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Conseil d'expert</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Modifier les données d'une table sans clé primaire</h3>\r
+<h3>Modifier les données d'une table sans clé primaire</h3>\r
<p>\r
-Comme la table <INFO> ne dispose pas de clé primaire ou d'OID, vous pouvez seulement\r
-visualiser les données. Insérer de nouvelles lignes et modifier les lignes\r
-existantes n'est pas possible pour l'outil <quote>Modification des données</quote>\r
-sans clé primaire.\r
+Comme la table <INFO> ne dispose pas de clé primaire ou d'OID, vous pouvez seulement\r
+visualiser les données. Insérer de nouvelles lignes et modifier les lignes\r
+existantes n'est pas possible pour l'outil <quote>Modification des données</quote>\r
+sans clé primaire.\r
</p>\r
<p>\r
-Pour modifier les données, pgAdmin III a besoin d'une clé primaire sur la table,\r
-ce qui est une bonne pratique lors de la conception d'une base de données.\r
-Sinon, la table peut être créée avec l'option WITH OIDS. Notez que les OID n'ont\r
-<B>aucune</B> garanties d'être uniques sur une très longue période de temps, donc\r
-utiliser des OID comme clé primaire est seulement un choix secondaire.\r
+Pour modifier les données, pgAdmin III a besoin d'une clé primaire sur la table,\r
+ce qui est une bonne pratique lors de la conception d'une base de données.\r
+Sinon, la table peut être créée avec l'option WITH OIDS. Notez que les OID n'ont\r
+<B>aucune</B> garanties d'être uniques sur une très longue période de temps, donc\r
+utiliser des OID comme clé primaire est seulement un choix secondaire.\r
</p>\r
</body>\r
</html>\r
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Guru Hints</title>
</head>
<body>
-<h3>ÍÆ¼öÔËÐÐpg_autovacuum</h3>
+<h3>推荐运行pg_autovacuum</h3>
<p>
-pg_autovacuum ÒÔ Ç° ÊÇ Ò» ¸ö Íâ ²¿ ·þ Îñ ½ø ³Ì£¬ PostgreSQL 8.1 ¿ª ʼ ÒÑ ¾ ±» Õû ºÏ ½ø Êý ¾Ý ¿â ºó ̨£¬
-Ëü ½« ÔÚ ±» ÐÞ ¸Ä µÄ Êý ¾Ý ×Ü Êý ´ï µ½ Ö¸ ¶¨ Öµ ÒÔ ºó ×Ô ¶¯ ÔË ÐÐ VACUUM¡£
+pg_autovacuum 以 前 是 一 个 外 部 服 务 进 程, PostgreSQL 8.1 开 始 已 经 被 整 合 进 数 据 库 后 台,
+它 将 在 被 修 改 的 数 据 总 数 达 到 指 定 值 以 后 自 动 运 行 VACUUM。
</p>
<p>
-ÔÚ PostgreSQL ·þ Îñ Æ÷ ÉÏ ÔË ÐÐ VACUUM ±£ ³Ö Êý ¾Ý Íê Õû ºÍ ·þ Îñ Æ÷ Ч ÂÊ ÊÇ Ç¿ ÖÆ Òª Çó£¬
-ÍÆ ¼ö ͨ ¹ý ÔÚ postgresql.conf ÎÄ ¼þ ÖÐ Éè Öà 'autovacuum'¡¢'stats_start_collector' ºÍ 'stats_row_level' ²Î Êý Ϊ 'on' À´ ¿ª Æô pg_autovacuum ÊØ »¤ ³Ì Ðò¡£
-×· ×Ù Êý ¾Ý ±ä »¯ ʱ ¶Ô ÐÔ ÄÜ »á ÓÐ Çá ΢ µÄ Ó° Ï죬 µ« ÊÇ ×Ü Ìå À´ ½²£¬ Äã ½« ´Ó ×Ô ¶¯ ÔË ÐÐ VACUUM ÖÐ »ñ µÃ ¸ü ¶à Òæ ´¦¡£
+在 PostgreSQL 服 务 器 上 运 行 VACUUM 保 持 数 据 完 整 和 服 务 器 效 率 是 强 制 要 求,
+推 荐 通 过 在 postgresql.conf 文 件 中 设 置 'autovacuum'、'stats_start_collector' 和 'stats_row_level' 参 数 为 'on' 来 开 启 pg_autovacuum 守 护 程 序。
+追 踪 数 据 变 化 时 对 性 能 会 有 轻 微 的 影 响, 但 是 总 体 来 讲, 你 将 从 自 动 运 行 VACUUM 中 获 得 更 多 益 处。
</p>
<p>
-Ϊ ÌØ Êâ Ðè Çó µ÷ Õû pg_autovacuum µÄ Ö´ ÐУ¬ ¿É ÒÔ ÐÞ ¸Ä postgresql.conf µÄ È« ¾Ö ²Î Êý »ò Õß Ä³ ¸ö Êý ¾Ý ±í µÄ ¸ö ±ð Éè Ö㬠Çë ²Î ÔÄ ÎÄ µµ¡£
+为 特 殊 需 求 调 整 pg_autovacuum 的 执 行, 可 以 修 改 postgresql.conf 的 全 局 参 数 或 者 某 个 数 据 表 的 个 别 设 置, 请 参 阅 文 档。
</p>
</body>
</html>
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>·ÃÎÊÊý¾Ý¿â±»¾Ü¾ø</h3>\r
+<h3>访问数据库被拒绝</h3>\r
<p>\r
-·þ Îñ Æ÷ ²» ÔÊ Ðí ·Ã ÎÊ Êý ¾Ý ¿â£º ·þ Îñ Æ÷ ±¨ ¸æ\r
+服 务 器 不 允 许 访 问 数 据 库: 服 务 器 报 告\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-·Ã ÎÊ PostgreSQL Êý ¾Ý ¿â£¬ Ê× ÏÈ ±Ø Ðë ÔÊ Ðí ¿Í »§ ¶Ë ÄÜ ¹» Á¬ ½Ó Ö÷ »ú £¨»ù ÓÚ Ö÷ »ú µÄ ÈÏ Ö¤£©£¬\r
-È» ºó ÔÚ Ëù ÓÐ SQL ·Ã ÎÊ È¨ ÏÞ ±» Ñé Ö¤ Ö® ǰ£¬ PostgreSQL ½« ¼ì ²é pg_hba.conf ÎÄ ¼þ ²é ¿´ ÊÇ ·ñ ÓÐ Óë ¿Í »§ ¶Ë µÄ µØÖ· / Óû§Ãû / Êý¾Ý¿â Ïà ·û ºÏ µÄ ·½ °¸ ´æ ÔÚ ²¢ ÇÒ ÊÇ ÔÊ Ðí ·Ã ÎÊ µÄ¡£\r
+访 问 PostgreSQL 数 据 库, 首 先 必 须 允 许 客 户 端 能 够 连 接 主 机 (基 于 主 机 的 认 证),\r
+然 后 在 所 有 SQL 访 问 权 限 被 验 证 之 前, PostgreSQL 将 检 查 pg_hba.conf 文 件 查 看 是 否 有 与 客 户 端 的 地址 / 用户名 / 数据库 相 符 合 的 方 案 存 在 并 且 是 允 许 访 问 的。\r
</p>\r
<p>\r
-ΪÁ˱ÜÃâÓÉϵͳÒýÆðµÄ²»±ØÒªµÄ°²È«Â©¶´£¬pg_hba.confÖеijõʼÉèÖÃÊ®·ÖÑϸñ£¬¿ÉÒÔÏñÏÂÃæÕâÑùÔö¼ÓÉèÖãº\r
+为了避免由系统引起的不必要的安全漏洞,pg_hba.conf中的初始设置十分严格,可以像下面这样增加设置:\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Õâ ¸ö Àý ×Ó ÔÊ Ðí ˽ ÓÐ Íø Âç 192.168.0.0/24 ʹ Óà MD5 ¼Ó ÃÜ µÄ ÃÜ Âë Á¬ ½Ó µ½ Ëù ÓÐ Óà »§ ºÍ Ëù ÓÐ Êý ¾Ý ¿â¡£\r
+这 个 例 子 允 许 私 有 网 络 192.168.0.0/24 使 用 MD5 加 密 的 密 码 连 接 到 所 有 用 户 和 所 有 数 据 库。\r
</p>\r
<p>\r
-Àû Óà Õû ºÏ ½ø pgAdmin III µÄ pg_hba.conf ±à ¼ Æ÷ ¿É ÒÔ ÐÞ ¸Ä pg_hba.conf Åä Öà ÎÄ ¼þ£¬\r
-ÐÞ ¸Ä Íê ±Ï ÒÔ ºó£¬ Ðè Òª ʹ Óà pg_ctl ͨ Öª Êý ¾Ý ¿â ÖØ Р¶Á Èë Åä Öà »ò Õß ÖØ РÆô ¶¯ Êý ¾Ý ¿â¡£\r
+利 用 整 合 进 pgAdmin III 的 pg_hba.conf 编 辑 器 可 以 修 改 pg_hba.conf 配 置 文 件,\r
+修 改 完 毕 以 后, 需 要 使 用 pg_ctl 通 知 数 据 库 重 新 读 入 配 置 或 者 重 新 启 动 数 据 库。\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>IdentÈÏ֤ʧ°Ü</h3>\r
+<h3>Ident认证失败</h3>\r
<p>\r
-·þ Îñ Æ÷ ÎÞ ·¨ ½Ó ÊÜ µ± ǰ µÄ Óà »§£º ·þ Îñ Æ÷ ±¨ ¸æ\r
+服 务 器 无 法 接 受 当 前 的 用 户: 服 务 器 报 告\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Èç ¹û ³ö ÏÖ Õâ ¸ö Ïû Ï¢£¬ ˵ Ã÷ Äã µÄ ¿Í»§¶Ë / Óû§ / Êý¾Ý¿â ×é ºÏ ÔÚ pg_hba.conf ÖÐ ±» Éè Öà Ϊ "ident" ÈÏ Ö¤¡£\r
-ÔÚ Ò» Щ ·¢ ²¼ µ± ÖУ¬ ±È Èç Debian£¬ Õâ ÊÇ È± Ê¡ Éè Öá£ Ϊ ÁË ÄÜ ¹» ³É ¹¦ Ö´ ÐÐ »ù ÓÚ ident µÄ ÈÏ Ö¤£¬ Ðè Òª ½ø ÐÐ ¶î Íâ µÄ Éè Öà £¬ Çë ²é ¿´PostgreSQL °ï Öú¡£\r
-¶Ô ³õ ѧ Õß À´ ˵£¬ ʹ Óà Æä Ëü µÄ ÈÏ Ö¤ ·½ ʽ ¿É ÄÜ ¸ü ºÏ ÊÊ£¬ Óà MD5 ¼Ó ÃÜ ÃÜ Âë ÊÇ ¸ö ºÃ Ö÷ Ò⣬ ¿É ÒÔ ÔÚ pg_hba.conf Õâ Ñù Åä Öãº\r
+如 果 出 现 这 个 消 息, 说 明 你 的 客户端 / 用户 / 数据库 组 合 在 pg_hba.conf 中 被 设 置 为 "ident" 认 证。\r
+在 一 些 发 布 当 中, 比 如 Debian, 这 是 缺 省 设 置。 为 了 能 够 成 功 执 行 基 于 ident 的 认 证, 需 要 进 行 额 外 的 设 置 , 请 查 看PostgreSQL 帮 助。\r
+对 初 学 者 来 说, 使 用 其 它 的 认 证 方 式 可 能 更 合 适, 用 MD5 加 密 密 码 是 个 好 主 意, 可 以 在 pg_hba.conf 这 样 配 置:\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-Õâ ¸ö Àý ×Ó ÔÊ Ðí ˽ ÓÐ Íø Âç 192.168.0.0/24 ʹ Óà MD5 ¼Ó ÃÜ µÄ ÃÜ Âë Á¬ ½Ó µ½ Ëù ÓÐ Óà »§ ºÍ Ëù ÓÐ Êý ¾Ý ¿â¡£\r
+这 个 例 子 允 许 私 有 网 络 192.168.0.0/24 使 用 MD5 加 密 的 密 码 连 接 到 所 有 用 户 和 所 有 数 据 库。\r
</p>\r
<p>\r
-Àû Óà Õû ºÏ ½ø pgAdmin III µÄ pg_hba.conf ±à ¼ Æ÷ ¿É ÒÔ ÐÞ ¸Ä pg_hba.conf Åä Öà ÎÄ ¼þ£¬\r
-ÐÞ ¸Ä Íê ±Ï ÒÔ ºó£¬ Ðè Òª ʹ Óà pg_ctl ͨ Öª Êý ¾Ý ¿â ÖØ Р¶Á Èë Åä Öà »ò Õß ÖØ РÆô ¶¯ Êý ¾Ý ¿â¡£\r
+利 用 整 合 进 pgAdmin III 的 pg_hba.conf 编 辑 器 可 以 修 改 pg_hba.conf 配 置 文 件,\r
+修 改 完 毕 以 后, 需 要 使 用 pg_ctl 通 知 数 据 库 重 新 读 入 配 置 或 者 重 新 启 动 数 据 库。\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>·þÎñÆ÷ûÓнøÐмàÌý</h3>\r
+<h3>服务器没有进行监听</h3>\r
<p>\r
-·þ Îñ Æ÷ ÎÞ ·¨ ½Ó ÊÜ Á¬ ½Ó£º ÓÉ Á¬ ½Ó ¿â ±¨ ¸æ\r
+服 务 器 无 法 接 受 连 接: 由 连 接 库 报 告\r
</p>\r
<p>\r
<b><tt class="command"><INFO></tt></b>\r
</p>\r
<p>\r
-Èç ¹û ¿´ µ½ Õâ ¸ö Ïû Ï¢£¬ Çë ¼ì ²é Õý ÔÚ ÊÔ Í¼ Á¬ ½Ó µÄ ·þ Îñ Æ÷ ÊÇ ·ñ ÔÚ Ö¸ ¶¨ ¶Ë ¿Ú Ï ÔË ÐÐ PostgreSQL£¬\r
-ʹ Óà ping »ò Õß Ïà ËÆ ¹¤ ¾ß ¼ì ²é ¿Í »§ ¶Ë µ½ ·þ Îñ Æ÷ Ö÷ »ú Ö® ¼ä ÊÇ ·ñ ´æ ÔÚ Íø Âç Á¬ ½Ó£¬\r
-Äã µÄ ÍøÂç / VPN / SSHͨµÀ / ·À»ðǽ ÊÇ ·ñ Õý È· Éè Öá£\r
+如 果 看 到 这 个 消 息, 请 检 查 正 在 试 图 连 接 的 服 务 器 是 否 在 指 定 端 口 下 运 行 PostgreSQL,\r
+使 用 ping 或 者 相 似 工 具 检 查 客 户 端 到 服 务 器 主 机 之 间 是 否 存 在 网 络 连 接,\r
+你 的 网络 / VPN / SSH通道 / 防火墙 是 否 正 确 设 置。\r
</p>\r
<p>\r
-³ö ÓÚ °² È« Ô Òò£¬ PostgreSQL ×î ³õ <B>²»»á</B> ¼à Ìý ·þ Îñ Æ÷ µÄ Ëù ÓÐ ÓРЧ IP µØ Ö·£¬\r
-Ϊ ÁË ÄÜ ¹» ͨ ¹ý Íø Âç Á¬ ½Ó Êý ¾Ý ¿â£¬ Ê× ÏÈ Ðè Òª Éè Öà Ëü ÄÜ ¹» ¼à Ìý Ïà Ó¦ µØ Ö·¡£\r
+出 于 安 全 原 因, PostgreSQL 最 初 <B>不会</B> 监 听 服 务 器 的 所 有 有 效 IP 地 址,\r
+为 了 能 够 通 过 网 络 连 接 数 据 库, 首 先 需 要 设 置 它 能 够 监 听 相 应 地 址。\r
</p>\r
<p>\r
-´Ó PostgreSQL 8.0 ¿ª ʼ£¬ ¿É ÒÔ ÔÚ postgresql.conf ÎÄ ¼þ ÖÐ Óà "listen_addresses" ²Î Êý ¿Ø ÖÆ ¼à Ìý¡£\r
-¿É ÒÔ ÔÚ Õâ Àï Êä Èë Ò» ¸ö Ó¦ ¸Ã ±» ¼à Ìý µÄ IP µØ Ö· ÁÐ ±í£¬ »ò Õß Óà '*' ±í ʾ ¼à Ìý Ëù ÓÐ ÓРЧ µØ Ö·¡£\r
-¶Ô ÓÚ ±È ½Ï Ôç µÄ °æ ±¾ £¨7.3 »ò Õß 7.4£©£¬ Ðè Òª ½« "tcpip_socket" ²Î Êý Éè Öà Ϊ 'true'¡£\r
+从 PostgreSQL 8.0 开 始, 可 以 在 postgresql.conf 文 件 中 用 "listen_addresses" 参 数 控 制 监 听。\r
+可 以 在 这 里 输 入 一 个 应 该 被 监 听 的 IP 地 址 列 表, 或 者 用 '*' 表 示 监 听 所 有 有 效 地 址。\r
+对 于 比 较 早 的 版 本 (7.3 或 者 7.4), 需 要 将 "tcpip_socket" 参 数 设 置 为 'true'。\r
</p>\r
<p>\r
-¿É ÒÔ Ê¹ Óà ÔÚ pgAdmin III ÖÐ Õû ºÏ µÄ postgresql.conf ±à ¼ Æ÷ À´ ±à ¼ postgresql.conf Åä Öà ÎÄ ¼þ£¬\r
-ÐÞ ¸Ä Õâ ¸ö ÎÄ ¼þ Ö® ºó£¬ Ðè Òª ÖØ РÆô ¶¯ Êý ¾Ý ¿â ½ø ³Ì ʹ Éè Öà ÓРЧ¡£\r
+可 以 使 用 在 pgAdmin III 中 整 合 的 postgresql.conf 编 辑 器 来 编 辑 postgresql.conf 配 置 文 件,\r
+修 改 这 个 文 件 之 后, 需 要 重 新 启 动 数 据 库 进 程 使 设 置 有 效。\r
</p>\r
<p>\r
-Èç ¹û ¶à ´Î ¼ì ²é Åä Öà ֮ ºó ÈÔ È» µÃ µ½ Õâ ¸ö ´í Îó ЊϢ£¬ ¿É ÄÜ ÊÇ Óö µ½ ÁË Ò» ¸ö Ö Ãü µÄ PostgreSQL ´í Îó£¬\r
-»ò Õß ¿É ÄÜ ÊÇ µÍ ²ã Íø Âç Á¬ ½Ó ÎÊ Ìâ £¨±È Èç ·À »ð ǽ µÄ Éè Öã©£¬ ÔÚ Ïò PostgreSQL ÍÅ Ìå Ìá ½» bug ±¨ ¸æ Ö® ǰ Çë ×Рϸ ¼ì ²é¡£\r
+如 果 多 次 检 查 配 置 之 后 仍 然 得 到 这 个 错 误 信 息, 可 能 是 遇 到 了 一 个 致 命 的 PostgreSQL 错 误,\r
+或 者 可 能 是 低 层 网 络 连 接 问 题 (比 如 防 火 墙 的 设 置), 在 向 PostgreSQL 团 体 提 交 bug 报 告 之 前 请 仔 细 检 查。\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=gb2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Êý¾Ý¿â±àÂë</h3>\r
-<p>Êý ¾Ý ¿â ʹ Óà SQL_ASCII ±à Âë ´¢ ´æ Êý ¾Ý£¬ Õâ ¸ö ±à Âë ±» ¶¨ Òå Ϊ ½ö ÓÐ 7¸ö λ µÄ ×Ö ·û£¬\r
-Òâ ζ ׊ʹ Óà µÚ 8¸ö λ µÄ ×Ö ·û £¨·Ç ASCII ×Ö ·û 127-255£© ÎÞ ·¨ ¶¨ Òå¡£\r
-Òò ´Ë£¬ °Ñ ·þ Îñ Æ÷ Êý ¾Ý ת »» Ϊ Æä Ëû ±à Âë ÊÇ ²» ¿É ÄÜ µÄ¡£</p>\r
-<p>Èç ¹û Ïë ÔÚ Êý ¾Ý ¿â ÖÐ ´¢ ´æ ·Ç ASCII Êý ¾Ý£¬ Ñ¡ Óà һ ¸ö Ç¿ ´ó µÄ Êý ¾Ý ¿â ±à Âë À´ ±í ʾ ±¾ µØ »¯ ×Ö ·û ¼¯£¬\r
-Ëü Ó¦ ¸Ã ÄÜ ¹» Ö§ ³Ö ×Ô ¶¯ ת »» Éõ ÖÁ µ± Ðè Òª µÄ ʱ ºò ¿É ÒÔ Ê¹ Óà ²» ͬ ¿Í »§ ¶Ë ±à Âë¡£\r
-ÔÚ SQL_ASCII Êý ¾Ý ¿â ÖÐ ´¢ ´æ ·Ç ASCII Êý ¾Ý£¬ ¿É ÄÜ »á Òò Ϊ ±à Âë ת »» ÎÊ Ìâ ¶ø Óö µ½ ´Ó Êý ¾Ý ¿â ÖÐ ¶Á д Êý ¾Ý ʱ ³ö ÏÖ Ææ ¹Ö ×Ö ·û µÄ ÎÊ Ìâ¡£\r
-µ± ʹ Óà ²» ͬ ¿Í »§ ¶Ë ºÍ Çý ¶¯ ³Ì Ðò ·Ã ÎÊ Êý ¾Ý ¿â ʱ£¬ Õâ ½« Áî ÈË ·Ç ³£ Í· ÌÛ¡£</p>\r
+<h3>数据库编码</h3>\r
+<p>数 据 库 使 用 SQL_ASCII 编 码 储 存 数 据, 这 个 编 码 被 定 义 为 仅 有 7个 位 的 字 符,\r
+意 味 着 使 用 第 8个 位 的 字 符 (非 ASCII 字 符 127-255) 无 法 定 义。\r
+因 此, 把 服 务 器 数 据 转 换 为 其 他 编 码 是 不 可 能 的。</p>\r
+<p>如 果 想 在 数 据 库 中 储 存 非 ASCII 数 据, 选 用 一 个 强 大 的 数 据 库 编 码 来 表 示 本 地 化 字 符 集,\r
+它 应 该 能 够 支 持 自 动 转 换 甚 至 当 需 要 的 时 候 可 以 使 用 不 同 客 户 端 编 码。\r
+在 SQL_ASCII 数 据 库 中 储 存 非 ASCII 数 据, 可 能 会 因 为 编 码 转 换 问 题 而 遇 到 从 数 据 库 中 读 写 数 据 时 出 现 奇 怪 字 符 的 问 题。\r
+当 使 用 不 同 客 户 端 和 驱 动 程 序 访 问 数 据 库 时, 这 将 令 人 非 常 头 疼。</p>\r
<p>\r
-¶Ô ´ó ¶à Êý °² ×° ¶ø ÑÔ£¬ Unicode £¨UTF8£© ±à Âë Ìá ¹© ÁË ×î Áé »î µÄ ¼æ ÈÝ ÄÜ Á¦¡£</p>\r
+对 大 多 数 安 装 而 言, Unicode (UTF8) 编 码 提 供 了 最 灵 活 的 兼 容 能 力。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=gb2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Win32·þÎñÆ÷Ö®ÉϵÄUnicode±àÂë</h3>\r
+<h3>Win32服务器之上的Unicode编码</h3>\r
<p>\r
-Êý ¾Ý ¿â ʹ Óà Unicode£¨UTF8£© ±à Âë À´ ±£ ´æ ºÍ ²Ù ×÷ ÔË ÐÐ ÓÚ Win32 ·þ Îñ Æ÷ Ö® ÉÏ µÄ PostgreSQL 8.0 ·þ Îñ Æ÷ Êý ¾Ý¡£</p>\r
+数 据 库 使 用 Unicode(UTF8) 编 码 来 保 存 和 操 作 运 行 于 Win32 服 务 器 之 上 的 PostgreSQL 8.0 服 务 器 数 据。</p>\r
<p>\r
-Òò Ϊ ²Ù ×÷ ϵ ͳ û ÓÐ Ìá ¹© ×ã ¹» µÄ Ö§ ³Ö£¬Win32 Ö® Ï µÄ PostgreSQL 8.0 ÎÞ ·¨ ÒÀ ¾Ý ÊÊ µ± µÄ ´Î Ðò ¶Ô ×Ö ·û ´® ½ø ÐÐ ÅÅ Ðò¡£</p>\r
+因 为 操 作 系 统 没 有 提 供 足 够 的 支 持,Win32 之 下 的 PostgreSQL 8.0 无 法 依 据 适 当 的 次 序 对 字 符 串 进 行 排 序。</p>\r
<p>\r
-Õë ¶Ô µ± ǰ °² ×°£¬ ÍÆ ¼ö ʹ Óà ±¾ µØ »¯ ±à Âë¡¢ ÔÚ ²» ͬ ²Ù ×÷ ϵ ͳ Ö® ÉÏ ÔË ÐÐ »ò Õß ½« Êý ¾Ý ¿â Éý ¼¶ µ½ ÓРר ÃÅ ´ú Âë ¿É ÒÔ Ö§ ³Ö Unicode ÅÅ Ðò µÄ PostgreSQL 8.1¡£</p>\r
+针 对 当 前 安 装, 推 荐 使 用 本 地 化 编 码、 在 不 同 操 作 系 统 之 上 运 行 或 者 将 数 据 库 升 级 到 有 专 门 代 码 可 以 支 持 Unicode 排 序 的 PostgreSQL 8.1。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
-<h3>Íâ¼üÒÔ¼°ËüµÄË÷Òý</h3>\r
+<h3>外键以及它的索引</h3>\r
<p>\r
-Íâ ¼ü ±» Óà À´ ʹ Óà Âß ¼ ·½ ʽ ¹Ø Áª Á½ ¸ö Êý ¾Ý ±í£¬ Ê© ¼Ó ¸ø Ëü ÃÇ ÏÞ ÖÆ Êý ¾Ý ±ä »¯¡£\r
+外 键 被 用 来 使 用 逻 辑 方 式 关 联 两 个 数 据 表, 施 加 给 它 们 限 制 数 据 变 化。\r
</p>\r
<p>\r
-Õâ Ò» ÇÐ ¿ª ʼ ÓÚ Ö÷ Êý ¾Ý ±í£¬ Ëü ×÷ Ϊ ±» ²Î ¿¼ ±í£¬ Ðè Òª ÓÐ Ò» ¸ö Ö÷ ¼ü £¨µ± È»£¬ ʵ ¼Ê ÉÏ ±» ²Î ¿¼ ÁÐ Ö» Òª ·Ç ¿Õ ²¢ ÇÒ ÓРΨ Ò» Ë÷ Òý Ò² ÊÇ ¿É ÒÔ µÄ£¬ µ« ÊÇ Ê¹ Óà Ö÷ ¼ü ÈÔ È» ÊÇ ½Ï ºÃ µÄ ·½ ʽ£©¡£\r
-´Ó ±í ÒÀ Àµ ÓÚ Ö÷ ±í£¬ ¸ü РºÍ ²å Èë ʱ Óµ ÓÐ Íâ ¼ü µÄ ×Ö ¶Î Êý ¾Ý ±Ø Ðë ·û ºÏ Ö÷ ±í µÄ Êý ¾Ý£¬ ´Ó ±í ÊÇ Íâ ¼ü µÄ ²Î ¿¼ ±í¡£\r
+这 一 切 开 始 于 主 数 据 表, 它 作 为 被 参 考 表, 需 要 有 一 个 主 键 (当 然, 实 际 上 被 参 考 列 只 要 非 空 并 且 有 唯 一 索 引 也 是 可 以 的, 但 是 使 用 主 键 仍 然 是 较 好 的 方 式)。\r
+从 表 依 赖 于 主 表, 更 新 和 插 入 时 拥 有 外 键 的 字 段 数 据 必 须 符 合 主 表 的 数 据, 从 表 是 外 键 的 参 考 表。\r
</p>\r
<p>\r
-Íâ ¼ü ²» ½ö ÏÞ ÖÆ ²Î ¿¼ ±í£¬ Ò² ÏÞ ÖÆ ±» ²Î ¿¼ ±í£¬ ÏÞ ÖÆ ·½ ʽ ¿É ÒÔ ÊÇ RESTRICT¡¢ CASCADE »ò SET NULL¡£\r
-Õâ Òâ ζ ×Å£¬ µ± ±» ²Î ¿¼ ±í Êý ¾Ý ·¢ Éú ±ä »¯ £¨¸ü Р»ò ɾ ³ý£© ʱ£¬ Ëù ÓÐ µÄ ²Î ¿¼ ±í ¶¼ »á ¼ì ²é Êý ¾Ý ÊÇ ·ñ ºÏ Àí£¬ ÒÔ ¼° ÊÇ ·ñ Ðè Òª Æä Ëû ¸½ ¼Ó ²Ù ×÷¡£\r
-²é ÔÄ PostgreSQL ¹Ø ÓÚ Íâ ¼ü µÄ ÎÄ µµ ¿É ÒÔ ÕÒ µ½ ¸ü ¶à ϸ ½Ú¡£\r
+外 键 不 仅 限 制 参 考 表, 也 限 制 被 参 考 表, 限 制 方 式 可 以 是 RESTRICT、 CASCADE 或 SET NULL。\r
+这 意 味 着, 当 被 参 考 表 数 据 发 生 变 化 (更 新 或 删 除) 时, 所 有 的 参 考 表 都 会 检 查 数 据 是 否 合 理, 以 及 是 否 需 要 其 他 附 加 操 作。\r
+查 阅 PostgreSQL 关 于 外 键 的 文 档 可 以 找 到 更 多 细 节。\r
</p>\r
<p>\r
-±» ²Î ¿¼ ±í µÄ ÌØ ¶¨ ÐÐ Êý ¾Ý ·¢ Éú ±ä »¯ ʱ£¬ Ëù ÓÐ Ïà ¹Ø µÄ ²Î ¿¼ ±í ¶¼ »á ʹ Óà Íâ ¼ü ×Ö ¶Î ×÷ Ϊ Ìõ ¼þ Ö´ ÐÐ Ïà Ó¦ µÄ ¶Á ²Ù ×÷¡£\r
-Òò ´Ë£¬ ËùÓÐ Ìá ¸ß ¶Á È¡ Ч ÂÊ µÄ Éè ¼Æ Ô Ôò Ò² ÊÊ Óà ÓÚ ²Î ¿¼ ±í ×Ö ¶Î¡£ Ϊ ÁË ÓÐ Á¼ ºÃ µÄ Ö´ ÐРЧ ÂÊ£¬ ´ó ¶à Êý Çé ¿ö Ï ½¨ Á¢ Ë÷ Òý ÊÇ Ã÷ ÖÇ µÄ Ñ¡ Ôñ¡£\r
-PostgreSQL ²¢ û ÓÐ Ç¿ ÆÈ Õâ Ñù ×ö£¬ Ðè Òª Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± À´ Ìá ¹© ºÏ Àí µÄ Ë÷ Òý¡£\r
+被 参 考 表 的 特 定 行 数 据 发 生 变 化 时, 所 有 相 关 的 参 考 表 都 会 使 用 外 键 字 段 作 为 条 件 执 行 相 应 的 读 操 作。\r
+因 此, 所有 提 高 读 取 效 率 的 设 计 原 则 也 适 用 于 参 考 表 字 段。 为 了 有 良 好 的 执 行 效 率, 大 多 数 情 况 下 建 立 索 引 是 明 智 的 选 择。\r
+PostgreSQL 并 没 有 强 迫 这 样 做, 需 要 数 据 库 设 计 人 员 来 提 供 合 理 的 索 引。\r
</p>\r
<p>\r
-Ϊ ÁË ·½ ±ã£¬ pgAdmin III ÔÚ ´´ ½¨ Íâ ¼ü ʱ Ìá ¹© Ò» ¸ö ¼ò ±ã µÄ checkbox£¬ ×Ô ¶¯ ¼ì ²é ÊÇ ·ñ ÓÐ ºÏ Àí µÄ Ë÷ Òý ´æ ÔÚ£¬ Èç ¹û û ÓÐ Ôò ½¨ Á¢ Ò» ¸ö¡£\r
-Èç ͬ Ëù ÓÐ Æä Ëü Ë÷ Òý Ò» Ñù£¬ ÓÐ ¼« ÉÙ Êý µÄ Çé ¿ö ·´ ¶ø ½µ µÍ ×Ü Ìå Ö´ ÐРЧ ÂÊ£¬ ×Ü µÃ À´ ˵£¬ Ë÷ Òý Ì« ÉÙ ±È Ë÷ Òý Ì« ¶à ¶Ô ÐÔ ÄÜ µÄ Ó° Ïì ¸ü ´ó¡£\r
+为 了 方 便, pgAdmin III 在 创 建 外 键 时 提 供 一 个 简 便 的 checkbox, 自 动 检 查 是 否 有 合 理 的 索 引 存 在, 如 果 没 有 则 建 立 一 个。\r
+如 同 所 有 其 它 索 引 一 样, 有 极 少 数 的 情 况 反 而 降 低 总 体 执 行 效 率, 总 得 来 说, 索 引 太 少 比 索 引 太 多 对 性 能 的 影 响 更 大。\r
</p>\r
</body>\r
\r
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Guru Hints</title>
</head>
<body>
-<h3>·þÎñÆ÷Ö¸Áî</h3>
+<h3>服务器指令</h3>
<p>
-·þ Îñ Æ÷ ȱ ·¦ Ö¸ Áî º¯ Êý¡£
+服 务 器 缺 乏 指 令 函 数。
</p>
<p>
-pgAdmin III ʹ Óà µÄ Ò» Щ Ö§ ³Ö º¯ Êý ²» ÊÇ ÔÚ Ëù ÓÐ PostgreSQL °æ ±¾ ÉÏ È± Ê¡ ÓРЧ£¬
-Õâ Щ º¯ Êý ʹ Ò» Щ Öî Èç ´¦ Àí ÈÕ Ö¾ ÎÄ ¼þ ºÍ Åä Öà ÎÄ ¼þ µÄ ¹¤ ×÷ ±ä µÃ ¸ü ¼Ó ¼ò µ¥¡£
+pgAdmin III 使 用 的 一 些 支 持 函 数 不 是 在 所 有 PostgreSQL 版 本 上 缺 省 有 效,
+这 些 函 数 使 一 些 诸 如 处 理 日 志 文 件 和 配 置 文 件 的 工 作 变 得 更 加 简 单。
</p>
<p>
-µ± ʹ Óà Windows °² ×° ³Ì Ðò °² ×° PostgreSQL 8.0 »ò Õß ¸ü ¸ß °æ ±¾ ʱ£¬ ½ö ½ö Ðè Òª Ñ¡ ÖÐ ¡°admin¡± »ò Õß ¡°dminpack¡± Ä£ ¿é¡£
+当 使 用 Windows 安 装 程 序 安 装 PostgreSQL 8.0 或 者 更 高 版 本 时, 仅 仅 需 要 选 中 “admin” 或 者 “dminpack” 模 块。
</p>
<p>
-µ± ´Ó Ô´ ´ú Âë ÖÐ ±à Òë ʱ£¬ ±Ø Òª µÄ ÎÄ ¼þ ¿É ÒÔ ÔÚ Ô´ ´ú Âë Ê÷ µÄ xtra ×Ó Ä¿ ¼ ÖÐ ÕÒ µ½¡£
-¶Ô ÓÚ PostgreSQL 8.0£¬ ½« admin Ä¿ ¼ ¿½ ±´ µ½ postgresql Ô´ ´ú Âë µÄ contrib Ä¿ ¼ ÖУ¬ ´Ó Õâ Àï ±à Òë ºÍ °² ×° Ëü¡£
-¶Ô ÓÚ PostgreSQL 8.1£¬ ʹ Óà admin81 Ä¿ ¼¡£
+当 从 源 代 码 中 编 译 时, 必 要 的 文 件 可 以 在 源 代 码 树 的 xtra 子 目 录 中 找 到。
+对 于 PostgreSQL 8.0, 将 admin 目 录 拷 贝 到 postgresql 源 代 码 的 contrib 目 录 中, 从 这 里 编 译 和 安 装 它。
+对 于 PostgreSQL 8.1, 使 用 admin81 目 录。
<p>
-PostgreSQL 8.2 ÒÔ ¼° ¸ü ¸ß °æ ±¾ ÔÚ ¡°adminpack¡± Ä£ ¿é ÖÐ °ü º¬ Ö¸ Áî º¯ Êý¡£
+PostgreSQL 8.2 以 及 更 高 版 本 在 “adminpack” 模 块 中 包 含 指 令 函 数。
</p>
<p>
-ÔÚ Ä£ ¿é °² ×° Ö® ºó£¬ ±Ø Ðë ʹ Óà admin.sql ½Å ±¾ £¨¶Ô ÓÚ PostgreSQL 8.1 ÊÇ admin81.sql£© ÔÚ Ëù Òª ά »¤ µÄ Êý ¾Ý ¿â ÖÐ ´´ ½¨ Ö¸ Áî º¯ Êý£¬
-Õâ Щ ½Å ±¾ ÎÄ ¼þ ͨ ³£ ¿É ÒÔ ÔÚ pgsql µÄ ¹² Ïí Ä¿ ¼ £¨Àý Èç /usr/local/pgsql/share£© ÖÐ ÕÒ µ½¡£
+在 模 块 安 装 之 后, 必 须 使 用 admin.sql 脚 本 (对 于 PostgreSQL 8.1 是 admin81.sql) 在 所 要 维 护 的 数 据 库 中 创 建 指 令 函 数,
+这 些 脚 本 文 件 通 常 可 以 在 pgsql 的 共 享 目 录 (例 如 /usr/local/pgsql/share) 中 找 到。
</p>
<p>
-À© Õ¹ ·þ Îñ Æ÷ Ö¸ Áî ÔÚ PostgreSQL 7.3 ºÍ 7.4 ÖРû ÓÐ ±» Ö§ ³Ö¡£
+扩 展 服 务 器 指 令 在 PostgreSQL 7.3 和 7.4 中 没 有 被 支 持。
</p>
</body>
</html>
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=gb2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
<body>\r
<p>\r
-pgAdmin III ·¢ ÏÖ µ± ǰ ¶Ô Ïó ÓÐ ¶à ¸ö ½¨ Òé¡£</p>\r
+pgAdmin III 发 现 当 前 对 象 有 多 个 建 议。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=gb2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>±à¼ÊÓͼ¡¢´æ´¢¹ý³Ì»òÕߺ¯Êý</h3>\r
+<h3>编辑视图、存储过程或者函数</h3>\r
<p>\r
-µ± ±à ¼ ÊÓ Í¼¡¢ ´æ ´¢ ¹ý ³Ì »ò Õß º¯ Êý µÄ ´ú Âë ʱ£¬ ²» ʹ Óà λ ÓÚ ¶Ô Ïó Êô ÐÔ ¶Ô »° ¿ò ÉÏ µÄ С ÎÄ ±¾ ¿ò£¬ ¶ø ÊÇ Ê¹ Óà pgAdmin µÄ ½Å ±¾ Ñ¡ Ïî ÔÚ ²é ѯ ¹¤ ¾ß ÖÐ ±à ¼ Ëü¡£ ²é ѯ ¹¤ ¾ß µÄ ±à ¼ Æ÷ ¾ß ÓÐ ×Ô ¶¯ Íê ³É¡¢ ²é ÕÒ Ìæ ´ú ¹¦ ÄÜ ÒÔ ¼° ¸ü ´ó µÄ ¹¤ ×÷ ¿Õ ¼ä£¬ Õâ Ñù ¿É ÄÜ »á ¸ü ¼Ó ·½ ±ã¡£</p>\r
+当 编 辑 视 图、 存 储 过 程 或 者 函 数 的 代 码 时, 不 使 用 位 于 对 象 属 性 对 话 框 上 的 小 文 本 框, 而 是 使 用 pgAdmin 的 脚 本 选 项 在 查 询 工 具 中 编 辑 它。 查 询 工 具 的 编 辑 器 具 有 自 动 完 成、 查 找 替 代 功 能 以 及 更 大 的 工 作 空 间, 这 样 可 能 会 更 加 方 便。</p>\r
\r
<p>\r
-¿É ÒÔ Í¨ ¹ý ÔÚ pgAdmin µÄ ä¯ ÀÀ ´° ¿Ú Ï£ Íû ±à ¼ µÄ ¶Ô Ïó ÉÏ µã »÷ ÓÒ ¼ü£¬\r
-È» ºó Ñ¡ Ôñ ¡°´´ ½¨ ½Å ±¾¡± ²Ë µ¥£¬ À´ ʹ Óà ½Å ±¾ Ñ¡ Ïî¡£ ÓРʱ ¿É ÄÜ ³ö ÏÖ ¡°½Å ±¾¡± ×Ó ²Ë µ¥£¬\r
-ÄÇ Ã´ Õâ ʱ ºò ¿É ÒÔ Ñ¡ ÖÐ ¶Ô Ïó£¬ È» ºó ÔÚ ¡°¹¤ ¾ß¡± ²Ë µ¥ µÄ ¡°½Å ±¾¡± ×Ó ²Ë µ¥ ÖÐ Ñ¡ Ôñ ¡°´´ ½¨ ½Å ±¾¡±¡£</p>\r
+可 以 通 过 在 pgAdmin 的 浏 览 窗 口 希 望 编 辑 的 对 象 上 点 击 右 键,\r
+然 后 选 择 “创 建 脚 本” 菜 单, 来 使 用 脚 本 选 项。 有 时 可 能 出 现 “脚 本” 子 菜 单,\r
+那 么 这 时 候 可 以 选 中 对 象, 然 后 在 “工 具” 菜 单 的 “脚 本” 子 菜 单 中 选 择 “创 建 脚 本”。</p>\r
\r
<p>\r
-±à ¼ ¶Ô Ïó Ðè Òª ±ä ¸ü µÄ ¶¨ Ò壬 È» ºó ʹ Óà ¡°Ö´ ÐÐ ²é ѯ¡± °´ Å¥ Ìá ½»¡£\r
-²» Òª Íü ¼Ç£¬ ÐÞ ¸Ä ÊÓ Í¼ »ò º¯ Êý µÄ Ãû ×Ö £¬ »ò Õß ÐÞ ¸Ä º¯ Êý »ò ´æ ´¢ ¹ý ³Ì µÄ Ç© Ãû £¬\r
-»á ÔÚ Ô ÏÈ ¶Ô Ïó µÄ ÅÔ ±ß ½¨ Á¢ Ò» ¸ö Р¶Ô Ïó£¬ Õâ ¶Ô ÓÚ ½¨ Á¢ Ò» ¸ö РµÄ Ïà ËÆ ¶Ô Ïó ½« ÊÇ Ê® ·Ö ·½ ±ã µÄ ¡£ È» ºó Ðè Òª Ë¢ РpgAdmin ä¯ ÀÀ Æ÷ ÏÔ Ê¾ Р½¨ ¶Ô Ïó ¡£\r
+编 辑 对 象 需 要 变 更 的 定 义, 然 后 使 用 “执 行 查 询” 按 钮 提 交。\r
+不 要 忘 记, 修 改 视 图 或 函 数 的 名 字 , 或 者 修 改 函 数 或 存 储 过 程 的 签 名 ,\r
+会 在 原 先 对 象 的 旁 边 建 立 一 个 新 对 象, 这 对 于 建 立 一 个 新 的 相 似 对 象 将 是 十 分 方 便 的 。 然 后 需 要 刷 新 pgAdmin 浏 览 器 显 示 新 建 对 象 。\r
</p>\r
\r
<p>\r
-¿É ÒÔ Àû Óà Õâ ¸ö ÊÖ ¶Î Ö´ ÐÐ ²» ͬ ¶Ô Ïó ÉÏ µÄ ¸÷ ÖÖ ²Ù ×÷£¬\r
-È» ¶ø PostgreSQL µÄ <i>CREATE OR REPLACE</i> Óï ·¨ ¶Ô ÓÚ ±à ¼ ÊÓ Í¼¡¢ ´æ ´¢ ¹ý ³Ì ºÍ º¯ Êý µÄ ¶¨ Òå ÈÔ È» ÌØ ±ð ÓÐ Óá£\r
+可 以 利 用 这 个 手 段 执 行 不 同 对 象 上 的 各 种 操 作,\r
+然 而 PostgreSQL 的 <i>CREATE OR REPLACE</i> 语 法 对 于 编 辑 视 图、 存 储 过 程 和 函 数 的 定 义 仍 然 特 别 有 用。\r
</p>\r
\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=gb2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Ö÷¼ü</h3>\r
+<h3>主键</h3>\r
<p>\r
-µ± Éè ¼Æ Êý ¾Ý ±í µÄ ʱ ºò£¬ ±Ø Ðë ʱ ¿Ì ¹Ø ×¢ ½ñ ºó Èç ºÎ ÔÚ ±í ÖÐ ¶¨ λ Êý ¾Ý ´ó ¶à Êý Çé ¿ö Ï£¬ Ðè Òª Óà һ ¸ö ±ê ʶ ·û Ψ Ò» ÐÔ µØ ¶¨ λ Ò» ÐÐ Êý ¾Ý£¬ Õâ ¸ö ±ê ʶ ·û Ó¦ ¸Ã ×÷ Ϊ Ö÷ ¼ü ´¦ Àí¡£ Ö÷ ¼ü ²» ±Ø Ö» °ü º¬ µ¥ Ò» µÄ ×Ö ¶Î£¬ ¿É ÒÔ °ü º¬ ¶à ¸ö ±Ø Ðè ×Ö ¶Î Óà À´ ±ê ʶ ij ÐÐ Êý ¾Ý¡£ Èç ¹û Ðè Òª Óà ¶à ¸ö ×Ö ¶Î £¨¸ù ¾Ý ¾ Ñé £º ´ó ÓÚ 3£© ½¨ Á¢ Ö÷ ¼ü£¬ Ôö ¼Ó Ò» ¸ö ²É Óà ¸ü ¼Ó ·½ ±ã Àà ÐÍ £¨±È Èç £º serial »ò Õß bigserial£© µÄ ×Ö ¶Î ×÷ Ϊ Ö÷ ¼ü ¿É ÄÜ ÊÇ ¸ö ºÃ Ö÷ Òâ¡£</p>\r
+当 设 计 数 据 表 的 时 候, 必 须 时 刻 关 注 今 后 如 何 在 表 中 定 位 数 据 大 多 数 情 况 下, 需 要 用 一 个 标 识 符 唯 一 性 地 定 位 一 行 数 据, 这 个 标 识 符 应 该 作 为 主 键 处 理。 主 键 不 必 只 包 含 单 一 的 字 段, 可 以 包 含 多 个 必 需 字 段 用 来 标 识 某 行 数 据。 如 果 需 要 用 多 个 字 段 (根 据 经 验 : 大 于 3) 建 立 主 键, 增 加 一 个 采 用 更 加 方 便 类 型 (比 如 : serial 或 者 bigserial) 的 字 段 作 为 主 键 可 能 是 个 好 主 意。</p>\r
<p>\r
-Ö» ÓÐ ¼« ÉÙ Êý Çé ¿ö Ï£¬ Ö÷ ¼ü ²Å ÊÇ ÎÞ ¹Ø ½ô Òª µÄ¡£ Õâ Òâ ζ ×Å£º Ò» ¸ö ÒŠʧ µÄ Ö÷ ¼ü Ç¿ ÁÒ °µ ʾ ×Å Õâ ¸ö Êý ¾Ý ±í û ÓÐ Íê È« Éè ¼Æ Íê ±Ï¡£ Õâ Ò² ÊÇ Îª ʲ ô Guru Hint »á ÔÚ ´´ ½¨ û ÓÐ Ö÷ ¼ü µÄ ±í ʱ Ìá ʾ Äã µÄ Ô Òò¡£</p>\r
+只 有 极 少 数 情 况 下, 主 键 才 是 无 关 紧 要 的。 这 意 味 着: 一 个 遗 失 的 主 键 强 烈 暗 示 着 这 个 数 据 表 没 有 完 全 设 计 完 毕。 这 也 是 为 什 么 Guru Hint 会 在 创 建 没 有 主 键 的 表 时 提 示 你 的 原 因。</p>\r
<p>\r
-Èç ¹û Äã ²é ¿´ PostgreSQL µÄ ϵ ͳ ±í£¬ »á ·¢ ÏÖ Ëü ÃÇ ¶¼ û ÓÐ Ö÷ ¼ü£¬ Ϊ ʲ ô »á Õâ Ñù£¿ ʵ ¼Ê ÉÏ£¬ Ëù ÓÐ Õâ Щ ±í ¶¼ ÓÐ Ò» ¸ö »ò Õß Á½ ¸ö ²» ÔÊ Ðí Ϊ 0¡¢ ÄÜ ¹» ±» Ë÷ Òý ¿ì ËÙ ·Ã ÎÊ¡¢ ÄÜ ¹» Ψ Ò» ±ê ʶ ÿ Ò» ÐÐ µÄ ×Ö ¶Î £¨Í¨ ³£ Ö» ÓÐ OID£©£¬ ×ñ Ñ Ö÷ ¼ü µÄ µÚ ¶þ ¸ö Ô Ôò ¡£ ÔÚ Õâ Àï ʹ Óà OID ÓÐ Àú Ê· ÐÔ Ô Òò£¬ Ëü ²» ÊÇ Éè ¼Æ Óà »§ ±í µÄ µÚ Ò» Ñ¡ Ôñ ¡£ Ëä È» ÓÐ ÏÔ Ê½ Ö÷ ¼ü Õâ ÖÖ ¸ü Р¸ü ºÏ ÊÊ µÄ ·½ ʽ£¬PostgreSQL Ϊ ÁË ±£ ³Ö Á¼ ºÃ µÄ Ïò ºó ¼æ ÈÝ ÐÔ ÈÔ È» ʹ Óà ¾É µÄ ·½ ʽ¡£</p>\r
+如 果 你 查 看 PostgreSQL 的 系 统 表, 会 发 现 它 们 都 没 有 主 键, 为 什 么 会 这 样? 实 际 上, 所 有 这 些 表 都 有 一 个 或 者 两 个 不 允 许 为 0、 能 够 被 索 引 快 速 访 问、 能 够 唯 一 标 识 每 一 行 的 字 段 (通 常 只 有 OID), 遵 循 主 键 的 第 二 个 原 则 。 在 这 里 使 用 OID 有 历 史 性 原 因, 它 不 是 设 计 用 户 表 的 第 一 选 择 。 虽 然 有 显 式 主 键 这 种 更 新 更 合 适 的 方 式,PostgreSQL 为 了 保 持 良 好 的 向 后 兼 容 性 仍 然 使 用 旧 的 方 式。</p>\r
<p>\r
-Õý Èç ϵ ͳ ±í µÄ Àý ×Ó Ëù ʾ£¬ ¿ì ËÙ ·Ã ÎÊ ºÍ ±£ ³Ö Ψ Ò» ÐÔ µÄ Ä¿ ±ê ¿É ÒÔ Í¨ ¹ý Æä Ëû ·½ ʽ ´ï µ½£¬ ¶ø ²» ÊÇ ²É Óà Ö÷ ¼ü¡£ µ« ÊÇ£¬ Ϊ ÁË Ê¹ Êý ¾Ý Ä£ ÐÍ ¸ü ¼Ó Çå Îú£¬ ÎÒ ÃÇ ÈÔ È» Ç¿ ÁÒ ÍÆ ¼ö ʹ Óà Ö÷ ¼ü À´ ´ï ³É Õâ Ò» Ä¿ ±ê¡£</p>\r
+正 如 系 统 表 的 例 子 所 示, 快 速 访 问 和 保 持 唯 一 性 的 目 标 可 以 通 过 其 他 方 式 达 到, 而 不 是 采 用 主 键。 但 是, 为 了 使 数 据 模 型 更 加 清 晰, 我 们 仍 然 强 烈 推 荐 使 用 主 键 来 达 成 这 一 目 标。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>±£´æÃÜÂë</h3>\r
+<h3>保存密码</h3>\r
<p>\r
-<b>¾¯ ¸æ£º</b> Äã ÒÑ ¾ Ñ¡ Ôñ ÁË ±£ ´æ ÃÜ Â룬 ÔÚ *nix Ï Ëü ½« ±» ±£ ´æ ÔÚ home Ä¿ ¼ µÄ ´¿ ÎÄ ±¾ ÎÄ ¼þ ÖУ¬ ¶ø ÔÚ Windows ϵ ͳ Ï Ëü ½« ±» ±£ ´æ ÔÚ Óà »§ µÄ Åä Öà ÎÄ ¼þ ÖС£ Èç ¹û Äã ²» Ïë Õâ ô ×ö£¬ Çë µã »÷ Cancel °´ Å¥¡£</p>\r
+<b>警 告:</b> 你 已 经 选 择 了 保 存 密 码, 在 *nix 下 它 将 被 保 存 在 home 目 录 的 纯 文 本 文 件 中, 而 在 Windows 系 统 下 它 将 被 保 存 在 用 户 的 配 置 文 件 中。 如 果 你 不 想 这 么 做, 请 点 击 Cancel 按 钮。</p>\r
<p>\r
-pgAdmin ʹ Óà PostgreSQL µÄ 'pgpass' »ú ÖÆ ±£ ´æ ÃÜ Âë¡£ ÔÚ *nix ϵ ͳ Ï£¬ ÃÜ Âë ½« ±» ±£ ´æ ÔÚ <i>~/.pgpass</i> ÎÄ ¼þ ÖУ» ¶ø ÔÚ Windows ϵ ͳ Ï£¬ Ëü ½« ±» ±£ ´æ ÔÚ <i>%APPDATA%\PostgreSQL\pgpass.conf</i> ÎÄ ¼þ ÖÐ £¨%APPDATA% ÊÇ Î» ÓÚ Óà »§ Åä Öà ÎÄ ¼þ Ö® ÄÚ µÄ 'Application Data' ÎÄ ¼þ ¼Ð£©¡£ Õâ ¸ö »ú ÖÆ ±» Óà À´ ×÷ Ϊ ʹ Óà libpg ¿â Á¬ ½Ó Êý ¾Ý ¿â ·þ Îñ Æ÷ µÄ Ëù ÓÐ ³Ì Ðò µÄ ȱ Ê¡ »ú ÖÆ£¬ °ü À¨ Ãü Áî ÐÐ ³Ì Ðò£¨Àý Èç pg_dump ºÍ pg_restore£©¡¢ Æä Ëû GUI ³Ì Ðò¡¢ Çý ¶¯ ³Ì Ðò £¨Àý Èç £º psqlODBC£©¡£ Õâ Òâ ζ ×Å Õâ Щ ³Ì Ðò ¶¼ ¿É ÒÔ Ê¹ Óà Õâ ¸ö ±£ ´æ µÄ ÃÜ Âë ×Ô ¶¯ Á¬ ½Ó µ½ Êý ¾Ý ¿â£¬ Èç ¹û Äã ²» Ïë Õâ Ñù ×ö£¬ ²» Òª ʹ Óà pgAdmin µÄ <i>Store Password</i> µÄ Ñ¡ Ïî¡£</p>\r
+pgAdmin 使 用 PostgreSQL 的 'pgpass' 机 制 保 存 密 码。 在 *nix 系 统 下, 密 码 将 被 保 存 在 <i>~/.pgpass</i> 文 件 中; 而 在 Windows 系 统 下, 它 将 被 保 存 在 <i>%APPDATA%\PostgreSQL\pgpass.conf</i> 文 件 中 (%APPDATA% 是 位 于 用 户 配 置 文 件 之 内 的 'Application Data' 文 件 夹)。 这 个 机 制 被 用 来 作 为 使 用 libpg 库 连 接 数 据 库 服 务 器 的 所 有 程 序 的 缺 省 机 制, 包 括 命 令 行 程 序(例 如 pg_dump 和 pg_restore)、 其 他 GUI 程 序、 驱 动 程 序 (例 如 : psqlODBC)。 这 意 味 着 这 些 程 序 都 可 以 使 用 这 个 保 存 的 密 码 自 动 连 接 到 数 据 库, 如 果 你 不 想 这 样 做, 不 要 使 用 pgAdmin 的 <i>Store Password</i> 的 选 项。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>ÍÆ¼öÔËÐÐVACUUM</h3>\r
+<h3>推荐运行VACUUM</h3>\r
<p>\r
-"<INFO>" ÖÐ µÄ Ô¤ ²â ÐÐ Êý ÒÑ ¾ ÑÏ ÖØ Æ« Àë ʵ ¼Ê ÐÐ Êý£¬ Ó¦ ¸Ã ÔÚ Õâ ¸ö Êý ¾Ý ±í ÉÏ ÔË ÐÐ VACUUM ANALYZE¡£\r
+"<INFO>" 中 的 预 测 行 数 已 经 严 重 偏 离 实 际 行 数, 应 该 在 这 个 数 据 表 上 运 行 VACUUM ANALYZE。\r
</p><p>\r
-³ý È¥ ÊÖ ¶¯ ÔË ÐÐ VACUUM ANALYZE Ãü Áî £¨ Ò² ¿É ÒÔ Àû Óà pgAdmin III µÄ ¡°Î¬ »¤¡± ²Ë µ¥ À´ ×ö £© Ö® Í⣬\r
-»¹ Ó¦ ¸Ã ¿¼ ÂÇ ¶¨ ÆÚ ÓÐ ¹æ ÂÉ »ò Õß ×Ô ¶¯ µØ ÔË ÐÐ VACUUM ANALYZE¡£Ê¹ Óà µ÷ ¶È ³Ì Ðò ¿É ÒÔ ×ö µ½ Õâ Ò» µã£¬\r
-Áí Íâ PostgreSQL Ò² Ìá ¹© ÁË Ò» ¸ö ½Ð ×ö pg_autovacuum µÄ ºó ̨ ³Ì Ðò£¬\r
-ÄÜ ¹» ¸ú ×Ù Êý ¾Ý ¿â µÄ ±ä »¯ ²¢ ÔÚ ÊÊ µ± ʱ ¿Ì ×Ô ¶¯ µ÷ Óà vacuum Ãü Áî¡£\r
-ÔÚ ´ó ¶à Êý Çé ¿ö Ï£¬ pg_autovacuum ÊÇ ×î ºÃ µÄ Ñ¡ Ôñ¡£\r
+除 去 手 动 运 行 VACUUM ANALYZE 命 令 ( 也 可 以 利 用 pgAdmin III 的 “维 护” 菜 单 来 做 ) 之 外,\r
+还 应 该 考 虑 定 期 有 规 律 或 者 自 动 地 运 行 VACUUM ANALYZE。使 用 调 度 程 序 可 以 做 到 这 一 点,\r
+另 外 PostgreSQL 也 提 供 了 一 个 叫 做 pg_autovacuum 的 后 台 程 序,\r
+能 够 跟 踪 数 据 库 的 变 化 并 在 适 当 时 刻 自 动 调 用 vacuum 命 令。\r
+在 大 多 数 情 况 下, pg_autovacuum 是 最 好 的 选 择。\r
</p><p><br><br></p>\r
-<b>VACUUMÓÐʲôºÃ´¦£¿</b>\r
+<b>VACUUM有什么好处?</b>\r
<p>\r
-PostgreSQL µÄ ²é ѯ ¼Æ »® ¸ù ¾Ý Ô¤ ²â ÐÐ Êý ×ö ³ö ¾ö ¶¨£¬ Èç ¹û ʵ ¼Ê ÐÐ Êý Óë Ô¤ ²â ÐÐ Êý ÓÐ Ì« ´ó ²î Ò죬\r
-¿É ÄÜ »á ×÷ ³ö ´í Îó ÅÐ ¶Ï£¬ Ôì ³É ²é ѯ ¼Æ »® ²» ÊÇ ×î ÓÅ »¯ µÄ £¬ µ¼ Ö ִ ÐРЧ ÂÊ ¹ý µÍ ¡£\r
+PostgreSQL 的 查 询 计 划 根 据 预 测 行 数 做 出 决 定, 如 果 实 际 行 数 与 预 测 行 数 有 太 大 差 异,\r
+可 能 会 作 出 错 误 判 断, 造 成 查 询 计 划 不 是 最 优 化 的 , 导 致 执 行 效 率 过 低 。\r
</p><p>\r
-PostgreSQL Êý ¾Ý ¿â Ðè Òª VACUUM ÐÞ ¸´ ±í ÖÐ µÄ Ê Îñ ID¡£\r
-Áí Í⣬ ÓÉ ÓÚ ¸ü РºÍ ɾ ³ý ²Ù ×÷ ¶ø ²ú Éú µÄ ¹ý ʱ Êý ¾Ý Ö± µ½ ÔÚ Õâ ¸ö ±í ÉÏ ÔË ÐÐ VACUUM Ãü Áî ²Å »á ±» Çå Àí¡£\r
-°´ Ï °ï Öú °´ Å¥£¬ ¿É ÒÔ ´Ó ÔÚ Ïß ÎÄ µµ ÖÐ ¿´ µ½ ¸ü Ïê ϸ ЊϢ¡£\r
+PostgreSQL 数 据 库 需 要 VACUUM 修 复 表 中 的 事 务 ID。\r
+另 外, 由 于 更 新 和 删 除 操 作 而 产 生 的 过 时 数 据 直 到 在 这 个 表 上 运 行 VACUUM 命 令 才 会 被 清 理。\r
+按 下 帮 助 按 钮, 可 以 从 在 线 文 档 中 看 到 更 详 细 信 息。\r
</p>\r
</body>\r
</html>\r
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Guru Hints</title>
</head>
<body>
-<h3>±à¼Ã»ÓÐÖ÷¼üµÄ±íÊý¾Ý</h3>
+<h3>编辑没有主键的表数据</h3>
<p>
-±í <INFO> û ÓÐ Ö÷ ¼ü »ò Õß OID ×Ö ¶Î£¬Ö» ÄÜ ²é ¿´ Êý ¾Ý¡£
-ÔÚ Ã» ÓÐ Ö÷ ¼ü µÄ Çé ¿ö Ï ²» ÄÜ Ê¹ Óà Êý ¾Ý ±à ¼ ¹¤ ¾ß ²å Èë РÊý ¾Ý ÐÐ ºÍ ÐÞ ¸Ä ÒÑ ¾ ´æ ÔÚ µÄ Êý ¾Ý¡£
+表 <INFO> 没 有 主 键 或 者 OID 字 段,只 能 查 看 数 据。
+在 没 有 主 键 的 情 况 下 不 能 使 用 数 据 编 辑 工 具 插 入 新 数 据 行 和 修 改 已 经 存 在 的 数 据。
</p>
<p>
-Ϊ ÁË ±à ¼ Êý ¾Ý£¬pgAdmin III Òª Çó Êý ¾Ý ±í ¾ß ÓÐ Ö÷ ¼ü£¬Õâ Ò² ÊÇ Ò» ¸ö ºÃ µÄ Êý ¾Ý ¿â Éè ¼Æ Ï° ¹ß¡£
-Áí Íâ »¹ ÓÐ Ò» ÖÖ Ìæ ´ú ·½ ʽ£º ʹ Óà OID ×Ö ¶Î ´´ ½¨ Êý ¾Ý ±í¡£ Çë ×¢ Òâ OID ÔÚ ¾ ¹ý ºÜ ³¤ Ò» ¶Î ʱ ¼ä Ö® ºó <B>²» ÄÜ</B> ±£ Ö¤ »¹ ÊÇ Î¨ Ò» µÄ¡£
-Òò ´Ë ʹ Óà OID ×÷ Ϊ Ö÷ ¼ü ½ö ½ö ÊÇ µÚ ¶þ Ñ¡ Ôñ¡£
+为 了 编 辑 数 据,pgAdmin III 要 求 数 据 表 具 有 主 键,这 也 是 一 个 好 的 数 据 库 设 计 习 惯。
+另 外 还 有 一 种 替 代 方 式: 使 用 OID 字 段 创 建 数 据 表。 请 注 意 OID 在 经 过 很 长 一 段 时 间 之 后 <B>不 能</B> 保 证 还 是 唯 一 的。
+因 此 使 用 OID 作 为 主 键 仅 仅 是 第 二 选 择。
</p>
</body>
</html>
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Guru Hints</title></head>
-<h3>±ÀÂ˹B¦æ pg_autovacuum</h3>
+<h3>推薦運行 pg_autovacuum</h3>
<p>
-pg_autovacuum ¥H «e ¬O ¤@ Ó ¥~ ³¡ ªA °È ¶i µ{¡A PostgreSQL 8.1 ¶} ©l ¤w ¸g ³Q ¾ã ¦X ¶i ¸ê ®Æ ®w «á ºÝ¡A
-¥¦ ±N ¦b ³Q × §ï ªº ¸ê ®Æ Á` ¼Æ ¹F ¨ì «ü ©w È ¥H «á ¦Û °Ê ¹B ¦æ VACUUM¡C
+pg_autovacuum 以 前 是 一 個 外 部 服 務 進 程, PostgreSQL 8.1 開 始 已 經 被 整 合 進 資 料 庫 後 端,
+它 將 在 被 修 改 的 資 料 總 數 達 到 指 定 值 以 後 自 動 運 行 VACUUM。
</p>
<p>
-¦b PostgreSQL ¦ø ªA ¾¹ ¤W ¹B ¦æ VACUUM «O «ù ¸ê ®Æ §¹ ¾ã ©M ¦ø ªA ¾¹ ®Ä ²v ¬O ±j ¨î n ¨D¡A
-±À ÂË ³q ¹L ¦b postgresql.conf ¤å ¥ó ¤¤ ³] ¸m 'autovacuum'¡B'stats_start_collector' ©M 'stats_row_level' °Ñ ¼Æ ¬° 'on' ¨Ó ¶} ±Ò pg_autovacuum ¦u Å@ µ{ §Ç¡C
-°l ÂÜ ¸ê ®Æ ÅÜ ¤Æ ®É ¹ï ©Ê ¯à ·| ¦³ »´ ·L ªº ¼v ÅT¡A ¦ý ¬O ´N Á` Åé ¨Ó Á¿¡A ±z ±N ±q ¦Û °Ê ¹B ¦æ VACUUM ¤¤ Àò ±o §ó ¦h ¯q ³B¡C
+在 PostgreSQL 伺 服 器 上 運 行 VACUUM 保 持 資 料 完 整 和 伺 服 器 效 率 是 強 制 要 求,
+推 薦 通 過 在 postgresql.conf 文 件 中 設 置 'autovacuum'、'stats_start_collector' 和 'stats_row_level' 參 數 為 'on' 來 開 啟 pg_autovacuum 守 護 程 序。
+追 蹤 資 料 變 化 時 對 性 能 會 有 輕 微 的 影 響, 但 是 就 總 體 來 講, 您 將 從 自 動 運 行 VACUUM 中 獲 得 更 多 益 處。
</p>
<p>
-¬° ¯S ®í »Ý ¨D ½Õ ¾ã pg_autovacuum ªº °õ ¦æ¡A ¥i ¥H × §ï postgresql.conf ªº ¥þ §½ °Ñ ¼Æ ©Î ªÌ ¬Y Ó ¸ê ®Æ ªí ªº Ó §O ³] ¸m¡A ½Ð °Ñ ¾\ ¤å ÀÉ¡C
+為 特 殊 需 求 調 整 pg_autovacuum 的 執 行, 可 以 修 改 postgresql.conf 的 全 局 參 數 或 者 某 個 資 料 表 的 個 別 設 置, 請 參 閱 文 檔。
</p>
</body>
-</html>
\ No newline at end of file
+</html>
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>¦s¨ú¸ê®Æ®w³Q©Úµ´</h3>\r
+<h3>存取資料庫被拒絕</h3>\r
<p>\r
-¦ø ªA ¾¹ ¤£ ¤¹ ³\ ³X °Ý ¸ê ®Æ ®w¡G ¦ø ªA ¾¹ ³ø §i\r
+伺 服 器 不 允 許 訪 問 資 料 庫: 伺 服 器 報 告\r
</p>\r
<p>\r
<b><tt class="command"><info></info></tt></b>\r
</p>\r
<p>\r
\r
-³X °Ý PostgreSQL ¸ê ®Æ ®w¡A º ¥ý ¥² ¶· ¤¹ ³\ «È ¤á ºÝ ¯à °÷ ³s ±µ ¥D ¾÷ ¡]°ò ©ó ¥D ¾÷ ªº »{ ÃÒ¡^¡A\r
-µM «á ¦b ©Ò ¦³ SQL ³X °Ý Åv ³Q Åç ÃÒ ¤§ «e¡A PostgreSQL ±N ÀË ¬d pg_hba.conf ¤å ¥ó ¬d ¬Ý ¬O §_ ¦³ »P «È ¤á ºÝ ªº ¦a§} / ¥Î¤á¦W / ¸ê®Æ®w ¬Û ²Å ¦X ªº ¤è ®× ¦s ¦b ¨Ã ¥B ¬O ¤¹ ³\ ³X °Ý ªº¡C\r
+訪 問 PostgreSQL 資 料 庫, 首 先 必 須 允 許 客 戶 端 能 夠 連 接 主 機 (基 於 主 機 的 認 證),\r
+然 後 在 所 有 SQL 訪 問 權 限 被 驗 證 之 前, PostgreSQL 將 檢 查 pg_hba.conf 文 件 查 看 是 否 有 與 客 戶 端 的 地址 / 用戶名 / 資料庫 相 符 合 的 方 案 存 在 並 且 是 允 許 訪 問 的。\r
</p>\r
<p>\r
-¬°¤FÁ×§K¥Ñ¨t²Î¤Þ°_ªº¤£¥²nªº¦w¥þº|¬}¡Apg_hba.conf¤¤ªºªì©l³]¸m¤Q¤ÀÄY®æ¡A¥i¥H¹³¤U±³o¼Ë¼W¥[³]¸m¡G\r
+為了避免由系統引起的不必要的安全漏洞,pg_hba.conf中的初始設置十分嚴格,可以像下面這樣增加設置:\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-³o Ó ¨Ò ¤l ¤¹ ³\ ¨p ¦³ ºô µ¸ 192.168.0.0/24 ¨Ï ¥Î MD5 ¥[ ±K ªº ±K ½X ³s ±µ ¨ì ©Ò ¦³ ¥Î ¤á ©M ©Ò ¦³ ¸ê ®Æ ®w¡C\r
+這 個 例 子 允 許 私 有 網 絡 192.168.0.0/24 使 用 MD5 加 密 的 密 碼 連 接 到 所 有 用 戶 和 所 有 資 料 庫。\r
</p>\r
<p>\r
-§Q ¥Î ¾ã ¦X ¶i pgAdmin III ªº pg_hba.conf ½s ¿è ¾¹ ¥i ¥H × §ï pg_hba.conf °t ¸m ¤å ¥ó¡A\r
-× §ï §¹ ²¦ ¥H «á¡A »Ý n ¨Ï ¥Î pg_ctl ³q ª¾ ¸ê ®Æ ®w « ·s Ū ¤J °t ¸m ©Î ªÌ « ·s ±Ò °Ê ¸ê ®Æ ®w¡C\r
+利 用 整 合 進 pgAdmin III 的 pg_hba.conf 編 輯 器 可 以 修 改 pg_hba.conf 配 置 文 件,\r
+修 改 完 畢 以 後, 需 要 使 用 pg_ctl 通 知 資 料 庫 重 新 讀 入 配 置 或 者 重 新 啟 動 資 料 庫。\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Ident ÅçÃÒ¥¢±Ñ</h3>\r
+<h3>Ident 驗證失敗</h3>\r
<p>\r
-¦ø ªA ¾¹ µL ªk ±µ ¨ü ·í «e ªº ¨Ï ¥Î ªÌ¡G ¦ø ªA ¾¹ ³ø §i\r
+伺 服 器 無 法 接 受 當 前 的 使 用 者: 伺 服 器 報 告\r
</p>\r
<p>\r
<b><tt class="command"><info></info></tt></b>\r
</p>\r
<p>\r
\r
-¦p ªG ¥X ²{ ³o Ó ®ø ®§¡A »¡ ©ú §A ªº «È ¤á ºÝ / ¨Ï ¥Î ªÌ / ¸ê ®Æ ®w ²Õ ¦X ¦b pg_hba.conf ¤¤ ³Q ³] ¸m ¬° "ident" Åç ÃÒ¡C\r
-¦b ¤@ ¨Ç µo §G ·í ¤¤¡A ¤ñ ¦p Debian¡A ³o ¬O ¹w ³] ³] ¸m¡C ¬° ¤F ¯à °÷ ¦¨ ¥\ °õ ¦æ °ò ©ó ident ªº Åç ÃÒ¡A »Ý n ¶i ¦æ ÃB ¥~ ªº ³] ¸m ¡A ½Ð ¬d ¬Ý PostgreSQL »¡ ©ú¡C\r
-¹ï ªì ¾Ç ªÌ ¨Ó »¡¡A ¨Ï ¥Î ¨ä ¥¦ ªº Åç ÃÒ ¤è ¦¡ ¥i ¯à §ó ¦X ¾A¡A ¥Î MD5 ¥[ ±K ±K ½X ¬O Ó ¦n ¥D ·N¡A ¥i ¥H ¦b pg_hba.conf ³o ¼Ë °t ¸m¡G\r
+如 果 出 現 這 個 消 息, 說 明 你 的 客 戶 端 / 使 用 者 / 資 料 庫 組 合 在 pg_hba.conf 中 被 設 置 為 "ident" 驗 證。\r
+在 一 些 發 佈 當 中, 比 如 Debian, 這 是 預 設 設 置。 為 了 能 夠 成 功 執 行 基 於 ident 的 驗 證, 需 要 進 行 額 外 的 設 置 , 請 查 看 PostgreSQL 說 明。\r
+對 初 學 者 來 說, 使 用 其 它 的 驗 證 方 式 可 能 更 合 適, 用 MD5 加 密 密 碼 是 個 好 主 意, 可 以 在 pg_hba.conf 這 樣 配 置:\r
</p>\r
<p>\r
<b><tt class="command">host all all 192.168.0.0/24 md5</tt></b>\r
</p>\r
<p>\r
-³o Ó ¨Ò ¤l ¤¹ ³\ ¨p ¦³ ºô ¸ô 192.168.0.0/24 ¨Ï ¥Î MD5 ¥[ ±K ªº ±K ½X ³s ±µ ¨ì ©Ò ¦³ ¨Ï ¥Î ªÌ ©M ©Ò ¦³ ¸ê ®Æ ®w¡C\r
+這 個 例 子 允 許 私 有 網 路 192.168.0.0/24 使 用 MD5 加 密 的 密 碼 連 接 到 所 有 使 用 者 和 所 有 資 料 庫。\r
</p>\r
<p>\r
-§Q ¥Î ¾ã ¦X ¶i pgAdmin III ªº pg_hba.conf ½s ¿è ¾¹ ¥i ¥H × §ï pg_hba.conf °t ¸m ¤å ¥ó¡A\r
-× §ï §¹ ²¦ ¥H «á ¡A »Ý n ¨Ï ¥Î pg_ctl ³q ª¾ ¸ê ®Æ ®w « ·s Ū ¤J °t ¸m ©Î ªÌ « ·s ±Ò °Ê ¸ê ®Æ ®w¡C\r
+利 用 整 合 進 pgAdmin III 的 pg_hba.conf 編 輯 器 可 以 修 改 pg_hba.conf 配 置 文 件,\r
+修 改 完 畢 以 後 , 需 要 使 用 pg_ctl 通 知 資 料 庫 重 新 讀 入 配 置 或 者 重 新 啟 動 資 料 庫。\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>¦øªA¾¹¨S¦³¶i¦æºÊÅ¥</h3>\r
+<h3>伺服器沒有進行監聽</h3>\r
<p>\r
-¦ø ªA ¾¹ µL ªk ±µ ¨ü ³s ½u¡G ¥Ñ ³s ½u ¸ê ®Æ ®w ³ø §i\r
+伺 服 器 無 法 接 受 連 線: 由 連 線 資 料 庫 報 告\r
</p>\r
<p>\r
<b><tt class="command"><info></info></tt></b>\r
</p>\r
<p>\r
\r
-¦p ªG ¬Ý ¨ì ³o Ó ®ø ®§¡A ½Ð ÀË ¬d ¥¿ ¦b ¸Õ ¹Ï ³s ±µ ªº ¦ø ªA ¾¹ ¬O §_ ¦b «ü ©w ºÝ ¤f ¤U ¹B ¦æ PostgreSQL¡A\r
-¨Ï ¥Î ping ©Î ªÌ ¬Û ¦ü ¤u ¨ã ÀË ¬d «È ¤á ºÝ ¨ì ¦ø ªA ¾¹ ¥D ¾÷ ¤§ ¶¡ ¬O §_ ¦s ¦b ºô µ¸ ³s ±µ¡A\r
-§A ªº ºô µ¸ / VPN / SSH ³q ¹D / ¨¾ ¤õ Àð ¬O §_ ¥¿ ½T ³] ¸m¡C\r
+如 果 看 到 這 個 消 息, 請 檢 查 正 在 試 圖 連 接 的 伺 服 器 是 否 在 指 定 端 口 下 運 行 PostgreSQL,\r
+使 用 ping 或 者 相 似 工 具 檢 查 客 戶 端 到 伺 服 器 主 機 之 間 是 否 存 在 網 絡 連 接,\r
+你 的 網 絡 / VPN / SSH 通 道 / 防 火 牆 是 否 正 確 設 置。\r
</p>\r
<p>\r
-¥X ©ó ¦w ¥þ ì ¦]¡A PostgreSQL ³Ì ªì <b>¤£ ·|</b> ºÊ Å¥ ¦ø ªA ¾¹ ªº ©Ò ¦³ ¦³ ®Ä IP ¦a §}¡A\r
-¬° ¤F ¯à °÷ ³q ¹L ºô µ¸ ³s ±µ ¸ê ®Æ ®w¡A º ¥ý »Ý n ³] ¸m ¥¦ ¯à °÷ ºÊ Å¥ ¬Û ¹ï À³ ªº ¦a §}¡C\r
+出 於 安 全 原 因, PostgreSQL 最 初 <b>不 會</b> 監 聽 伺 服 器 的 所 有 有 效 IP 地 址,\r
+為 了 能 夠 通 過 網 絡 連 接 資 料 庫, 首 先 需 要 設 置 它 能 夠 監 聽 相 對 應 的 地 址。\r
</p>\r
<p>\r
-±q PostgreSQL 8.0 ¶} ©l¡A ¥i ¥H ¦b postgresql.conf ¤å ¥ó ¤¤ ¥Î "listen_addresses" °Ñ ¼Æ ±± ¨î ºÊ Å¥¡C\r
-¥i ¥H ¦b ³o ¸Ì ¿é ¤J ¤@ Ó À³ ¸Ó ³Q ºÊ Å¥ ªº IP ¦a §} ¦C ªí¡A ©Î ªÌ ¥Î '*' ªí ¥Ü ºÊ Å¥ ©Ò ¦³ ¦³ ®Ä ¦a §}¡C\r
-¹ï ©ó ¤ñ ¸û ¦ ªº ª© ¥» ¡]7.3 ©Î ªÌ 7.4¡^¡A »Ý n ±N "tcpip_socket" °Ñ ¼Æ ³] ¸m ¬° 'true'¡C\r
+從 PostgreSQL 8.0 開 始, 可 以 在 postgresql.conf 文 件 中 用 "listen_addresses" 參 數 控 制 監 聽。\r
+可 以 在 這 裡 輸 入 一 個 應 該 被 監 聽 的 IP 地 址 列 表, 或 者 用 '*' 表 示 監 聽 所 有 有 效 地 址。\r
+對 於 比 較 早 的 版 本 (7.3 或 者 7.4), 需 要 將 "tcpip_socket" 參 數 設 置 為 'true'。\r
</p>\r
<p>\r
-¥i ¥H ¨Ï ¥Î ¦b pgAdmin III ¤¤ ¾ã ¦X ªº postgresql.conf ½s ¿è ¾¹ ¨Ó ½s ¿è postgresql.conf °t ¸m ¤å ¥ó¡A\r
-× §ï ³o Ó ¤å ¥ó ¤§ «á¡A »Ý n « ·s ±Ò °Ê ¸ê ®Æ ®w ¶i µ{ ¨Ï ³] ¸m ¦³ ®Ä¡C\r
+可 以 使 用 在 pgAdmin III 中 整 合 的 postgresql.conf 編 輯 器 來 編 輯 postgresql.conf 配 置 文 件,\r
+修 改 這 個 文 件 之 後, 需 要 重 新 啟 動 資 料 庫 進 程 使 設 置 有 效。\r
</p>\r
<p>\r
-¦p ªG ¦h ¦¸ ÀË ¬d °t ¸m ¤§ «á ¤´ µM ±o ¨ì ³o Ó ¿ù »~ °T ®§¡A ¥i ¯à ¬O ¹J ¨ì ¤F ¤@ Ó P ©R ªº PostgreSQL ¿ù »~¡A\r
-©Î ªÌ ¥i ¯à ¬O §C ¼h ºô µ¸ ³s ±µ °Ý ÃD ¡]¤ñ ¦p ¨¾ ¤õ À𠪺 ³] ¸m¡^¡A ¦b ¦V PostgreSQL ¹Î ¶¤ ´£ ¥æ bug ³ø §i ¤§ «e ½Ð ¥J ²Ó ÀË ¬d¡C\r
+如 果 多 次 檢 查 配 置 之 後 仍 然 得 到 這 個 錯 誤 訊 息, 可 能 是 遇 到 了 一 個 致 命 的 PostgreSQL 錯 誤,\r
+或 者 可 能 是 低 層 網 絡 連 接 問 題 (比 如 防 火 牆 的 設 置), 在 向 PostgreSQL 團 隊 提 交 bug 報 告 之 前 請 仔 細 檢 查。\r
</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>¸ê®Æ®w½s½X</h3>\r
-<p>¸ê ®Æ ®w ¨Ï ¥Î SQL_ASCII ½s ½X Àx ¦s ¸ê ®Æ¡A ³o Ó ½s ½X ³Q ©w ¸q ¬° ¶È ¦³ 7 Ó ¦ì ªº ¦r ¤¸¡A\r
-·N ¨ý µÛ ¨Ï ¥Î ²Ä 8 Ó ¦ì ªº ¦r ¤¸ ¡]«D ASCII ¦r ¤¸ 127-255¡^ µL ªk ©w ¸q¡C\r
-¦] ¦¹¡A §â ¦ø ªA ¾¹ ¸ê ®Æ Âà ´« ¬° ¨ä ¥L ½s ½X ¬O ¤£ ¥i ¯à ªº¡C</p>\r
-<p>¦p ªG ·Q ¦b ¸ê ®Æ ®w ¤¤ Àx ¦s «D ASCII ¸ê ®Æ¡A ¿ï ¥Î ¤@ Ó ±j ¤j ªº ¸ê ®Æ ®w ½s ½X ¨Ó ªí ¥Ü ¥» ¦a ¤Æ ¦r ²Å ¶°¡A\r
-¥¦ À³ ¸Ó ¯à °÷ ¤ä «ù ¦Û °Ê Âà ´« ¬Æ ¦Ü ·í »Ý n ªº ®É Ô ¥i ¥H ¨Ï ¥Î ¤£ ¦P «È ¤á ºÝ ½s ½X¡C\r
-¦b SQL_ASCII ¸ê ®Æ ®w ¤¤ Àx ¦s «D ASCII ¸ê ®Æ¡A ¥i ¯à ·| ¦] ¬° ½s ½X Âà ´« °Ý ÃD ¦Ó ¹J ¨ì ±q ¸ê ®Æ ®w ¤¤ Ū ¼g ¸ê ®Æ ®É ¥X ²{ ©_ ©Ç ¦r ²Å ªº °Ý ÃD¡C\r
-·í ¨Ï ¥Î ¤£ ¦P «È ¤á ºÝ ©M ÅX °Ê µ{ §Ç ³X °Ý ¸ê ®Æ ®w ®É¡A ³o ±N ¥O ¤H «D ±` ÀY ¯k¡C</p>\r
+<h3>資料庫編碼</h3>\r
+<p>資 料 庫 使 用 SQL_ASCII 編 碼 儲 存 資 料, 這 個 編 碼 被 定 義 為 僅 有 7 個 位 的 字 元,\r
+意 味 著 使 用 第 8 個 位 的 字 元 (非 ASCII 字 元 127-255) 無 法 定 義。\r
+因 此, 把 伺 服 器 資 料 轉 換 為 其 他 編 碼 是 不 可 能 的。</p>\r
+<p>如 果 想 在 資 料 庫 中 儲 存 非 ASCII 資 料, 選 用 一 個 強 大 的 資 料 庫 編 碼 來 表 示 本 地 化 字 符 集,\r
+它 應 該 能 夠 支 持 自 動 轉 換 甚 至 當 需 要 的 時 候 可 以 使 用 不 同 客 戶 端 編 碼。\r
+在 SQL_ASCII 資 料 庫 中 儲 存 非 ASCII 資 料, 可 能 會 因 為 編 碼 轉 換 問 題 而 遇 到 從 資 料 庫 中 讀 寫 資 料 時 出 現 奇 怪 字 符 的 問 題。\r
+當 使 用 不 同 客 戶 端 和 驅 動 程 序 訪 問 資 料 庫 時, 這 將 令 人 非 常 頭 疼。</p>\r
<p>\r
-¹ï ¤j ¦h ¼Æ ¦w ¸Ë ¦Ó ¨¥¡A Unicode ¡]UTF8¡^ ½s ½X ´£ ¨Ñ ¤F ³Ì ÆF ¬¡ ªº ¬Û ®e ¯à ¤O¡C</p>\r
+對 大 多 數 安 裝 而 言, Unicode (UTF8) 編 碼 提 供 了 最 靈 活 的 相 容 能 力。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>Win32 ¦øªA¾¹¤§¤Wªº Unicode ½s½X</h3>\r
+<h3>Win32 伺服器之上的 Unicode 編碼</h3>\r
<p>\r
-¸ê ®Æ ®w ¨Ï ¥Î Unicode¡]UTF8¡^ ½s ½X ¨Ó «O ¦s ©M ¾Þ §@ ¹B ¦æ ©ó Win32 ¦ø ªA ¾¹ ¤§ ¤W ªº PostgreSQL 8.0 ¦ø ªA ¾¹ ¸ê ®Æ ¡C</p>\r
+資 料 庫 使 用 Unicode(UTF8) 編 碼 來 保 存 和 操 作 運 行 於 Win32 伺 服 器 之 上 的 PostgreSQL 8.0 伺 服 器 資 料 。</p>\r
<p>\r
-¦] ¬° §@ ·~ ¨t ²Î ¨S ¦³ ´£ ¨Ñ ¨¬ °÷ ªº ¤ä «ù ¡A Win32 ¤§ ¤U ªº PostgreSQL 8.0 µL ªk ¨Ì ¾Ú ¾A ·í ªº ¦¸ §Ç ¹ï ¦r ²Å ¦ê ¶i ¦æ ±Æ §Ç ¡C</p>\r
+因 為 作 業 系 統 沒 有 提 供 足 夠 的 支 持 , Win32 之 下 的 PostgreSQL 8.0 無 法 依 據 適 當 的 次 序 對 字 符 串 進 行 排 序 。</p>\r
<p>\r
\r
-°w ¹ï ·í «e ¦w ¸Ë ¡A ±À ÂË ¨Ï ¥Î ¥» ¦a ¤Æ ½s ½X ¡B ¦b ¤£ ¦P §@ ·~ ¨t ²Î ¤§ ¤W ¹B ¦æ ©Î ªÌ ±N ¸ê ®Æ ®w ¤É ¯Å ¨ì ¦³ ±M ªù ¥N ½X ¥i ¥H ¤ä «ù Unicode ±Æ §Ç ªº PostgreSQL 8.1 ¡C</p>\r
+針 對 當 前 安 裝 , 推 薦 使 用 本 地 化 編 碼 、 在 不 同 作 業 系 統 之 上 運 行 或 者 將 資 料 庫 升 級 到 有 專 門 代 碼 可 以 支 持 Unicode 排 序 的 PostgreSQL 8.1 。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
-<h3>¥~³¡Áä(FK)¥H¤Î¥¦ªº¯Á¤Þ</h3>\r
+<h3>外部鍵(FK)以及它的索引</h3>\r
<p>\r
-¥~ ³¡ Áä ³Q ¥Î ¨Ó ¨Ï ¥Î ÅÞ ¿è ¤è ¦¡ Ãö Áp ¨â Ó ¸ê ®Æ ªí¡A ¬I ¥[ µ¹ ¥¦ Ì ¨î ¸ê ®Æ ÅÜ ¤Æ¡C\r
+外 部 鍵 被 用 來 使 用 邏 輯 方 式 關 聯 兩 個 資 料 表, 施 加 給 它 們 限 制 資 料 變 化。\r
</p>\r
<p>\r
-³o ¤@ ¤Á ¶} ©l ©ó ¥D ¸ê ®Æ ªí ¡A ¥¦ §@ ¬° ³Q °Ñ ·Ó ªí¡A »Ý n ¦³ ¤@ Ó ¥D Áä ¡]·í µM¡A ¹ê »Ú ¤W ³Q °Ñ ·Ó ¦C ¥u n «D ªÅ ¨Ã ¥B ¦³ °ß ¤@ ¯Á ¤Þ ¤] ¬O ¥i ¥H ªº¡A ¦ý ¬O ¨Ï ¥Î ¥D Áä ¤´ µM ¬O ¸û ¦n ªº ¤è ¦¡¡^¡C\r
-±q ªí ¨Ì ¿à ©ó ¥D ªí¡A §ó ·s ©M ´¡ ¤J ®É ¾Ö ¦³ ¥~ ³¡ Áä ªº Äæ ¦ì ¸ê ®Æ ¥² ¶· ²Å ¦X ¥D ªí ªº ¸ê ®Æ ¡A ±q ªí ¬O ¥~ ³¡ Áä ªº °Ñ ·Ó ªí ¡C\r
+這 一 切 開 始 於 主 資 料 表 , 它 作 為 被 參 照 表, 需 要 有 一 個 主 鍵 (當 然, 實 際 上 被 參 照 列 只 要 非 空 並 且 有 唯 一 索 引 也 是 可 以 的, 但 是 使 用 主 鍵 仍 然 是 較 好 的 方 式)。\r
+從 表 依 賴 於 主 表, 更 新 和 插 入 時 擁 有 外 部 鍵 的 欄 位 資 料 必 須 符 合 主 表 的 資 料 , 從 表 是 外 部 鍵 的 參 照 表 。\r
</p>\r
<p>\r
-¥~ ³¡ Áä ¤£ ¶È ¨î °Ñ ·Ó ªí ¡A ¤] ¨î ³Q °Ñ ·Ó ªí ¡A ¨î ¤è ¦¡ ¥i ¥H ¬O RESTRICT¡B CASCADE ©Î SET NULL ¡C\r
-³o ·N ¨ý µÛ¡A ·í ³Q °Ñ ·Ó ªí ¸ê ®Æ µo ¥Í ÅÜ ¤Æ ¡]§ó ·s ©Î §R °£¡^ ®É¡A ©Ò ¦³ ªº °Ñ ·Ó ªí ³£ ·| ÀË ¬d ¸ê ®Æ ¬O §_ ¦X ²z ¡A ¥H ¤Î ¬O §_ »Ý n ¨ä ¥L ªþ ¥[ ¾Þ §@¡C\r
-¬d ¾\ PostgreSQL Ãö ©ó ¥~ Áä ªº ¤å ÀÉ ¥i ¥H §ä ¨ì §ó ¦h ²Ó ¸` ¡C\r
+外 部 鍵 不 僅 限 制 參 照 表 , 也 限 制 被 參 照 表 , 限 制 方 式 可 以 是 RESTRICT、 CASCADE 或 SET NULL 。\r
+這 意 味 著, 當 被 參 照 表 資 料 發 生 變 化 (更 新 或 刪 除) 時, 所 有 的 參 照 表 都 會 檢 查 資 料 是 否 合 理 , 以 及 是 否 需 要 其 他 附 加 操 作。\r
+查 閱 PostgreSQL 關 於 外 鍵 的 文 檔 可 以 找 到 更 多 細 節 。\r
\r
</p>\r
<p>\r
-³Q °Ñ ·Ó ªí ªº ¯S ©w ¦æ ¸ê ®Æ µo ¥Í ÅÜ ¤Æ ®É ¡A ©Ò ¦³ ¬Û Ãö ªº °Ñ ·Ó ªí ³£ ·| ¨Ï ¥Î ¥~ Áä ¦r ¬q §@ ¬° ±ø ¥ó °õ ¦æ ¬Û À³ ªº Ū ¾Þ §@ ¡C\r
-¦] ¦¹ ¡A ©Ò ¦³ ´£ °ª Ū ¨ú ®Ä ²v ªº ³] p ì «h ¤] ¾A ¥Î ©ó °Ñ ·Ó ªí ¦r ¬q ¡C ¬° ¤F ¦³ ¨} ¦n ªº °õ ¦æ ®Ä ²v¡A ¤j ¦h ¼Æ ±¡ ªp ¤U «Ø ¥ß ¯Á ¤Þ ¬O ©ú ´¼ ªº ¿ï ¾Ü ¡C\r
-PostgreSQL ¨Ã ¨S ¦³ ±j ¢ ³o ¼Ë °µ¡A »Ý n ¸ê ®Æ ®w ³] p ¤H û ¨Ó ´£ ¨Ñ ¦X ²z ªº ¯Á ¤Þ ¡C\r
+被 參 照 表 的 特 定 行 資 料 發 生 變 化 時 , 所 有 相 關 的 參 照 表 都 會 使 用 外 鍵 字 段 作 為 條 件 執 行 相 應 的 讀 操 作 。\r
+因 此 , 所 有 提 高 讀 取 效 率 的 設 計 原 則 也 適 用 於 參 照 表 字 段 。 為 了 有 良 好 的 執 行 效 率, 大 多 數 情 況 下 建 立 索 引 是 明 智 的 選 擇 。\r
+PostgreSQL 並 沒 有 強 迫 這 樣 做, 需 要 資 料 庫 設 計 人 員 來 提 供 合 理 的 索 引 。\r
</p>\r
<p>\r
-¬° ¤F ¤è «K ¡A pgAdmin III ¦b ³Ð «Ø ¥~ ³¡ Áä ®É ´£ ¨Ñ ¤@ Ó Â² «K ªº checkbox ¡A ¦Û °Ê ÀË ¬d ¬O §_ ¦³ ¦X ²z ªº ¯Á ¤Þ ¦s ¦b ¡A ¦p ªG ¨S ¦³ «h «Ø ¥ß ¤@ Ó ¡C\r
-¦p ¦P ©Ò ¦³ ¨ä ¥¦ ¯Á ¤Þ ¤@ ¼Ë ¡A ¦³ ·¥ ¤Ö ¼Æ ªº ±¡ ªp ¤Ï ¦Ó ° §C Á` Åé °õ ¦æ ®Ä ²v ¡A Á` ±o ¨Ó »¡ ¡A ¯Á ¤Þ ¤Ó ¤Ö ¤ñ ¯Á ¤Þ ¤Ó ¦h ¹ï ©Ê ¯à ªº ¼v ÅT §ó ¤j ¡C\r
+為 了 方 便 , pgAdmin III 在 創 建 外 部 鍵 時 提 供 一 個 簡 便 的 checkbox , 自 動 檢 查 是 否 有 合 理 的 索 引 存 在 , 如 果 沒 有 則 建 立 一 個 。\r
+如 同 所 有 其 它 索 引 一 樣 , 有 極 少 數 的 情 況 反 而 降 低 總 體 執 行 效 率 , 總 得 來 說 , 索 引 太 少 比 索 引 太 多 對 性 能 的 影 響 更 大 。\r
</p>\r
</body></html>\r
<html><head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title></head>\r
\r
-<h3>¦øªA¾¹«ü¥O</h3>\r
+<h3>伺服器指令</h3>\r
<p>\r
-¦ø ªA ¾¹ ¯Ê ¥F «ü ¥O ¨ç ¼Æ¡C\r
+伺 服 器 缺 乏 指 令 函 數。\r
</p>\r
<p>\r
-pgAdmin III ¨Ï ¥Î ªº ¤@ ¨Ç ¤ä «ù ¨ç ¼Æ ¤£ ¬O ¦b ©Ò ¦³ PostgreSQL ª© ¥» ¤W ¹w ³] ¦³ ®Ä¡A\r
-³o ¨Ç ¨ç ¼Æ ¨Ï ¤@ ¨Ç ½Ñ ¦p ³B ²z ¤é »x ¤å ¥ó ©M °t ¸m ¤å ¥ó ªº ¤u §@ ÅÜ ±o §ó ¥[ ² ³æ¡C\r
+pgAdmin III 使 用 的 一 些 支 持 函 數 不 是 在 所 有 PostgreSQL 版 本 上 預 設 有 效,\r
+這 些 函 數 使 一 些 諸 如 處 理 日 誌 文 件 和 配 置 文 件 的 工 作 變 得 更 加 簡 單。\r
</p>\r
<p>\r
\r
-·í ¨Ï ¥Î Windows ¦w ¸Ë µ{ §Ç ¦w ¸Ë PostgreSQL 8.0 ©Î ªÌ §ó °ª ª© ¥» ®É¡A ¶È ¶È »Ý n ¿ï ¤¤ ¡uadmin¡v ©Î ªÌ ¡udminpack¡v ¼Ò ²Õ¡C\r
+當 使 用 Windows 安 裝 程 序 安 裝 PostgreSQL 8.0 或 者 更 高 版 本 時, 僅 僅 需 要 選 中 「admin」 或 者 「dminpack」 模 組。\r
</p>\r
<p>\r
-·í ±q ·½ ¥N ½X ¤¤ ½s Ķ ®É¡A ¥² n ªº ¤å ¥ó ¥i ¥H ¦b ·½ ¥N ½X ¾ð ªº xtra ¤l ¥Ø ¿ý ¤¤ §ä ¨ì¡C\r
-¹ï ©ó PostgreSQL 8.0¡A ±N admin ¥Ø ¿ý «þ ¨© ¨ì postgresql ·½ ¥N ½X ªº contrib ¥Ø ¿ý ¤¤¡A ±q ³o ¸Ì ½s Ķ ©M ¦w ¸Ë ¥¦¡C\r
-¹ï ©ó PostgreSQL 8.1¡A ¨Ï ¥Î admin81 ¥Ø ¿ý¡C\r
+當 從 源 代 碼 中 編 譯 時, 必 要 的 文 件 可 以 在 源 代 碼 樹 的 xtra 子 目 錄 中 找 到。\r
+對 於 PostgreSQL 8.0, 將 admin 目 錄 拷 貝 到 postgresql 源 代 碼 的 contrib 目 錄 中, 從 這 裡 編 譯 和 安 裝 它。\r
+對 於 PostgreSQL 8.1, 使 用 admin81 目 錄。\r
</p><p>\r
-PostgreSQL 8.2 ¥H ¤Î §ó °ª ª© ¥» ¦b ¡uadminpack¡v ¼Ò ²Õ ¤¤ ¥] §t «ü ¥O ¨ç ¼Æ¡C\r
+PostgreSQL 8.2 以 及 更 高 版 本 在 「adminpack」 模 組 中 包 含 指 令 函 數。\r
</p>\r
<p>\r
-¦b ¼Ò ²Õ ¦w ¸Ë ¤§ «á¡A ¥² ¶· ¨Ï ¥Î admin.sql ½Z ¥» ¡]¹ï ©ó PostgreSQL 8.1 ¬O admin81.sql¡^ ¦b ©Ò n ºû Å@ ªº ¸ê ®Æ ®w ¤¤ ³Ð «Ø «ü ¥O ¨ç ¼Æ¡A\r
-³o ¨Ç ½Z ¥» ¤å ¥ó ³q ±` ¥i ¥H ¦b pgsql ªº ¦@ ¨É ¥Ø ¿ý ¡]¨Ò ¦p /usr/local/pgsql/share¡^ ¤¤ §ä ¨ì¡C\r
+在 模 組 安 裝 之 後, 必 須 使 用 admin.sql 稿 本 (對 於 PostgreSQL 8.1 是 admin81.sql) 在 所 要 維 護 的 資 料 庫 中 創 建 指 令 函 數,\r
+這 些 稿 本 文 件 通 常 可 以 在 pgsql 的 共 享 目 錄 (例 如 /usr/local/pgsql/share) 中 找 到。\r
</p>\r
<p>\r
-ÂX ®i ¦ø ªA ¾¹ «ü ¥O ¦b PostgreSQL 7.3 ©M 7.4 ¤¤ ¨S ¦³ ³Q ¤ä «ù¡C\r
+擴 展 伺 服 器 指 令 在 PostgreSQL 7.3 和 7.4 中 沒 有 被 支 持。\r
</p>\r
-</body></html>
\ No newline at end of file
+</body></html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
<body>\r
<p>\r
-pgAdmin III µo ²{ ·í «e ª« ¥ó ¦³ ¦h Ó «Ø ij¡C</p>\r
+pgAdmin III 發 現 當 前 物 件 有 多 個 建 議。</p>\r
</body>\r
</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>½s¿èµøÆ[ªí¡B¹wÀxµ{§Ç©ÎªÌ¨ç¼Æ</h3>\r
+<h3>編輯視觀表、預儲程序或者函數</h3>\r
<p>\r
-·í ½s ¿è µø Æ[ ªí¡B ¹w Àx µ{ §Ç ©Î ªÌ ¨ç ¼Æ ªº ¥N ½X ®É¡A ¤£ ¨Ï ¥Î ¦b ©ó ª« ¥ó ÄÝ ©Ê ¹ï ¸Ü ®Ø ¤W ªº ¤p ¤å ¥» ®Ø¡A ¦Ó ¬O ¨Ï ¥Î pgAdmin ªº ½Z ¥» ¿ï ¶µ ¦b ¬d ¸ß ¤u ¨ã ¤¤ ½s ¿è ¥¦¡C ¬d ¸ß ¤u ¨ã ªº ½s ¿è ¾¹ ¨ã ¦³ ¦Û °Ê §¹ ¦¨¡B ¬d §ä ´À ¥N ¥\ ¯à ¥H ¤Î §ó ¤j ªº ¤u §@ ªÅ ¶¡¡A ³o ¼Ë ¥i ¯à ·| §ó ¥[ ¤è «K¡C</p>\r
+當 編 輯 視 觀 表、 預 儲 程 序 或 者 函 數 的 代 碼 時, 不 使 用 在 於 物 件 屬 性 對 話 框 上 的 小 文 本 框, 而 是 使 用 pgAdmin 的 稿 本 選 項 在 查 詢 工 具 中 編 輯 它。 查 詢 工 具 的 編 輯 器 具 有 自 動 完 成、 查 找 替 代 功 能 以 及 更 大 的 工 作 空 間, 這 樣 可 能 會 更 加 方 便。</p>\r
\r
<p>\r
-¥i ¥H ³q ¹L ¦b pgAdmin ªº ¾É Äý µ¡ ¤f §Æ ±æ ½s ¿è ªº ª« ¥ó ¤W ÂI À» ¥k Áä¡A\r
-µM «á ¿ï ¾Ü ¡u³Ð «Ø ¸} ¥»¡v µæ ³æ¡A ¨Ó ¨Ï ¥Î ½Z ¥» ¿ï ¶µ¡C ¦³ ®É ¥i ¯à ¥X ²{ ¡u½Z ¥»¡v ¤l ¿ï ³æ¡A\r
-¨º »ò ³o ®É Ô ¥i ¥H ¿ï ¤¤ ª« ¥ó¡A µM «á ¦b ¡u¤u ¨ã¡v ¿ï ³æ ªº ¡u½Z ¥»¡v ¤l ¿ï ³æ ¤¤ ¿ï ¾Ü ¡u³Ð «Ø ½Z ¥»¡v¡C</p>\r
+可 以 通 過 在 pgAdmin 的 導 覽 窗 口 希 望 編 輯 的 物 件 上 點 擊 右 鍵,\r
+然 後 選 擇 「創 建 腳 本」 菜 單, 來 使 用 稿 本 選 項。 有 時 可 能 出 現 「稿 本」 子 選 單,\r
+那 麼 這 時 候 可 以 選 中 物 件, 然 後 在 「工 具」 選 單 的 「稿 本」 子 選 單 中 選 擇 「創 建 稿 本」。</p>\r
\r
<p>\r
-½s ¿è ª« ¥ó »Ý n ÅÜ §ó ªº ©w ¸q¡A µM «á ¨Ï ¥Î ¡u°õ ¦æ ¬d ¸ß¡v «ö ¶s ´£ ¥æ¡C\r
-¤£ n §Ñ °O¡A × §ï µø Æ[ ªí ©Î ¨ç ¼Æ ªº ¦W ¦r ¡A ©Î ªÌ × §ï ¨ç ¼Æ ©Î ¹w Àx µ{ §Ç ªº ñ ¦W ¡A\r
-·| ¦b ì ¥ý ª« ¥ó ªº ®Ç Ãä «Ø ¥ß ¤@ Ó ·s ª« ¥ó¡A ³o ¹ï ©ó «Ø ¥ß ¤@ Ó ·s ªº ¬Û ¦ü ª« ¥ó ±N ¬O ¤Q ¤À ¤è «K ªº ¡C µM «á »Ý n ¨ê ·s pgAdmin ¾É Äý ¾¹ Åã ¥Ü ·s «Ø ª« ¥ó ¡C\r
+編 輯 物 件 需 要 變 更 的 定 義, 然 後 使 用 「執 行 查 詢」 按 鈕 提 交。\r
+不 要 忘 記, 修 改 視 觀 表 或 函 數 的 名 字 , 或 者 修 改 函 數 或 預 儲 程 序 的 簽 名 ,\r
+會 在 原 先 物 件 的 旁 邊 建 立 一 個 新 物 件, 這 對 於 建 立 一 個 新 的 相 似 物 件 將 是 十 分 方 便 的 。 然 後 需 要 刷 新 pgAdmin 導 覽 器 顯 示 新 建 物 件 。\r
</p>\r
\r
<p>\r
-¥i ¥H §Q ¥Î ³o Ó ¤â ¬q °õ ¦æ ¤£ ¦P ª« ¥ó ¤W ªº ¦U ºØ ¾Þ §@¡A\r
-µM ¦Ó PostgreSQL ªº <i>CREATE OR REPLACE</i> »y ªk ¹ï ©ó ½s ¿è µø Æ[ ªí¡B ¹w Àx µ{ §Ç ©M ¨ç ¼Æ ªº ©w ¸q ¤´ µM ¯S §O ¦³ ¥Î¡C\r
+可 以 利 用 這 個 手 段 執 行 不 同 物 件 上 的 各 種 操 作,\r
+然 而 PostgreSQL 的 <i>CREATE OR REPLACE</i> 語 法 對 於 編 輯 視 觀 表、 預 儲 程 序 和 函 數 的 定 義 仍 然 特 別 有 用。\r
</p>\r
\r
</body>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
\r
-<h3>¥DÁä(PK)</h3>\r
+<h3>主鍵(PK)</h3>\r
<p>\r
-·í ³] p ¸ê ®Æ ªí ªº ®É Ô¡A ¥² ¶· ®É ¨è Ãö ª` ¤µ «á ¦p ¦ó ¦b ªí ¤¤ ©w ¦ì ¸ê ®Æ ¤j ¦h ¼Æ ±¡ ªp ¤U¡A »Ý n ¥Î ¤@ Ó ¼Ð ÃÑ ²Å °ß ¤@ ©Ê ¦a ©w ¦ì ¤@ ¦æ ¸ê ®Æ¡A ³o Ó ¼Ð ÃÑ ²Å À³ ¸Ó §@ ¬° ¥D Áä ³B ²z¡C ¥D Áä ¤£ ¥² ¥u ¥] §t ³æ ¤@ ªº Äæ ¦ì¡A ¥i ¥H ¥] §t ¦h Ó ¥² »Ý Äæ ¦ì ¥Î ¨Ó ¼Ð ÃÑ ¬Y ¦æ ¸ê ®Æ¡C ¦p ªG »Ý n ¥Î ¦h Ó Äæ ¦ì ¡]®Ú ¾Ú ¸g Åç ¡G ¤j ©ó 3¡^ «Ø ¥ß ¥D Áä¡A ¼W ¥[ ¤@ Ó ±Ä ¥Î §ó ¥[ ¤è «K Ãþ «¬ ¡]¤ñ ¦p ¡G serial ©Î ªÌ bigserial¡^ ªº Äæ ¦ì §@ ¬° ¥D Áä ¥i ¯à ¬O Ó ¦n ¥D ·N¡C</p>\r
+當 設 計 資 料 表 的 時 候, 必 須 時 刻 關 注 今 後 如 何 在 表 中 定 位 資 料 大 多 數 情 況 下, 需 要 用 一 個 標 識 符 唯 一 性 地 定 位 一 行 資 料, 這 個 標 識 符 應 該 作 為 主 鍵 處 理。 主 鍵 不 必 只 包 含 單 一 的 欄 位, 可 以 包 含 多 個 必 需 欄 位 用 來 標 識 某 行 資 料。 如 果 需 要 用 多 個 欄 位 (根 據 經 驗 : 大 於 3) 建 立 主 鍵, 增 加 一 個 採 用 更 加 方 便 類 型 (比 如 : serial 或 者 bigserial) 的 欄 位 作 為 主 鍵 可 能 是 個 好 主 意。</p>\r
<p>\r
-¥u ¦³ ·¥ ¤Ö ¼Æ ±¡ ªp ¤U¡A ¥D Áä ¤~ ¬O µL Ãö ºò n ªº¡C ³o ·N ¨ý µÛ¡G ¤@ Ó ¿ò ¥¢ ªº ¥D Áä ±j ¯P ·t ¥Ü µÛ ³o Ó ¸ê ®Æ ªí ¨S ¦³ §¹ ¥þ ³] p §¹ ²¦¡C ³o ¤] ¬O ¬° ¤° »ò Guru Hint ·| ¦b ³Ð «Ø ¨S ¦³ ¥D Áä ªº ªí ®É ´£ ¥Ü §A ªº ì ¦]¡C</p>\r
+只 有 極 少 數 情 況 下, 主 鍵 才 是 無 關 緊 要 的。 這 意 味 著: 一 個 遺 失 的 主 鍵 強 烈 暗 示 著 這 個 資 料 表 沒 有 完 全 設 計 完 畢。 這 也 是 為 什 麼 Guru Hint 會 在 創 建 沒 有 主 鍵 的 表 時 提 示 你 的 原 因。</p>\r
<p>\r
\r
-¦p ªG §A ¬d ¬Ý PostgreSQL ªº ¨t ²Î ªí¡A ·| µo ²{ ¥¦ Ì ³£ ¨S ¦³ ¥D Áä¡A ¬° ¤° »ò ·| ³o ¼Ë¡H ¹ê »Ú ¤W¡A ©Ò ¦³ ³o ¨Ç ªí ³£ ¦³ ¤@ Ó ©Î ªÌ ¨â Ó ¤£ ¤¹ ³\ ¬° 0¡B ¯à °÷ ³Q ¯Á ¤Þ §Ö ³t ³X °Ý¡B ¯à °÷ °ß ¤@ ¼Ð ÃÑ ¨C ¤@ ¦æ ªº Äæ ¦ì ¡]³q ±` ¥u ¦³ OID¡^¡A ¿í ´` ¥D Áä ªº ²Ä ¤G Ó ì «h ¡C ¦b ³o ¸Ì ¨Ï ¥Î OID ¦³ ¾ú ¥v ©Ê ì ¦]¡A ¥¦ ¤£ ¬O ³] p ¥Î ¤á ªí ªº ²Ä ¤@ ¿ï ¾Ü ¡C Áö µM ¦³ Åã ¦¡ ¥D Áä ³o ºØ §ó ·s §ó ¦X ¾A ªº ¤è ¦¡¡APostgreSQL ¬° ¤F «O «ù ¨} ¦n ªº ¦V «á Ý ®e ©Ê ¤´ µM ¨Ï ¥Î  ªº ¤è ¦¡¡C</p>\r
+如 果 你 查 看 PostgreSQL 的 系 統 表, 會 發 現 它 們 都 沒 有 主 鍵, 為 什 麼 會 這 樣? 實 際 上, 所 有 這 些 表 都 有 一 個 或 者 兩 個 不 允 許 為 0、 能 夠 被 索 引 快 速 訪 問、 能 夠 唯 一 標 識 每 一 行 的 欄 位 (通 常 只 有 OID), 遵 循 主 鍵 的 第 二 個 原 則 。 在 這 裡 使 用 OID 有 歷 史 性 原 因, 它 不 是 設 計 用 戶 表 的 第 一 選 擇 。 雖 然 有 顯 式 主 鍵 這 種 更 新 更 合 適 的 方 式,PostgreSQL 為 了 保 持 良 好 的 向 後 兼 容 性 仍 然 使 用 舊 的 方 式。</p>\r
<p>\r
-¥¿ ¦p ¨t ²Î ªí ªº ¨Ò ¤l ©Ò ¥Ü¡A §Ö ³t ³X °Ý ©M «O «ù °ß ¤@ ©Ê ªº ¥Ø ¼Ð ¥i ¥H ³q ¹L ¨ä ¥L ¤è ¦¡ ¹F ¨ì¡A ¦Ó ¤£ ¬O ±Ä ¥Î ¥D Áä¡C ¦ý ¬O¡A ¬° ¤F ¨Ï ¸ê ®Æ ¼Ò «¬ §ó ¥[ ²M ´·¡A §Ú Ì ¤´ µM ±j ¯P ±À ÂË ¨Ï ¥Î ¥D Áä ¨Ó ¹F ¦¨ ³o ¤@ ¥Ø ¼Ð¡C</p>\r
+正 如 系 統 表 的 例 子 所 示, 快 速 訪 問 和 保 持 唯 一 性 的 目 標 可 以 通 過 其 他 方 式 達 到, 而 不 是 採 用 主 鍵。 但 是, 為 了 使 資 料 模 型 更 加 清 晰, 我 們 仍 然 強 烈 推 薦 使 用 主 鍵 來 達 成 這 一 目 標。</p>\r
</body>\r
</html>\r
<html>\r
<head>\r
\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
-<h3>«O¦s±K½X</h3>\r
+<h3>保存密碼</h3>\r
<p>\r
-<b>ĵ §i¡G</b> ±z ¤w ¸g ¿ï ¾Ü ¤F «O ¦s ±K ½X¡A ¦b *nix ¤U ¥¦ ±N ³Q «O ¦s ¦b /home ¥Ø ¿ý ªº ¯Â ¤å ¥» ¤å ¥ó ¤¤¡A ¦Ó ¦b Windows ¨t ²Î ¤U ¥¦ ±N ³Q «O ¦s ¦b ¨Ï ¥Î ªÌ ªº °t ¸m ¤å ¥ó ¤¤¡C ¦p ªG ±z ¤£ ·Q ³o »ò °µ¡A ½Ð ÂI À» [¨ú ®ø] «ö ¶s¡C</p>\r
+<b>警 告:</b> 您 已 經 選 擇 了 保 存 密 碼, 在 *nix 下 它 將 被 保 存 在 /home 目 錄 的 純 文 本 文 件 中, 而 在 Windows 系 統 下 它 將 被 保 存 在 使 用 者 的 配 置 文 件 中。 如 果 您 不 想 這 麼 做, 請 點 擊 [取 消] 按 鈕。</p>\r
<p>\r
-pgAdmin ¨Ï ¥Î PostgreSQL ªº 'pgpass' ¾÷ ¨î «O ¦s ±K ½X¡C ¦b *nix ¨t ²Î ¤U¡A ±K ½X ±N ³Q «O ¦s ¦b <i>~/.pgpass</i> ¤å ¥ó ¤¤¡F ¦Ó ¦b Windows ¨t ²Î ¤U¡A ¥¦ ±N ³Q «O ¦s ¦b <i>%APPDATA%\PostgreSQL\pgpass.conf</i> ¤å ¥ó ¤¤ ¡]%APPDATA% ¬O ¦ì ©ó ¨Ï ¥Î ªÌ °t ¸m ¤å ¥ó ¤§ ¤º ªº 'Application Data' ¤å ¥ó §¨¡^¡C ³o Ó ¾÷ ¨î ³Q ¥Î ¨Ó §@ ¬° ¨Ï ¥Î libpg ®w ³s ±µ ¸ê ®Æ ®w ¦ø ªA ¾¹ ªº ©Ò ¦³ µ{ §Ç ªº ¹w ³] ¾÷ ¨î¡A ¥] ¬A ©R ¥O ¦æ µ{ §Ç¡]¨Ò ¦p pg_dump ©M pg_restore¡^¡B ¨ä ¥L GUI µ{ §Ç¡B ÅX °Ê µ{ §Ç ¡]¨Ò ¦p ¡G psqlODBC¡^¡C ³o ·N ¨ý µÛ ³o ¨Ç µ{ §Ç ³£ ¥i ¥H ¨Ï ¥Î ³o Ó «O ¦s ªº ±K ½X ¦Û °Ê ³s ±µ ¨ì ¸ê ®Æ ®w¡A ¦p ªG §A ¤£ ·Q ³o ¼Ë °µ¡A ¤£ n ¨Ï ¥Î pgAdmin ªº <i>Store Password</i> ªº ¿ï ¶µ¡C</p>\r
+pgAdmin 使 用 PostgreSQL 的 'pgpass' 機 制 保 存 密 碼。 在 *nix 系 統 下, 密 碼 將 被 保 存 在 <i>~/.pgpass</i> 文 件 中; 而 在 Windows 系 統 下, 它 將 被 保 存 在 <i>%APPDATA%\PostgreSQL\pgpass.conf</i> 文 件 中 (%APPDATA% 是 位 於 使 用 者 配 置 文 件 之 內 的 'Application Data' 文 件 夾)。 這 個 機 制 被 用 來 作 為 使 用 libpg 庫 連 接 資 料 庫 伺 服 器 的 所 有 程 序 的 預 設 機 制, 包 括 命 令 行 程 序(例 如 pg_dump 和 pg_restore)、 其 他 GUI 程 序、 驅 動 程 序 (例 如 : psqlODBC)。 這 意 味 著 這 些 程 序 都 可 以 使 用 這 個 保 存 的 密 碼 自 動 連 接 到 資 料 庫, 如 果 你 不 想 這 樣 做, 不 要 使 用 pgAdmin 的 <i>Store Password</i> 的 選 項。</p>\r
\r
</body>\r
-</html>
\ No newline at end of file
+</html>\r
<html>\r
\r
<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">\r
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">\r
<title>Guru Hints</title>\r
</head>\r
\r
<body>\r
-<h3>±ÀÂ˹B¦æ VACUUM</h3>\r
+<h3>推薦運行 VACUUM</h3>\r
<p>\r
-"<info>" ¤¤ ªº ¹w ´ú ¦æ ¼Æ ¤w ¸g ÄY « °¾ Â÷ ¹ê »Ú ¦æ ¼Æ¡A À³ ¸Ó ¦b ³o Ó ¸ê ®Æ ªí ¤W ¹B ¦æ VACUUM ANALYZE¡C\r
+"<info>" 中 的 預 測 行 數 已 經 嚴 重 偏 離 實 際 行 數, 應 該 在 這 個 資 料 表 上 運 行 VACUUM ANALYZE。\r
</info></p><p>\r
-°£ ¤F ¤â °Ê ¹B ¦æ VACUUM ANALYZE ©R ¥O ¡] ¤] ¥i ¥H §Q ¥Î pgAdmin III ªº ¡uºû Å@¡v ¿ï ³æ ¨Ó °µ ¡^ ¤§ ¥~¡A\r
-ÁÙ À³ ¸Ó ¦Ò ¼{ ©w ´Á ¦³ ³W «ß ©Î ªÌ ¦Û °Ê ¦a ¹B ¦æ VACUUM ANALYZE¡C¨Ï ¥Î ±Æ µ{ µ{ §Ç ¥i ¥H °µ ¨ì ³o ¤@ ÂI¡A\r
-¥t ¥~ PostgreSQL ¤] ´£ ¨Ñ ¤F ¤@ Ó ¥s °µ pg_autovacuum ªº «á ºÝ µ{ §Ç¡A\r
-¯à °÷ ¸ò ÂÜ ¸ê ®Æ ®w ªº ÅÜ ¤Æ ¨Ã ¦b ¾A ·í ®É ¨è ¦Û °Ê ½Õ ¥Î vacuum ©R ¥O¡C\r
-¦b ¤j ¦h ¼Æ ±¡ ªp ¤U¡A pg_autovacuum ¬O ³Ì ¦n ªº ¿ï ¾Ü¡C\r
+除 了 手 動 運 行 VACUUM ANALYZE 命 令 ( 也 可 以 利 用 pgAdmin III 的 「維 護」 選 單 來 做 ) 之 外,\r
+還 應 該 考 慮 定 期 有 規 律 或 者 自 動 地 運 行 VACUUM ANALYZE。使 用 排 程 程 序 可 以 做 到 這 一 點,\r
+另 外 PostgreSQL 也 提 供 了 一 個 叫 做 pg_autovacuum 的 後 端 程 序,\r
+能 夠 跟 蹤 資 料 庫 的 變 化 並 在 適 當 時 刻 自 動 調 用 vacuum 命 令。\r
+在 大 多 數 情 況 下, pg_autovacuum 是 最 好 的 選 擇。\r
</p><p><br><br></p>\r
-<b>VACUUM ¦³¤°»ò¦n³B¡H</b>\r
+<b>VACUUM 有什麼好處?</b>\r
\r
<p>\r
-PostgreSQL ªº ¬d ¸ß p ¹º ®Ú ¾Ú ¹w ´ú ¦æ ¼Æ °µ ¥X ¨M ©w¡A ¦p ªG ¹ê »Ú ¦æ ¼Æ »P ¹w ´ú ¦æ ¼Æ ¦³ ¤Ó ¤j ®t ²§¡A\r
-¥i ¯à ·| §@ ¥X ¿ù »~ §P Â_¡A ³y ¦¨ ¬d ¸ß p ¹º ¤£ ¬O ³Ì Àu ¤Æ ªº ¡A ¾É P °õ ¦æ ®Ä ²v ¹L §C ¡C\r
+PostgreSQL 的 查 詢 計 劃 根 據 預 測 行 數 做 出 決 定, 如 果 實 際 行 數 與 預 測 行 數 有 太 大 差 異,\r
+可 能 會 作 出 錯 誤 判 斷, 造 成 查 詢 計 劃 不 是 最 優 化 的 , 導 致 執 行 效 率 過 低 。\r
</p><p>\r
-PostgreSQL ¸ê ®Æ ®w »Ý n VACUUM × ´_ ªí ¤¤ ªº ¨Æ °È ¥æ ©ö ID¡C\r
-¥t ¥~¡A ¥Ñ ©ó §ó ·s ©M §R °£ ¾Þ §@ ¦Ó ²£ ¥Í ªº ¹L ®É ¸ê ®Æ ª½ ¨ì ¦b ³o Ó ªí ¤W ¹B ¦æ VACUUM ©R ¥O ¤~ ·| ³Q ²M ²z¡C\r
-«ö ¤U À° §U «ö ¶s¡A ¥i ¥H ±q ½u ¤W ¤å ÀÉ ¤¤ ¬Ý ¨ì §ó ¸Ô ²Ó ¸ê °T¡C\r
+PostgreSQL 資 料 庫 需 要 VACUUM 修 復 表 中 的 事 務 交 易 ID。\r
+另 外, 由 於 更 新 和 刪 除 操 作 而 產 生 的 過 時 資 料 直 到 在 這 個 表 上 運 行 VACUUM 命 令 才 會 被 清 理。\r
+按 下 幫 助 按 鈕, 可 以 從 線 上 文 檔 中 看 到 更 詳 細 資 訊。\r
</p>\r
</body>\r
</html>\r
<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="STYLESHEET" type="text/css" href="../pgadmin3.css">
<title>Guru Hints</title>
</head>
<body>
-<h3>½s¿è¨S¦³¥DÁä(PK)ªºªí¸ê®Æ</h3>
+<h3>編輯沒有主鍵(PK)的表資料</h3>
<p>
-ªí <info> ¨S ¦³ ¥D Áä ©Î ªÌ OID Äæ ¦ì ¡A ¥u ¯à ¬d ¬Ý ¸ê ®Æ¡C
-¦b ¨S ¦³ ¥D Áä ªº ±¡ ªp ¤U ¤£ ¯à ¨Ï ¥Î ¸ê ®Æ ½s ¿è ¤u ¨ã ´¡ ¤J ·s ¸ê ®Æ ¦æ ©M × §ï ¤w ¸g ¦s ¦b ªº ¸ê ®Æ¡C
+表 <info> 沒 有 主 鍵 或 者 OID 欄 位 , 只 能 查 看 資 料。
+在 沒 有 主 鍵 的 情 況 下 不 能 使 用 資 料 編 輯 工 具 插 入 新 資 料 行 和 修 改 已 經 存 在 的 資 料。
</info></p>
<p>
-¬° ¤F ½s ¿è ¸ê ®Æ¡ApgAdmin III n ¨D ¸ê ®Æ ªí ¨ã ¦³ ¥D Áä¡A³o ¤] ¬O ¤@ Ó ¦n ªº ¸ê ®Æ ®w ³] p ²ß ºD¡C
-¥t ¥~ ÁÙ ¦³ ¤@ ºØ ´À ¥N ¤è ¦¡¡G ¨Ï ¥Î OID Äæ ¦ì ³Ð «Ø ¸ê ®Æ ªí¡C ½Ð ª` ·N OID ¦b ¸g ¹L «Ü ªø ¤@ ¬q ®É ¶¡ ¤§ «á <b>¤£ ¯à</b> «O ÃÒ ÁÙ ¬O °ß ¤@ ªº¡C
-¦] ¦¹ ¨Ï ¥Î OID §@ ¬° ¥D Áä ¶È ¶È ¬O ²Ä ¤G ¿ï ¾Ü¡C
+為 了 編 輯 資 料,pgAdmin III 要 求 資 料 表 具 有 主 鍵,這 也 是 一 個 好 的 資 料 庫 設 計 習 慣。
+另 外 還 有 一 種 替 代 方 式: 使 用 OID 欄 位 創 建 資 料 表。 請 注 意 OID 在 經 過 很 長 一 段 時 間 之 後 <b>不 能</b> 保 證 還 是 唯 一 的。
+因 此 使 用 OID 作 為 主 鍵 僅 僅 是 第 二 選 擇。
</p>
</body>
</html>