ALTER LARGE OBJECT

NameALTER LARGE OBJECT -- change the definition of a large object Synopsis ALTER LARGE OBJECT large_object_oid OWNER TO { new_owner | CURRENT_USER | SESSION_USER } Description ALTER LARGE OBJECT changes the definition of a large object. The only functionality is to assign a new owner. You must be superuser or owner of the large object to use ALTER LARGE OBJECT. Parameters large_object_oid OID of the large object to be altered new_owner The new owner of the large object Com

DROP OPERATOR CLASS

NameDROP OPERATOR CLASS -- remove an operator class Synopsis DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ] Description DROP OPERATOR CLASS drops an existing operator class. To execute this command you must be the owner of the operator class. DROP OPERATOR CLASS does not drop any of the operators or functions referenced by the class. If there are any indexes depending on the operator class, you will need to specify CASCADE for the drop to complete.

ABORT

NameABORT -- abort the current transaction Synopsis ABORT [ WORK | TRANSACTION ] Description ABORT rolls back the current transaction and causes all the updates made by the transaction to be discarded. This command is identical in behavior to the standard SQL command ROLLBACK, and is present only for historical reasons. Parameters WORKTRANSACTION Optional key words. They have no effect. Notes Use COMMIT to successfully terminate a transaction. Issuing ABORT outside of a tr

Catalogs: pg_language

The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 40 for more information about language handlers. Table 50-29. pg_language Columns Name Type References Description oid oid Row identifier (hidden attribute; must be explicitly selected) lanname name Name of the language lanowner oid pg_authid.oid Owner of the language lanispl bool This is false for internal languages (such as SQL) and true for user-defined l

Catalogs: pg_cast

The catalog pg_cast stores data type conversion paths, both built-in and user-defined. It should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that "automatic I/O conversion casts", those performed using a data type's own I/O functions to convert to or from

DROP CAST

NameDROP CAST -- remove a cast Synopsis DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ] Description DROP CAST removes a previously defined cast. To be able to drop a cast, you must own the source or the target data type. These are the same privileges that are required to create a cast. Parameters IF EXISTS Do not throw an error if the cast does not exist. A notice is issued in this case. source_type The name of the source data type of the cast. targ

Catalogs: pg_attribute

The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.) The term attribute is equivalent to column and is used for historical reasons. Table 50-7. pg_attribute Columns Name Type References Description attrelid oid pg_class.oid The table this column belongs to attname name The column name at

Catalogs: pg_replication_origin

The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 48. Table 50-40. pg_replication_origin Columns Name Type References Description roident Oid A unique, cluster-wide identifier for the replication origin. Should never leave the system. roname text The external, user defined, name of a replication origin. Prev Next pg_range Up pg_rewrite

7. Conclusion

PostgreSQL has many features not touched upon in this tutorial introduction, which has been oriented toward newer users of SQL. These features are discussed in more detail in the remainder of this book. If you feel you need more introductory material, please visit the PostgreSQL web site for links to more resources. Prev Next Inheritance Up The SQL Language

Internals//Genetic Query Optimizer: Query Handling as a Complex Optimization Problem

Among all relational operators the most difficult one to process and optimize is the join. The number of possible query plans grows exponentially with the number of joins in the query. Further optimization effort is caused by the support of a variety of join methods (e.g., nested loop, hash join, merge join in PostgreSQL) to process individual joins and a diversity of indexes (e.g., B-tree, hash, GiST and GIN in PostgreSQL) as access paths for relations. The normal PostgreSQL query optimizer pe