Реклама:

info.krc.karelia.ru

win -:|:- koi -:|:- iso -:|:- dos -:|:- mac

Start -:|:- Проекты -:|:- О нас

PostgreSQL

The PostgreSQL Development Team

Edited by

Thomas Lockhart

PostgreSQL
is Copyright © 1996-9 by the Postgres Global Development Group.


Table of Contents
Summary
I. User's Guide
1. SQL Syntax
Key Words
Expressions
2. Data Types
Numeric Types
Monetary Type
Character Types
Date/Time Types
Boolean Type
Geometric Types
IP Version 4 Networks and Host Addresses
3. Operators
Lexical Precedence
General Operators
Numerical Operators
Geometric Operators
Time Interval Operators
IP V4 CIDR Operators
IP V4 INET Operators
4. Functions
SQL Functions
Mathematical Functions
String Functions
Date/Time Functions
Geometric Functions
IP V4 Functions
5. Type Conversion
Overview
Operators
Functions
Query Targets
UNION Queries
6. Indices and Keys
7. Arrays
8. Inheritance
9. Multi-Version Concurrency Control
Introduction
Transaction Isolation
Read Committed Isolation Level
Serializable Isolation Level
Locking and Tables
Locking and Indices
Data consistency checks at the application level
10. Setting Up Your Environment
11. Managing a Database
Database Creation
Alternate Database Locations
Accessing a Database
Destroying a Database
12. Disk Storage
13. SQL Commands
ABORT — Aborts the current transaction
ALTER TABLE — Modifies table properties
ALTER USER — Modifies user account information
BEGIN — Begins a transaction in chained mode
CLOSE — Close a cursor
CLUSTER — Gives storage clustering advice to the backend
COMMIT — Commits the current transaction
COPY — Copies data between files and tables
CREATE AGGREGATE — Defines a new aggregate function
CREATE DATABASE — Creates a new database
CREATE FUNCTION — Defines a new function
CREATE INDEX — Constructs a secondary index
CREATE LANGUAGE — Defines a new language for functions
CREATE OPERATOR — Defines a new user operator
CREATE RULE — Defines a new rule
CREATE SEQUENCE — Creates a new sequence number generator
CREATE TABLE — Creates a new table
CREATE TRIGGER — Creates a new trigger
CREATE TYPE — Defines a new base data type
CREATE USER — Creates account information for a new user
CREATE VIEW — Constructs a virtual table
DECLARE — Defines a cursor for table access
DELETE — Deletes rows from a table
DROP AGGREGATE — Removes the definition of an aggregate function
DROP DATABASE — Destroys an existing database
DROP FUNCTION — Removes a user-defined C function
DROP INDEX — Removes an index from a database
DROP LANGUAGE — Removes a user-defined procedural language
DROP OPERATOR — Removes an operator from the database
DROP RULE — Removes an existing rule from the database
DROP SEQUENCE — Removes an existing sequence
DROP TABLE — Removes existing tables from a database
DROP TRIGGER — Removes the definition of a trigger
DROP TYPE — Removes a user-defined type from the system catalogs
DROP USER — Removes an user account information
DROP VIEW — Removes an existing view from a database
EXPLAIN — Shows statement execution details
FETCH — Gets rows using a cursor
GRANT — Grants access privilege to a user, a group or all users
INSERT — Inserts new rows into a table
LISTEN — Listen for notification on a notify condition
LOAD — Dynamically loads an object file
LOCK — Explicit lock of a table inside a transaction
MOVE — Moves cursor position
NOTIFY — Signals all frontends and backends listening on a notify condition
RESET — Restores run-time parameters for session to default values
REVOKE — Revokes access privilege from a user, a group or all users.
ROLLBACK — Aborts the current transaction
SELECT — Retrieve rows from a table or view.
SET — Set run-time parameters for session
SHOW — Shows run-time parameters for session
UNLISTEN — Stop listening for notification
UPDATE — Replaces values of columns in a table
VACUUM — Clean and analyze a Postgres database
14. Applications
createdb — Create a new Postgres database
createuser — Create a new Postgres user
destroydb — Remove an existing Postgres database
destroyuser — Destroy a Postgres user and associated databases
initdb — Create a new Postgres database installation
initlocation — Create a secondary Postgres database storage area
pgaccessPostgres graphical interactive client
pgadminPostgres graphical interactive client
pg_dump — Extract a Postgres database into a script file
pg_dumpall — Extract all Postgres databases into a script file
postgres — Run a Postgres single-user backend
postmaster — Run the Postgres multi-user backend
psqlPostgres interactive client
vacuumdb — Clean and analyze a Postgres database
II. Administrator's Guide
15. Ports
Currently Supported Platforms
Unsupported Platforms
16. Configuration Options
Parameters for Configuration (configure)
Parameters for Building (make)
Locale Support
Kerberos Authentication
17. System Layout
18. Installation
Requirements to Run Postgres
Installation Procedure
Playing with Postgres
The Next Step
Porting Notes
19. Installation on Win32
Building the libraries
Installing the libraries
Using the libraries
20. Runtime Environment
Using Postgres from Unix
Starting postmaster
Using pg_options
21. Security
User Authentication
User Names and Groups
Access Control
Functions and Rules
22. Adding and Deleting Users
23. Disk Management
Alternate Locations
24. Managing a Database
Creating a Database
Accessing a Database
Destroying a Database
25. Troubleshooting
Postmaster Startup Failures
Client Connection Problems
Debugging Messages
26. Database Recovery
27. Regression Test
Regression Environment
Directory Layout
Regression Test Procedure
Regression Analysis
28. Release Notes
Release 6.5
Release 6.4.2
Release 6.4.1
Release 6.4
Release 6.3.2
Release 6.3.1
Release 6.3
Release 6.2.1
Release 6.2
Release 6.1.1
Release 6.1
Release v6.0
Release v1.09
Release v1.02
Release v1.01
Release v1.0
Postgres95 Beta 0.03
Postgres95 Beta 0.02
Postgres95 Beta 0.01
Timing Results
III. Programmer's Guide
29. Architecture
Postgres Architectural Concepts
30. Extending SQL: An Overview
How Extensibility Works
The Postgres Type System
About the Postgres System Catalogs
31. Extending SQL: Functions
Query Language (SQL) Functions
Programming Language Functions
32. Extending SQL: Types
User-Defined Types
33. Extending SQL: Operators
Operator Optimization Information
34. Extending SQL: Aggregates
35. The Postgres Rule System
What is a Querytree?
Views and the Rule System
Rules on INSERT, UPDATE and DELETE
Rules and Permissions
Rules versus Triggers
36. Interfacing Extensions To Indices
37. GiST Indices
38. Linking Dynamically-Loaded Functions
ULTRIX
DEC OSF/1
SunOS 4.x, Solaris 2.x and HP-UX
39. Triggers
Trigger Creation
Interaction with the Trigger Manager
Visibility of Data Changes
Examples
40. Server Programming Interface
Interface Functions
Interface Support Functions
Memory Management
Visibility of Data Changes
Examples
41. Procedural Languages
Installing Procedural Languages
PL/pgSQL
PL/Tcl
IV. Interfaces
42. Functions
43. Large Objects
Historical Note
Inversion Large Objects
Large Object Interfaces
Built in registered functions
Accessing Large Objects from LIBPQ
Sample Program
44. ecpg - Embedded SQL in C
Why Embedded SQL?
The Concept
How To Use egpc
Limitations
Porting From Other RDBMS Packages
Installation
For the Developer
45. libpq
Database Connection Functions
Query Execution Functions
Asynchronous Query Processing
Fast Path
Asynchronous Notification
Functions Associated with the COPY Command
libpq Tracing Functions
libpq Control Functions
User Authentication Functions
Environment Variables
Caveats
Sample Programs
46. libpq C++ Binding
Control and Initialization
libpq++ Classes
Database Connection Functions
Query Execution Functions
Asynchronous Notification
Functions Associated with the COPY Command
Caveats
47. pgtcl
Commands
Examples
pgtcl Command Reference Information
48. ODBC Interface
Background
Windows Applications
Unix Installation
Configuration Files
ApplixWare
49. JDBC Interface
Building the JDBC Interface
Preparing the Database for JDBC
Using the Driver
Importing JDBC
Loading the Driver
Connecting to the Database
Issuing a Query and Processing the Result
Performing Updates
Closing the Connection
Using Large Objects
Postgres Extensions to the JDBC API
Further Reading
V. Developer's Guide
50. Overview of PostgreSQL Internals
The Path of a Query
How Connections are Established
The Parser Stage
The Postgres Rule System
Planner/Optimizer
Executor
51. pg_options
52. Genetic Query Optimization in Database Systems
Query Handling as a Complex Optimization Problem
Genetic Algorithms (GA)
Genetic Query Optimization (GEQO) in Postgres
Future Implementation Tasks for Postgres GEQO
53. Frontend/Backend Protocol
Overview
Protocol
Message Data Types
Message Formats
54. Postgres Signals
55. gcc Default Optimizations
56. Backend Interface
BKI File Format
General Commands
Macro Commands
Debugging Commands
Example
57. Page Files
Page Structure
Files
Bugs
VI. Tutorial
58. Introduction
What is Postgres?
A Short History of Postgres
About This Release
Resources
Terminology
Notation
Y2K Statement
Copyrights and Trademarks
59. SQL
The Relational Data Model
Relational Data Model Formalities
Operations in the Relational Data Model
The SQL Language
60. Architecture
Postgres Architectural Concepts
61. Getting Started
Setting Up Your Environment
Starting the Interactive Monitor (psql)
Managing a Database
62. The Query Language
Interactive Monitor
Concepts
Creating a New Class
Populating a Class with Instances
Querying a Class
Redirecting SELECT Queries
Joins Between Classes
Updates
Deletions
Using Aggregate Functions
63. Advanced Postgres SQL Features
Inheritance
Non-Atomic Values
Time Travel
More Advanced Features
VII. Appendices
UG1. Date/Time Support
Time Zones
History
DG1. The CVS Repository
CVS Tree Organization
Getting The Source Via Anonymous CVS
Getting The Source Via CVSup
DG2. Documentation
Documentation Roadmap
The Documentation Project
Documentation Sources
Building Documentation
Hardcopy Generation for v6.5
Toolsets
Alternate Toolsets
Bibliography