SQL Key Words

PostgreSQL 7.2 Documentation
Prev |  | Next

# Appendix B. SQL Key Words

Table B-1 lists all tokens that are key words in the SQL standard and in PostgreSQL 7.2. Background information can be found in Section 1.1.1.

SQL distinguishes between reserved and non-reserved key words. According to the standard, reserved key words are the only real key words; they are never allowed as identifiers. Non-reserved key words only have a special meaning in particular contexts and can be used as identifiers in other contexts. Most non-reserved key words are actually the names of built-in tables and functions specified by SQL. The concept of non-reserved key words essentially only exists to declare that some predefined meaning is attached to a word in some contexts.

In the PostgreSQL parser life is a bit more complicated. There are several different classes of tokens ranging from those that can never be used as an identifier to those that have absolutely no special status in the parser as compared to an ordinary identifier. (The latter is usually the case for functions specified by SQL.) Even reserved key words are not completely reserved in PostgreSQL, but can be used as column labels (for example, `SELECT 55 AS CHECK`, even though CHECK is a reserved key word).

In Table B-1 in the column for PostgreSQL we classify as "non-reserved" those key words that are explicitly known to the parser but are allowed in most or all contexts where an identifier is expected. Some key words that are otherwise non-reserved cannot be used as function or data type names and are marked accordingly. (Most of these words represent built-in functions or data types with special syntax. The function or type is still available but it cannot be redefined by the user.) Labeled "reserved" are those tokens that are only allowed as "AS" column label names (and perhaps in very few other contexts). Some reserved key words are allowable as names for functions; this is also shown in the table.

As a general rule, if you get spurious parser errors for commands that contain any of the listed key words as an identifier you should try to quote the identifier to see if the problem goes away.

It is important to understand before studying Table B-1 that the fact that a key word is not reserved in PostgreSQL does not mean that the feature related to the word is not implemented. Conversely, the presence of a key word does not indicate the existence of a feature.

Table B-1. SQL Key Words

Key Word | PostgreSQL | SQL 99 | SQL 92
--- | --- | --- | ---
ABORT | non-reserved |  |
ABS |  | non-reserved |
ABSOLUTE | non-reserved | reserved | reserved
ACCESS | non-reserved |  |
ACTION | non-reserved | reserved | reserved
ADA |  | non-reserved | non-reserved
ADD | non-reserved | reserved | reserved
ADMIN |  | reserved |
AFTER | non-reserved | reserved |
AGGREGATE | non-reserved | reserved |
ALIAS |  | reserved |
ALL | reserved | reserved | reserved
ALLOCATE |  | reserved | reserved
ALTER | non-reserved | reserved | reserved
ANALYSE | reserved |  |
ANALYZE | reserved |  |
AND | reserved | reserved | reserved
ANY | reserved | reserved | reserved
ARE |  | reserved | reserved
ARRAY |  | reserved |
AS | reserved | reserved | reserved
ASC | reserved | reserved | reserved
ASENSITIVE |  | non-reserved |
ASSERTION |  | reserved | reserved
ASSIGNMENT |  | non-reserved |
ASYMMETRIC |  | non-reserved |
AT | non-reserved | reserved | reserved
ATOMIC |  | non-reserved |
AUTHORIZATION | non-reserved | reserved | reserved
AVG |  | non-reserved | reserved
BACKWARD | non-reserved |  |
BEFORE | non-reserved | reserved |
BEGIN | non-reserved | reserved | reserved
BETWEEN | reserved (can be function) | non-reserved | reserved
BINARY | reserved (can be function) | reserved |
BIT | non-reserved (cannot be function or type) | reserved | reserved
BITVAR |  | non-reserved |
BIT_LENGTH |  | non-reserved | reserved
BLOB |  | reserved |
BOOLEAN |  | reserved |
BOTH | reserved | reserved | reserved
BREADTH |  | reserved |
BY | non-reserved | reserved | reserved
C |  | non-reserved | non-reserved
CACHE | non-reserved |  |
CALL |  | reserved |
CALLED |  | non-reserved |
CARDINALITY |  | non-reserved |
CASCADE | non-reserved | reserved | reserved
CASCADED |  | reserved | reserved
CASE | reserved | reserved | reserved
CAST | reserved | reserved | reserved
CATALOG |  | reserved | reserved
CATALOG_NAME |  | non-reserved | non-reserved
CHAIN | non-reserved | non-reserved |
CHAR | non-reserved (cannot be function or type) | reserved | reserved
CHARACTER | non-reserved (cannot be function or type) | reserved | reserved
CHARACTERISTICS | non-reserved |  |
CHARACTER_LENGTH |  | non-reserved | reserved
CHARACTER_SET_CATALOG |  | non-reserved | non-reserved
CHARACTER_SET_NAME |  | non-reserved | non-reserved
CHARACTER_SET_SCHEMA |  | non-reserved | non-reserved
CHAR_LENGTH |  | non-reserved | reserved
CHECK | reserved | reserved | reserved
CHECKED |  | non-reserved |
CHECKPOINT | non-reserved |  |
CLASS |  | reserved |
CLASS_ORIGIN |  | non-reserved | non-reserved
CLOB |  | reserved |
CLOSE | non-reserved | reserved | reserved
CLUSTER | non-reserved |  |
COALESCE | non-reserved (cannot be function or type) | non-reserved | reserved
COBOL |  | non-reserved | non-reserved
COLLATE | reserved | reserved | reserved
COLLATION |  | reserved | reserved
COLLATION_CATALOG |  | non-reserved | non-reserved
COLLATION_NAME |  | non-reserved | non-reserved
COLLATION_SCHEMA |  | non-reserved | non-reserved
COLUMN | reserved | reserved | reserved
COLUMN_NAME |  | non-reserved | non-reserved
COMMAND_FUNCTION |  | non-reserved | non-reserved
COMMAND_FUNCTION_CODE |  | non-reserved |
COMMENT | non-reserved |  |
COMMIT | non-reserved | reserved | reserved
COMMITTED | non-reserved | non-reserved | non-reserved
COMPLETION |  | reserved |
CONDITION_NUMBER |  | non-reserved | non-reserved
CONNECT |  | reserved | reserved
CONNECTION |  | reserved | reserved
CONNECTION_NAME |  | non-reserved | non-reserved
CONSTRAINT | reserved | reserved | reserved
CONSTRAINTS | non-reserved | reserved | reserved
CONSTRAINT_CATALOG |  | non-reserved | non-reserved
CONSTRAINT_NAME |  | non-reserved | non-reserved
CONSTRAINT_SCHEMA |  | non-reserved | non-reserved
CONSTRUCTOR |  | reserved |
CONTAINS |  | non-reserved |
CONTINUE |  | reserved | reserved
CONVERT |  | non-reserved | reserved
COPY | non-reserved |  |
CORRESPONDING |  | reserved | reserved
COUNT |  | non-reserved | reserved
CREATE | non-reserved | reserved | reserved
CREATEDB | non-reserved |  |
CREATEUSER | non-reserved |  |
CROSS | reserved (can be function) | reserved | reserved
CUBE |  | reserved |
CURRENT |  | reserved | reserved
CURRENT_DATE | reserved | reserved | reserved
CURRENT_PATH |  | reserved |
CURRENT_ROLE |  | reserved |
CURRENT_TIME | reserved | reserved | reserved
CURRENT_TIMESTAMP | reserved | reserved | reserved
CURRENT_USER | reserved | reserved | reserved
CURSOR | non-reserved | reserved | reserved
CURSOR_NAME |  | non-reserved | non-reserved
CYCLE | non-reserved | reserved |
DATA |  | reserved | non-reserved
DATABASE | non-reserved |  |
DATE |  | reserved | reserved
DATETIME_INTERVAL_CODE |  | non-reserved | non-reserved
DATETIME_INTERVAL_PRECISION |  | non-reserved | non-reserved
DAY | non-reserved | reserved | reserved
DEALLOCATE |  | reserved | reserved
DEC | non-reserved (cannot be function or type) | reserved | reserved
DECIMAL | non-reserved (cannot be function or type) | reserved | reserved
DECLARE | non-reserved | reserved | reserved
DEFAULT | reserved | reserved | reserved
DEFERRABLE | reserved | reserved | reserved
DEFERRED | non-reserved | reserved | reserved
DEFINED |  | non-reserved |
DEFINER |  | non-reserved |
DELETE | non-reserved | reserved | reserved
DELIMITERS | non-reserved |  |
DEPTH |  | reserved |
DEREF |  | reserved |
DESC | reserved | reserved | reserved
DESCRIBE |  | reserved | reserved
DESCRIPTOR |  | reserved | reserved
DESTROY |  | reserved |
DESTRUCTOR |  | reserved |
DETERMINISTIC |  | reserved |
DIAGNOSTICS |  | reserved | reserved
DICTIONARY |  | reserved |
DISCONNECT |  | reserved | reserved
DISPATCH |  | non-reserved |
DISTINCT | reserved | reserved | reserved
DO | reserved |  |
DOMAIN |  | reserved | reserved
DOUBLE | non-reserved | reserved | reserved
DROP | non-reserved | reserved | reserved
DYNAMIC |  | reserved |
DYNAMIC_FUNCTION |  | non-reserved | non-reserved
DYNAMIC_FUNCTION_CODE |  | non-reserved |
EACH | non-reserved | reserved |
ELSE | reserved | reserved | reserved
ENCODING | non-reserved |  |
ENCRYPTED | non-reserved |  |
END | reserved | reserved | reserved
END-EXEC |  | reserved | reserved
EQUALS |  | reserved |
ESCAPE | non-reserved | reserved | reserved
EVERY |  | reserved |
EXCEPT | reserved | reserved | reserved
EXCEPTION |  | reserved | reserved
EXCLUSIVE | non-reserved |  |
EXEC |  | reserved | reserved
EXECUTE | non-reserved | reserved | reserved
EXISTING |  | non-reserved |
EXISTS | non-reserved (cannot be function or type) | non-reserved | reserved
EXPLAIN | non-reserved |  |
EXTERNAL |  | reserved | reserved
EXTRACT | non-reserved (cannot be function or type) | non-reserved | reserved
FALSE | reserved | reserved | reserved
FETCH | non-reserved | reserved | reserved
FINAL |  | non-reserved |
FIRST |  | reserved | reserved
FLOAT | non-reserved (cannot be function or type) | reserved | reserved
FOR | reserved | reserved | reserved
FORCE | non-reserved |  |
FOREIGN | reserved | reserved | reserved
FORTRAN |  | non-reserved | non-reserved
FORWARD | non-reserved |  |
FOUND |  | reserved | reserved
FREE |  | reserved |
FREEZE | reserved (can be function) |  |
FROM | reserved | reserved | reserved
FULL | reserved (can be function) | reserved | reserved
FUNCTION | non-reserved | reserved |
G |  | non-reserved |
GENERAL |  | reserved |
GENERATED |  | non-reserved |
GET |  | reserved | reserved
GLOBAL | non-reserved | reserved | reserved
GO |  | reserved | reserved
GOTO |  | reserved | reserved
GRANT | non-reserved | reserved | reserved
GRANTED |  | non-reserved |
GROUP | reserved | reserved | reserved
GROUPING |  | reserved |
HANDLER | non-reserved |  |
HAVING | reserved | reserved | reserved
HIERARCHY |  | non-reserved |
HOLD |  | non-reserved |
HOST |  | reserved |
HOUR | non-reserved | reserved | reserved
IDENTITY |  | reserved | reserved
IGNORE |  | reserved |
ILIKE | reserved (can be function) |  |
IMMEDIATE | non-reserved | reserved | reserved
IMPLEMENTATION |  | non-reserved |
IN | reserved (can be function) | reserved | reserved
INCREMENT | non-reserved |  |
INDEX | non-reserved |  |
INDICATOR |  | reserved | reserved
INFIX |  | non-reserved |
INHERITS | non-reserved |  |
INITIALIZE |  | reserved |
INITIALLY | reserved | reserved | reserved
INNER | reserved (can be function) | reserved | reserved
INOUT | non-reserved | reserved |
INPUT |  | reserved | reserved
INSENSITIVE | non-reserved | non-reserved | reserved
INSERT | non-reserved | reserved | reserved
INSTANCE |  | non-reserved |
INSTANTIABLE |  | non-reserved |
INSTEAD | non-reserved |  |
INT |  | reserved | reserved
INTEGER |  | reserved | reserved
INTERSECT | reserved | reserved | reserved
INTERVAL | non-reserved (cannot be function or type) | reserved | reserved
INTO | reserved | reserved | reserved
INVOKER |  | non-reserved |
IS | reserved (can be function) | reserved | reserved
ISNULL | reserved (can be function) |  |
ISOLATION | non-reserved | reserved | reserved
ITERATE |  | reserved |
JOIN | reserved (can be function) | reserved | reserved
K |  | non-reserved |
KEY | non-reserved | reserved | reserved
KEY_MEMBER |  | non-reserved |
KEY_TYPE |  | non-reserved |
LANCOMPILER | non-reserved |  |
LANGUAGE | non-reserved | reserved | reserved
LARGE |  | reserved |
LAST |  | reserved | reserved
LATERAL |  | reserved |
LEADING | reserved | reserved | reserved
LEFT | reserved (can be function) | reserved | reserved
LENGTH |  | non-reserved | non-reserved
LESS |  | reserved |
LEVEL | non-reserved | reserved | reserved
LIKE | reserved (can be function) | reserved | reserved
LIMIT | reserved | reserved |
LISTEN | non-reserved |  |
LOAD | non-reserved |  |
LOCAL | non-reserved | reserved | reserved
LOCALTIME |  | reserved |
LOCALTIMESTAMP |  | reserved |
LOCATION | non-reserved |  |
LOCATOR |  | reserved |
LOCK | non-reserved |  |
LOWER |  | non-reserved | reserved
M |  | non-reserved |
MAP |  | reserved |
MATCH | non-reserved | reserved | reserved
MAX |  | non-reserved | reserved
MAXVALUE | non-reserved |  |
MESSAGE_LENGTH |  | non-reserved | non-reserved
MESSAGE_OCTET_LENGTH |  | non-reserved | non-reserved
MESSAGE_TEXT |  | non-reserved | non-reserved
METHOD |  | non-reserved |
MIN |  | non-reserved | reserved
MINUTE | non-reserved | reserved | reserved
MINVALUE | non-reserved |  |
MOD |  | non-reserved |
MODE | non-reserved |  |
MODIFIES |  | reserved |
MODIFY |  | reserved |
MODULE |  | reserved | reserved
MONTH | non-reserved | reserved | reserved
MORE |  | non-reserved | non-reserved
MOVE | non-reserved |  |
MUMPS |  | non-reserved | non-reserved
NAME |  | non-reserved | non-reserved
NAMES | non-reserved | reserved | reserved
NATIONAL | non-reserved | reserved | reserved
NATURAL | reserved (can be function) | reserved | reserved
NCHAR | non-reserved (cannot be function or type) | reserved | reserved
NCLOB |  | reserved |
NEW | reserved | reserved |
NEXT | non-reserved | reserved | reserved
NO | non-reserved | reserved | reserved
NOCREATEDB | non-reserved |  |
NOCREATEUSER | non-reserved |  |
NONE | non-reserved (cannot be function or type) | reserved |
NOT | reserved | reserved | reserved
NOTHING | non-reserved |  |
NOTIFY | non-reserved |  |
NOTNULL | reserved (can be function) |  |
NULL | reserved | reserved | reserved
NULLABLE |  | non-reserved | non-reserved
NULLIF | non-reserved (cannot be function or type) | non-reserved | reserved
NUMBER |  | non-reserved | non-reserved
NUMERIC | non-reserved (cannot be function or type) | reserved | reserved
OBJECT |  | reserved |
OCTET_LENGTH |  | non-reserved | reserved
OF | non-reserved | reserved | reserved
OFF | reserved | reserved |
OFFSET | reserved |  |
OIDS | non-reserved |  |
OLD | reserved | reserved |
ON | reserved | reserved | reserved
ONLY | reserved | reserved | reserved
OPEN |  | reserved | reserved
OPERATION |  | reserved |
OPERATOR | non-reserved |  |
OPTION | non-reserved | reserved | reserved
OPTIONS |  | non-reserved |
OR | reserved | reserved | reserved
ORDER | reserved | reserved | reserved
ORDINALITY |  | reserved |
OUT | non-reserved | reserved |
OUTER | reserved (can be function) | reserved | reserved
OUTPUT |  | reserved | reserved
OVERLAPS | reserved (can be function) | non-reserved | reserved
OVERLAY |  | non-reserved |
OVERRIDING |  | non-reserved |
OWNER | non-reserved |  |
PAD |  | reserved | reserved
PARAMETER |  | reserved |
PARAMETERS |  | reserved |
PARAMETER_MODE |  | non-reserved |
PARAMETER_NAME |  | non-reserved |
PARAMETER_ORDINAL_POSITION |  | non-reserved |
PARAMETER_SPECIFIC_CATALOG |  | non-reserved |
PARAMETER_SPECIFIC_NAME |  | non-reserved |
PARAMETER_SPECIFIC_SCHEMA |  | non-reserved |
PARTIAL | non-reserved | reserved | reserved
PASCAL |  | non-reserved | non-reserved
PASSWORD | non-reserved |  |
PATH | non-reserved | reserved |
PENDANT | non-reserved |  |
PLI |  | non-reserved | non-reserved
POSITION | non-reserved (cannot be function or type) | non-reserved | reserved
POSTFIX |  | reserved |
PRECISION | non-reserved | reserved | reserved
PREFIX |  | reserved |
PREORDER |  | reserved |
PREPARE |  | reserved | reserved
PRESERVE |  | reserved | reserved
PRIMARY | reserved | reserved | reserved
PRIOR | non-reserved | reserved | reserved
PRIVILEGES | non-reserved | reserved | reserved
PROCEDURAL | non-reserved |  |
PROCEDURE | non-reserved | reserved | reserved
PUBLIC | reserved (can be function) | reserved | reserved
READ | non-reserved | reserved | reserved
READS |  | reserved |
REAL |  | reserved | reserved
RECURSIVE |  | reserved |
REF |  | reserved |
REFERENCES | reserved | reserved | reserved
REFERENCING |  | reserved |
REINDEX | non-reserved |  |
RELATIVE | non-reserved | reserved | reserved
RENAME | non-reserved |  |
REPEATABLE |  | non-reserved | non-reserved
REPLACE | non-reserved |  |
RESET | non-reserved |  |
RESTRICT | non-reserved | reserved | reserved
RESULT |  | reserved |
RETURN |  | reserved |
RETURNED_LENGTH |  | non-reserved | non-reserved
RETURNED_OCTET_LENGTH |  | non-reserved | non-reserved
RETURNED_SQLSTATE |  | non-reserved | non-reserved
RETURNS | non-reserved | reserved |
REVOKE | non-reserved | reserved | reserved
RIGHT | reserved (can be function) | reserved | reserved
ROLE |  | reserved |
ROLLBACK | non-reserved | reserved | reserved
ROLLUP |  | reserved |
ROUTINE |  | reserved |
ROUTINE_CATALOG |  | non-reserved |
ROUTINE_NAME |  | non-reserved |
ROUTINE_SCHEMA |  | non-reserved |
ROW | non-reserved | reserved |
ROWS |  | reserved | reserved
ROW_COUNT |  | non-reserved | non-reserved
RULE | non-reserved |  |
SAVEPOINT |  | reserved |
SCALE |  | non-reserved | non-reserved
SCHEMA | non-reserved | reserved | reserved
SCHEMA_NAME |  | non-reserved | non-reserved
SCOPE |  | reserved |
SCROLL | non-reserved | reserved | reserved
SEARCH |  | reserved |
SECOND | non-reserved | reserved | reserved
SECTION |  | reserved | reserved
SECURITY |  | non-reserved |
SELECT | reserved | reserved | reserved
SELF |  | non-reserved |
SENSITIVE |  | non-reserved |
SEQUENCE | non-reserved | reserved |
SERIALIZABLE | non-reserved | non-reserved | non-reserved
SERVER_NAME |  | non-reserved | non-reserved
SESSION | non-reserved | reserved | reserved
SESSION_USER | reserved | reserved | reserved
SET | non-reserved | reserved | reserved
SETOF | non-reserved (cannot be function or type) |  |
SETS |  | reserved |
SHARE | non-reserved |  |
SHOW | non-reserved |  |
SIMILAR |  | non-reserved |
SIMPLE |  | non-reserved |
SIZE |  | reserved | reserved
SMALLINT |  | reserved | reserved
SOME | reserved | reserved | reserved
SOURCE |  | non-reserved |
SPACE |  | reserved | reserved
SPECIFIC |  | reserved |
SPECIFICTYPE |  | reserved |
SPECIFIC_NAME |  | non-reserved |
SQL |  | reserved | reserved
SQLCODE |  |  | reserved
SQLERROR |  |  | reserved
SQLEXCEPTION |  | reserved |
SQLSTATE |  | reserved | reserved
SQLWARNING |  | reserved |
START | non-reserved | reserved |
STATE |  | reserved |
STATEMENT | non-reserved | reserved |
STATIC |  | reserved |
STATISTICS | non-reserved |  |
STDIN | non-reserved |  |
STDOUT | non-reserved |  |
STRUCTURE |  | reserved |
STYLE |  | non-reserved |
SUBCLASS_ORIGIN |  | non-reserved | non-reserved
SUBLIST |  | non-reserved |
SUBSTRING | non-reserved (cannot be function or type) | non-reserved | reserved
SUM |  | non-reserved | reserved
SYMMETRIC |  | non-reserved |
SYSID | non-reserved |  |
SYSTEM |  | non-reserved |
SYSTEM_USER |  | reserved | reserved
TABLE | reserved | reserved | reserved
TABLE_NAME |  | non-reserved | non-reserved
TEMP | non-reserved |  |
TEMPLATE | non-reserved |  |
TEMPORARY | non-reserved | reserved | reserved
TERMINATE |  | reserved |
THAN |  | reserved |
THEN | reserved | reserved | reserved
TIME | non-reserved (cannot be function or type) | reserved | reserved
TIMESTAMP | non-reserved (cannot be function or type) | reserved | reserved
TIMEZONE_HOUR |  | reserved | reserved
TIMEZONE_MINUTE |  | reserved | reserved
TO | reserved | reserved | reserved
TOAST | non-reserved |  |
TRAILING | reserved | reserved | reserved
TRANSACTION | non-reserved | reserved | reserved
TRANSACTIONS_COMMITTED |  | non-reserved |
TRANSACTIONS_ROLLED_BACK |  | non-reserved |
TRANSACTION_ACTIVE |  | non-reserved |
TRANSFORM |  | non-reserved |
TRANSFORMS |  | non-reserved |
TRANSLATE |  | non-reserved | reserved
TRANSLATION |  | reserved | reserved
TREAT |  | reserved |
TRIGGER | non-reserved | reserved |
TRIGGER_CATALOG |  | non-reserved |
TRIGGER_NAME |  | non-reserved |
TRIGGER_SCHEMA |  | non-reserved |
TRIM | non-reserved (cannot be function or type) | non-reserved | reserved
TRUE | reserved | reserved | reserved
TRUNCATE | non-reserved |  |
TRUSTED | non-reserved |  |
TYPE | non-reserved | non-reserved | non-reserved
UNCOMMITTED |  | non-reserved | non-reserved
UNDER |  | reserved |
UNENCRYPTED | non-reserved |  |
UNION | reserved | reserved | reserved
UNIQUE | reserved | reserved | reserved
UNKNOWN | non-reserved | reserved | reserved
UNLISTEN | non-reserved |  |
UNNAMED |  | non-reserved | non-reserved
UNNEST |  | reserved |
UNTIL | non-reserved |  |
UPDATE | non-reserved | reserved | reserved
UPPER |  | non-reserved | reserved
USAGE |  | reserved | reserved
USER | reserved | reserved | reserved
USER_DEFINED_TYPE_CATALOG |  | non-reserved |
USER_DEFINED_TYPE_NAME |  | non-reserved |
USER_DEFINED_TYPE_SCHEMA |  | non-reserved |
USING | reserved | reserved | reserved
VACUUM | non-reserved |  |
VALID | non-reserved |  |
VALUE |  | reserved | reserved
VALUES | non-reserved | reserved | reserved
VARCHAR | non-reserved (cannot be function or type) | reserved | reserved
VARIABLE |  | reserved |
VARYING | non-reserved | reserved | reserved
VERBOSE | reserved (can be function) |  |
VERSION | non-reserved |  |
VIEW | non-reserved | reserved | reserved
WHEN | reserved | reserved | reserved
WHENEVER |  | reserved | reserved
WHERE | reserved | reserved | reserved
WITH | non-reserved | reserved | reserved
WITHOUT | non-reserved | reserved |
WORK | non-reserved | reserved | reserved
WRITE |  | reserved | reserved
YEAR | non-reserved | reserved | reserved
ZONE | non-reserved | reserved | reserved

Prev | Home | Next
History of Units | Up | Bibliography