| Description:
 | PostgreSQL foreign data wrapper for OGR
OGR is the vector half of the GDAL spatial data access library. It allows
 access to a large number of GIS data formats using a simple C API for data
 reading and writing. Since OGR exposes a simple table structure and PostgreSQL
 foreign data wrappers allow access to table structures, the fit seems pretty
 perfect.
 This implementation currently has the following limitations:
* Only non-spatial query restrictions are pushed down to the OGR driver.
 PostgreSQL foreign data wrappers support delegating portions of the SQL
 query to the underlying data source, in this case OGR. This implementation
 currently pushes down only non-spatial query restrictions, and only for the
 small subset of comparison operators (>, <, <=, >=, =) supported by OGR.
 * Spatial restrictions are not pushed down. OGR can handle basic bounding box
 restrictions and even (for some drivers) more explicit intersection
 restrictions, but those are not passed to the OGR driver yet.
 * OGR connections every time Rather than pooling OGR connections, each query
 makes (and disposes of) two new ones, which seems to be the largest
 performance drag at the moment for restricted (small) queries.
 * All columns are retrieved every time. PostgreSQL foreign data wrappers don't
 require all columns all the time, and some efficiencies can be gained by
 only requesting the columns needed to fulfill a query. This would be a
 minimal efficiency improvement, but can be removed given some development
 time, since the OGR API supports returning a subset of columns.
 |