Index
A
- actions, error handling
- additional supplied extensions
- about / Additional supplied extensions
- adminpack extension / The adminpack extension
- chkpass extension / The chkpass extension
- citext extension / The citext extension
- cube extension / The cube extension
- dblink extension / The dblink extension
- file_fdw extension / The file_fdw extension
- adminpack extension
- about / The adminpack extension
- utility functionalities / The adminpack extension
- pg_file_write function / The adminpack extension
- pg_file_rename function / The adminpack extension
- page_file_unlink function / The adminpack extension
- pg_file_lenght function / The adminpack extension
- pg_logdir_ls function / The adminpack extension
- pg_file_read function / The adminpack extension
- pg_logfile_rotate function / The adminpack extension
- ALTER EXTENSION command
- parameters / Altering extensions
- anti join
- about / Hash semi and anti joins
- Application Program Interface (API) / Implementing large objects
- auto-updatable views / Understanding views
- available extensions
- checking / How to check available extensions
B
- B-tree index
- about / The B-tree index
- bitmap scans
- about / What is EXPLAIN?, Bitmap scans
C
- C file
- about / The C file
- checkpoint_segments parameter / Configuration parameters to optimize queries
- checkpoint_timeout parameter / Configuration parameters to optimize queries
- chkpass extension
- about / The chkpass extension
- citext extension
- about / The citext extension
- CLUSTER command / CLUSTER
- Comma Separated File (CSF) / Working with file_fdw
- Common Table Expressions (CTE)
- about / Common Table Expressions
- communication with PostgreSQL, libpq used
- PostgreSQL, connecting to / Connecting and disconnecting to PostgreSQL
- PostgreSQL, disconnecting to / Connecting and disconnecting to PostgreSQL
- components, foreign data wrapper
- C file / The C file
- Makefile / Makefile to compile the foreign data wrapper
- SQL file / A SQL file to map SQL functions to C functions
- control file / The control file to manage version and module path
- concurrent index
- about / The concurrent index
- creating / The concurrent index
- configuration parameters, query optimization
- about / Configuration parameters to optimize queries
- work_mem / Configuration parameters to optimize queries
- maintenance_workmem / Configuration parameters to optimize queries
- effective_cache_size / Configuration parameters to optimize queries
- checkpoint_segments / Configuration parameters to optimize queries
- checkpoint_timeout / Configuration parameters to optimize queries
- shared_buffers / Configuration parameters to optimize queries
- connection-supporting functions
- about / Connection-supporting functions
- PQconninfoParse, using / Using PQconninfoParse
- PQpingParams, using / Using PQpingParams
- control file
- cost parameters
- about / Cost parameters
- seq_page_cost / Cost parameters
- random_page_cost / Cost parameters
- cpu_tuple_cost / Cost parameters
- cpu_operator_cost / Cost parameters
- cpu_index_tuple_cost / Cost parameters
- with default values / Cost parameters
- CREATE INDEX command
- about / How to create an index
- cube extension
- about / The cube extension
- cube function / The cube extension
- cube_dim function / The cube extension
- cube_ll_coord function / The cube extension
- cube_ur_coord function / The cube extension
- cube_is_point function / The cube extension
- cube_distance function / The cube extension
- cube_subset function / The cube extension
- cube_union function / The cube extension
- cube_inter function / The cube extension
- cube_enlarge function / The cube extension
- cume_dist() function
- about / The cume_dist() function
- calling / The cume_dist() function
D
- data, retrieving
- about / Retrieving data
- PQntuples, using / Using PQntuples
- PQnfields, using / Using PQnfields
- PQfname, using / Using PQfname
- PQfnumber, using / Using PQfnumber
- PQftable, using / Using PQftable
- PQftablecol, using / Using PQftablecol
- PQfformat, using / Using PQfformat
- PQftype, using / Using PQftype
- PQfmod, using / Using PQfmod
- PQfsize, using / Using PQfsize
- PQbinaryTuples, using / Using PQbinaryTuples
- PQgetvalue, using / Using PQgetvalue
- PQgetisnull, using / Using PQgetisnull
- PQgetlength, using / Using PQgetlength
- PQnparams, using / Using PQnparams
- PQparamtype, using / Using PQparamtype
- database index
- about / What is an index?
- dblink extension
- about / The dblink extension
- DELETE statement
- handling, on partition table / Handling the UPDATE and DELETE statements on a partition table
- dense_rank() function
- about / The dense_rank() function
- calling / The dense_rank() function
- DML operations
- performing, on partition table / Performing DML operations on a partition table
- DROP EXTENSION command
- paramaters / Dropping extensions
- DROP INDEX command
- about / How to drop an index
E
- ECPG program, compiling
- about / Compiling an ECPG program
- ECPG DECLARE sections / ECPG DECLARE sections
- connecting, ECPG used / Connection using ECPG
- disconnecting, ECPG used / Disconnecting using ECPG
- connection, selecting / Selecting a connection
- ECPG programs
- writing / Writing ECPG programs
- compiling / Compiling an ECPG program
- error handling / Error handling
- effective_cache_size parameter / Configuration parameters to optimize queries
- error handling, ECPG
- about / Error handling
- error callback, setting / How to set an error callback
- conditions, setting / Conditions
- actions, specifying / Actions
- sqlca, using / Using sqlca for error handling
- execution cost
- about / What is EXPLAIN?
- EXPLAIN command
- about / What is EXPLAIN?
- using / What is EXPLAIN?
- ANALYZE option, working with / Working with EXPLAIN ANALYZE
- EXPLAIN VERBOSE / EXPLAIN VERBOSE
- formatted output / EXPLAIN pretty formats
- expression index
- about / The expression index
- creating / The expression index
- extensions
- features / Features of an extension
- creating / Creating extensions
- altering / Altering extensions
- dropping / Dropping extensions
- available extensions, checking / How to check available extensions
- additional supplied extensions / Additional supplied extensions
- reference link / Other available extensions
- extension_name parameter
- about / Creating extensions
F
- file_fdw data wrapper
- about / Working with file_fdw
- using / Working with file_fdw
- file_fdw extension
- about / The file_fdw extension
- first_value() function
- about / The first_value() function
- foreign data wrapper
- creating / Creating foreign data wrappers
- name parameter / Creating foreign data wrappers
- HANDLER handler_function / Creating foreign data wrappers
- VALIDATOR validator_function / Creating foreign data wrappers
- basic components / The basic components of foreign data wrappers
- loading / Loading foreign data wrappers
- using / Using foreign data wrappers
- postgres_fdw, working with / Working with postgres_fdw
- file_fdw, working with / Working with file_fdw
- foreign data wrapper, loading
- server, creating / Creating a server
- user mapping, creating / Creating user mapping
- foreign table, creating / Creating a foreign table
G
- Generalized Search Tree (GiST) index
- about / The GiST index
- syntax / The GiST index
- GIN index
- about / The GIN index
- creating / The GIN index
H
- hash index
- about / The hash index
- creating / The hash index
- hash join
- about / Hash joins
- hash keys / Hash joins
- hints, query planning
I
- IF NOT EXISTS statement
- about / Creating extensions
- implicit index
- about / The implicit index
- index
- about / What is an index?
- creating / What is an index?, How to create an index
- dropping / How to drop an index
- types / Types of indexes
- points to remember / Points to ponder
- index bloating
- about / Index bloating
- dump and restore / Dump and restore
- vacuuming / VACUUM
- CLUSTER / CLUSTER
- reindexing / Reindexing
- index scans
- about / What is EXPLAIN?, Index scans
- index-only scans / Index-only scans
- index types
- about / Index types
- using / Index types
- B-tree index / The B-tree index
- hash index / The hash index
- GiST index / The GiST index
- GIN index / The GIN index
J
- joins
- about / Joins
- nested loop join / Nested loop joins
- merge join / Merge joins
- hash join / Hash joins
- semi join / Hash semi and anti joins
- anti join / Hash semi and anti joins
- ordering / Join ordering
L
- lag() function
- about / The lag() function
- large objects
- about / Why large objects?
- categoizing / Why large objects?
- last_value() function
- about / The last_value() function
- lead() function
- about / The lead() function
- list partition
- about / List partition
- master table, creating / List partition
- lo_close function
- about / lo_close
- lo_create function
- about / lo_create
- lo_export function
- about / lo_export
- lo_import function
- about / lo_import
- lo_open function
- about / lo_open
- lo_read function
- about / lo_read
- lo_unlink function
- about / lo_unlink
- lo_write function
- about / lo_write
M
- maintenance_workmem parameter
- Makefile
- materialized views
- about / Materialized views
- creating / Creating materialized views
- merge join
- about / Merge joins
- multicolumn index
- about / The multicolumn index
- creating / The multicolumn index
N
- nested loop join
- about / Nested loop joins
- nth_value() function
- about / The nth_value() function
- ntile() function
- about / The ntile() function
O
- Object Identifier (OID) / Implementing large objects
- old_version parameter
- about / Creating extensions
P
- parser / PostgreSQL rules
- partial index
- about / The partial index
- creating / The partial index
- partition
- creating, in PostgreSQL / Partitioning in PostgreSQL
- partitioning, PostgreSQL
- range partitioning / Partitioning in PostgreSQL
- list partitioning / Partitioning in PostgreSQL
- range partition / Range partition
- DML operations, performing on partition table / Performing DML operations on a partition table
- UPDATE or DELETE statements, handling on partition table / Handling the UPDATE and DELETE statements on a partition table
- list partition / List partition
- percent_rank() function
- about / The percent_rank() function
- pg_dump / Dump and restore
- PL/Perl
- triggers, creating in / Creating triggers in PL/Perl
- PL/Python
- triggers, creating in / Creating triggers in PL/Python
- PL/Tcl
- triggers, creating in / Creating triggers in PL/Tcl
- planner / PostgreSQL rules
- PostgreSQL
- partitioning / Partitioning in PostgreSQL
- PostgreSQL asynchronous connection
- establishing / Establishing a connection asynchronously
- PQconnectStartParams, using / Using PQconnectStartParams
- PQconnectStart, using / Using PQconnectStart
- PQconnectPoll, using / Using PQconnectPoll
- PQresetStart, using / Using PQresetStart
- PQresetPoll, using / Using PQresetPoll
- PostgreSQL connection
- about / Connecting and disconnecting to PostgreSQL
- PQconnectdb, using / Using PQconnectdb
- PQconnectdbParams, using / Using PQconnectdbParams
- PQsetdbLogin, using / Using PQsetdbLogin
- PQsetdb, using / Using PQsetdb
- PQfinish, using / Using PQfinish
- PQreset, using / Using PQreset
- PostgreSQL large objects
- about / PostgreSQL large objects
- BYTEA data type, implementing / PostgreSQL large objects
- large objects, implementing / Implementing large objects
- hands-on practice / Large objects in action
- manipulating, through libpq client interface library / Manipulating large objects through the libpq client interface library
- PostgreSQL rules
- about / PostgreSQL rules
- postgres_fdw data wrapper
- about / Working with postgres_fdw
- using / Working with postgres_fdw
- PQbinaryTuples function
- using / Using PQbinaryTuples
- about / Using PQbinaryTuples
- PQconnectdb function
- about / Using PQconnectdb
- using / Using PQconnectdb
- PQconnectdbParams function
- about / Using PQconnectdbParams
- using / Using PQconnectdbParams
- PQconnectPoll function
- about / Using PQconnectPoll
- using / Using PQconnectPoll
- PQconnectStart function
- about / Using PQconnectStart
- using / Using PQconnectStart
- PQconnectStartParams function
- about / Using PQconnectStartParams
- using / Using PQconnectStartParams
- PQconninfoParse function
- using / Using PQconninfoParse
- about / Using PQconninfoParse
- PQexec function
- using / Using PQexec
- about / Using PQexec
- PQexecParams function
- using / Using PQexecParams
- about / Using PQexecParams
- PQexecPrepared function
- using / Using PQexecPrepared
- about / Using PQexecPrepared
- PQfformat function
- using / Using PQfformat
- about / Using PQfformat
- PQfinish function
- using / Using PQfinish
- about / Using PQfinish
- PQfmod function
- using / Using PQfmod
- about / Using PQfmod
- PQfnumber function
- using / Using PQfnumber
- about / Using PQfnumber
- PQfsize function
- about / Using PQfsize
- using / Using PQfsize
- PQftablecol function
- about / Using PQftablecol
- using / Using PQftablecol
- PQftable function
- using / Using PQftable
- about / Using PQftable
- PQftype function
- using / Using PQftype
- PQgetisnull function
- about / Using PQgetisnull
- using / Using PQgetisnull
- PQgetlength function
- about / Using PQgetlength
- using / Using PQgetlength
- PQgetvalue function
- about / Using PQgetvalue
- using / Using PQgetvalue
- PQnfields function
- about / Using PQnfields
- using / Using PQfname
- PQnparams function
- about / Using PQnparams
- using / Using PQnparams
- PQntuples function
- about / Using PQntuples
- using / Using PQntuples
- PQparamtype function
- about / Using PQparamtype
- using / Using PQparamtype
- PQpingParams function
- about / Using PQpingParams
- using / Using PQpingParams
- PQprepare function
- about / Using PQprepare
- using / Using PQprepare
- parameters / Using PQprepare
- PQreset function
- about / Using PQreset
- using / Using PQreset
- PQresetPoll function
- about / Using PQresetPoll
- using / Using PQresetPoll
- PQresetStart function
- about / Using PQresetStart
- using / Using PQresetStart
- PQresultStatus function
- using / Using PQresultStatus, Using PQresStatus
- about / Using PQresultStatus, Using PQresStatus
- PQsetdb function
- about / Using PQsetdb
- using / Using PQsetdb
- PQsetdbLogin function
- about / Using PQsetdbLogin
- using / Using PQsetdbLogin
- prepared statements
- about / Executing prepared statements
- prepared statements, executing
- PQprepare, using / Using PQprepare
- PQexecPrepared, using / Using PQexecPrepared
Q
- query, executing
- about / Executing a query
- PQexec, using / Using PQexec
- PQexecParams, using / Using PQexecParams
- query optimization
- EXPLAIN command / What is EXPLAIN?
- cost parameters / Cost parameters
- query planning / Query planning
- hints / Hints
- configuration parameters / Configuration parameters to optimize queries
- query plan / What is EXPLAIN?
- query planning
- about / Query planning
- window functions / Window functions
- query tree / PostgreSQL rules
R
- range partition
- about / Range partition
- master table, creating / Creating the master table
- table, creating / Creating a range partition table
- index, creating on child tables / Creating an index on child tables
- trigger, creating on master table / Creating a trigger on the master table
- constraint exclusion, enabling / Enabling the constraint exclusion
- rank() function
- about / The rank() function
- calling / The rank() function
- row-level trigger
- about / Understanding triggers
- row_number() function
- about / The row_number() function
- calling / The row_number() function
- rules
- versus triggers / Rules versus triggers – creating updateable views with rules
S
- schema_name parameter
- about / Creating extensions
- self join / The lag() function
- semi join
- about / Hash semi and anti joins
- sequential scan
- about / What is EXPLAIN?, Sequential scans
- set of variables, TriggerData
- NEW / Creating triggers and trigger functions with PL/pgSQL
- OLD / Creating triggers and trigger functions with PL/pgSQL
- TG_OP / Creating triggers and trigger functions with PL/pgSQL
- TG_TABLE_NAME / Creating triggers and trigger functions with PL/pgSQL
- TG_WHEN / Creating triggers and trigger functions with PL/pgSQL
- shared_buffers parameter
- single-column index
- about / The single-column index
- creating / The single-column index
- SQL commands, running
- about / Running SQL commands
- host variables, using / Using host variables
- values, passing to SQL / Passing values to SQL
- values, obtaining from SQL / Getting values from SQL
- dynamic SQL / Dynamic SQL
- SQL Communication Area (sqlca)
- about / Using sqlca for error handling
- using / Using sqlca for error handling
- SQL file
- start up cost
- about / What is EXPLAIN?
- statement-level trigger
- about / Understanding triggers
- status functions
- using / Using status functions
- PQresultStatus, using / Using PQresultStatus
- PQresStatus, using / Using PQresStatus
T
- table partition
- creating / Creating a table partition
- TriggerData
- about / Understanding triggers
- set of variables / Creating triggers and trigger functions with PL/pgSQL
- trigger function
- about / Understanding triggers
- defining / Understanding triggers
- creating, with PL/pgSQL / Creating triggers and trigger functions with PL/pgSQL
- triggers
- about / Understanding triggers
- row-level trigger / Understanding triggers
- statement-level trigger / Understanding triggers
- defining / Understanding triggers
- tricky triggers / Tricky triggers
- creating, with PL/pgSQL / Creating triggers and trigger functions with PL/pgSQL
- testing / Creating triggers and trigger functions with PL/pgSQL
- creating, on views / Creating triggers on views
- creating, in PL/Perl / Creating triggers in PL/Perl
- creating, in PL/Tcl / Creating triggers in PL/Tcl
- creating, in PL/Python / Creating triggers in PL/Python
- trigger variables syntax
- $TG_name / Creating triggers in PL/Tcl
- $TG_table_name / Creating triggers in PL/Tcl
- $TG_op / Creating triggers in PL/Tcl
- $NEW / Creating triggers in PL/Tcl
- $OLD / Creating triggers in PL/Tcl
- types, of indexes
- about / Types of indexes
- ingle-column index / The single-column index
- multicolumn index / The multicolumn index
- partial index / The partial index
- unique index / The unique index
- expression index / The expression index
- implicit index / The implicit index
- concurrent index / The concurrent index
U
- unique index
- about / The unique index
- creating / The unique index
- creating, explicitly with CREATE INDEX command / Explicitly creating an index using the CREATE INDEX command
- updateable views
- creating, with rules / Rules versus triggers – creating updateable views with rules
- UPDATE statement
- handling, on partition table / Handling the UPDATE and DELETE statements on a partition table
V
- VACUUM command / VACUUM
- Version parameter
- about / Creating extensions
- views
- triggers, creating on / Creating triggers on views
- about / Understanding views
- benefits / Understanding views
- creating / Understanding views
- listing / Understanding views
- materialized views / Materialized views
W
- WHENEVER command
- about / How to set an error callback
- WHENEVER conditions
- about / Conditions
- SQLERROR / Conditions
- SQLWARNING / Conditions
- NOT FOUND / Conditions
- window functions
- about / Understanding window functions
- cume_dist() / The cume_dist() function
- row_number() / The row_number() function
- rank() / The rank() function
- dense_rank() / The dense_rank() function
- percent_rank() / The percent_rank() function
- first_value() / The first_value() function
- last_value() / The last_value() function
- nth_value() / The nth_value() function
- ntile() / The ntile() function
- lag() / The lag() function
- lead() / The lead() function
- work_mem parameter