ST_Covers
Name
ST_Covers — Returns 1 (TRUE) if no point in Geometry B is outside Geometry A
Synopsis
    
     boolean
     
      ST_Covers
     
     (
    
    geometry
    
     geomA
    
    , geometry
    
     geomB
    
    
     )
    
    ;
   
    
     boolean
     
      ST_Covers
     
     (
    
    geography
    
     geogpolyA
    
    , geography
    
     geogpointB
    
    
     )
    
    ;
   
Description
Returns 1 (TRUE) if no point in Geometry/Geography B is outside Geometry/Geography A
Performed by the GEOS module
       
      | 
     |
| 
       
       Do not call with a
         | 
    
       
      | 
     |
| 
       For geography only Polygon covers point is supported.  | 
    
       
      | 
     |
| 
       Do not use this function with invalid geometries. You will get unexpected results.  | 
    
This function call will automatically include a bounding box comparison that will make use of any indexes that are available on the geometries. To avoid index use, use the function _ST_Covers.
Enhanced: 2.3.0 Enhancement to PIP short-circuit for geometry extended to support MultiPoints with few points. Prior versions only supported point in polygon.
Availability: 1.5 - support for geography was introduced.
Availability: 1.2.2 - requires GEOS >= 3.0
NOTE: this is the "allowable" version that returns a boolean, not an integer.
Not an OGC standard, but Oracle has it too.
There are certain subtleties to ST_Contains and ST_Within that are not intuitively obvious. For details check out Subtleties of OGC Covers, Contains, Within
Examples
Geometry example
	--a circle covering a circle
SELECT ST_Covers(smallc,smallc) As smallinsmall,
	ST_Covers(smallc, bigc) As smallcoversbig,
	ST_Covers(bigc, ST_ExteriorRing(bigc)) As bigcoversexterior,
	ST_Contains(bigc, ST_ExteriorRing(bigc)) As bigcontainsexterior
FROM (SELECT ST_Buffer(ST_GeomFromText('POINT(1 2)'), 10) As smallc,
	ST_Buffer(ST_GeomFromText('POINT(1 2)'), 20) As bigc) As foo;
	--Result
 smallinsmall | smallcoversbig | bigcoversexterior | bigcontainsexterior
--------------+----------------+-------------------+---------------------
 t            | f              | t                 | f
(1 row)	
  Geeography Example
-- a point with a 300 meter buffer compared to a point, a point and its 10 meter buffer
SELECT ST_Covers(geog_poly, geog_pt) As poly_covers_pt,
	ST_Covers(ST_Buffer(geog_pt,10), geog_pt) As buff_10m_covers_cent
	FROM (SELECT ST_Buffer(ST_GeogFromText('SRID=4326;POINT(-99.327 31.4821)'), 300) As geog_poly,
				ST_GeogFromText('SRID=4326;POINT(-99.33 31.483)') As geog_pt ) As foo;
 poly_covers_pt | buff_10m_covers_cent
----------------+------------------
 f              | t