mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-25 01:22:47 +00:00
cd3521ce14
git-svn-id: http://svn.osgeo.org/postgis/trunk@8087 b70326c6-7e19-0410-871a-916f4a2858ee
1062 lines
32 KiB
XML
1062 lines
32 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<sect1 id="Management_Functions">
|
|
<title>Management Functions</title>
|
|
|
|
<refentry id="AddGeometryColumn">
|
|
<refnamediv>
|
|
<refname>AddGeometryColumn</refname>
|
|
|
|
<refpurpose>Adds a geometry column to an existing table of
|
|
attributes. By default uses type modifier to define rather than constraints.
|
|
Pass in false for use_typmod to get old check contraint based behavior</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>AddGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>type</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>dimension</parameter></paramdef>
|
|
<paramdef choice='opt'><type>boolean </type>
|
|
<parameter>use_typmod=true</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>AddGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>type</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>dimension</parameter></paramdef>
|
|
<paramdef choice='opt'><type>boolean </type>
|
|
<parameter>use_typmod=true</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>AddGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>catalog_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>type</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>dimension</parameter></paramdef>
|
|
|
|
<paramdef choice='opt'><type>boolean </type>
|
|
<parameter>use_typmod=true</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Adds a geometry column to an existing table of attributes. The
|
|
<varname>schema_name</varname> is the name of the table schema. The <varname>srid</varname>
|
|
must be an integer value reference to an entry in the SPATIAL_REF_SYS
|
|
table. The <varname>type</varname> must be a string
|
|
corresponding to the geometry type, eg, 'POLYGON' or
|
|
'MULTILINESTRING' . An error is thrown if the schemaname doesn't exist
|
|
(or not visible in the current search_path) or the specified SRID,
|
|
geometry type, or dimension is invalid.</para>
|
|
|
|
<note>
|
|
<para>Changed: 2.0.0 This function no longer updates geometry_columns since geometry_columns is a view that reads from system catalogs. It by default
|
|
also does not create constraints, but instead uses the built in type modifier behavior of PostgreSQL. So for example building a wgs84 POINT column with this function is now
|
|
equivalent to: <code>ALTER TABLE some_table ADD COLUMN geom geometry(Point,4326);</code> </para>
|
|
<para>Changed: 2.0.0 If you require the old behavior of constraints use the default <varname>use_typmod</varname>, but set it to false.</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para>Changed: 2.0.0 Views can no longer be manually registered in geometry_columns, however views built against geometry typmod tables geometries and used without wrapper functions will register themselves correctly
|
|
because they inherit the typmod behavior of their parent table column.
|
|
Views that use geometry functions that output other geometries will need to be cast to typmod geometries for these view geometry columns to be registered correctly
|
|
in geometry_columns. Refer to <xref linkend="Manual_Register_Spatial_Column"/>.
|
|
</para>
|
|
</note>
|
|
<para>&sfs_compliant;</para>
|
|
<para>&Z_support;</para>
|
|
<para>&curve_support;</para>
|
|
<para>Enhanced: 2.0.0 use_typmod argument introduced. Defaults to creating typmod geometry column instead of constraint-based.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>-- Create schema to hold data
|
|
CREATE SCHEMA my_schema;
|
|
-- Create a new simple PostgreSQL table
|
|
CREATE TABLE my_schema.my_spatial_table (id serial);
|
|
|
|
-- Describing the table shows a simple table with a single "id" column.
|
|
postgis=# \d my_schema.my_spatial_table
|
|
Table "my_schema.my_spatial_table"
|
|
Column | Type | Modifiers
|
|
--------+---------+-------------------------------------------------------------------------
|
|
id | integer | not null default nextval('my_schema.my_spatial_table_id_seq'::regclass)
|
|
|
|
-- Add a spatial column to the table
|
|
SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom',4326,'POINT',2);
|
|
|
|
-- Add a point using the old constraint based behavior
|
|
SELECT AddGeometryColumn ('my_schema','my_spatial_table','geom_c',4326,'POINT',2, false);
|
|
|
|
--Add a curvepolygon using old constraint behavior
|
|
SELECT AddGeometryColumn ('my_schema','my_spatial_table','geomcp_c',4326,'CURVEPOLYGON',2, false);
|
|
|
|
-- Describe the table again reveals the addition of a new geometry columns.
|
|
\d my_schema.my_spatial_table
|
|
addgeometrycolumn
|
|
-------------------------------------------------------------------------
|
|
my_schema.my_spatial_table.geomcp_c SRID:4326 TYPE:CURVEPOLYGON DIMS:2
|
|
(1 row)
|
|
|
|
Table "my_schema.my_spatial_table"
|
|
Column | Type | Modifiers
|
|
----------+----------------------+-------------------------------------------------------------------------
|
|
id | integer | not null default nextval('my_schema.my_spatial_table_id_seq'::regclass)
|
|
geom | geometry(Point,4326) |
|
|
geom_c | geometry |
|
|
geomcp_c | geometry |
|
|
Check constraints:
|
|
"enforce_dims_geom_c" CHECK (st_ndims(geom_c) = 2)
|
|
"enforce_dims_geomcp_c" CHECK (st_ndims(geomcp_c) = 2)
|
|
"enforce_geotype_geom_c" CHECK (geometrytype(geom_c) = 'POINT'::text OR geom_c IS NULL)
|
|
"enforce_geotype_geomcp_c" CHECK (geometrytype(geomcp_c) = 'CURVEPOLYGON'::text OR geomcp_c IS NULL)
|
|
"enforce_srid_geom_c" CHECK (st_srid(geom_c) = 4326)
|
|
"enforce_srid_geomcp_c" CHECK (st_srid(geomcp_c) = 4326)
|
|
|
|
-- geometry_columns view also registers the new columns --
|
|
SELECT f_geometry_column As col_name, type, srid, coord_dimension As ndims
|
|
FROM geometry_columns
|
|
WHERE f_table_name = 'my_spatial_table' AND f_table_schema = 'my_schema';
|
|
|
|
col_name | type | srid | ndims
|
|
----------+--------------+------+-------
|
|
geom | Point | 4326 | 2
|
|
geom_c | Point | 4326 | 2
|
|
geomcp_c | CurvePolygon | 4326 | 2
|
|
</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="DropGeometryColumn"/>, <xref linkend="DropGeometryTable"/>, <xref linkend="geometry_columns"/>, <xref linkend="Manual_Register_Spatial_Column"/></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="DropGeometryColumn">
|
|
<refnamediv>
|
|
<refname>DropGeometryColumn</refname>
|
|
|
|
<refpurpose>Removes a geometry column from a spatial
|
|
table.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>DropGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>DropGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>DropGeometryColumn</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>catalog_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Removes a geometry column from a spatial table. Note that
|
|
schema_name will need to match the f_table_schema field of the table's
|
|
row in the geometry_columns table.</para>
|
|
|
|
<para>&sfs_compliant;</para>
|
|
<para>&Z_support;</para>
|
|
<para>&curve_support;</para>
|
|
<note>
|
|
<para>Changed: 2.0.0 This function is provided for backward compatibility. Now that since geometry_columns is now a view against the system catalogs,
|
|
you can drop a geometry column like any other table column using <code>ALTER TABLE</code></para>
|
|
</note>
|
|
</refsection>
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>
|
|
SELECT DropGeometryColumn ('my_schema','my_spatial_table','geom');
|
|
----RESULT output ---
|
|
dropgeometrycolumn
|
|
------------------------------------------------------
|
|
my_schema.my_spatial_table.geom effectively removed.
|
|
|
|
-- In PostGIS 2.0+ the above is also equivalent to the standard
|
|
-- the standard alter table. Both will deregister from geometry_columns
|
|
ALTER TABLE my_schema.my_spatial_table DROP column geom;
|
|
</programlisting>
|
|
</refsection>
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="AddGeometryColumn"/>, <xref linkend="DropGeometryTable"/>, <xref linkend="geometry_columns"/></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="DropGeometryTable">
|
|
<refnamediv>
|
|
<refname>DropGeometryTable</refname>
|
|
|
|
<refpurpose>Drops a table and all its references in
|
|
geometry_columns.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>boolean <function>DropGeometryTable</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>boolean <function>DropGeometryTable</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>boolean <function>DropGeometryTable</function></funcdef>
|
|
<paramdef><type>varchar </type>
|
|
<parameter>catalog_name</parameter></paramdef>
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Drops a table and all its references in geometry_columns. Note:
|
|
uses current_schema() on schema-aware pgsql installations if schema is
|
|
not provided.</para>
|
|
|
|
<note>
|
|
<para>Changed: 2.0.0 This function is provided for backward compatibility. Now that since geometry_columns is now a view against the system catalogs,
|
|
you can drop a table with geometry columns like any other table using <code>DROP TABLE</code></para>
|
|
</note>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT DropGeometryTable ('my_schema','my_spatial_table');
|
|
----RESULT output ---
|
|
my_schema.my_spatial_table dropped.
|
|
|
|
-- The above is now equivalent to --
|
|
DROP TABLE my_schema.my_spatial_table;
|
|
</programlisting>
|
|
</refsection>
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="AddGeometryColumn"/>, <xref linkend="DropGeometryColumn"/>, <xref linkend="geometry_columns"/></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
|
|
<refentry id="PostGIS_Full_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_Full_Version</refname>
|
|
|
|
<refpurpose>Reports full postgis version and build configuration
|
|
infos.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Full_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Reports full postgis version and build configuration
|
|
infos.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Full_Version();
|
|
postgis_full_version
|
|
----------------------------------------------------------------------------------
|
|
POSTGIS="1.3.3" GEOS="3.1.0-CAPI-1.5.0" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_GEOS_Version" />, <xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_PROJ_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_GEOS_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_GEOS_Version</refname>
|
|
|
|
<refpurpose>Returns the version number of the GEOS
|
|
library.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_GEOS_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns the version number of the GEOS library, or
|
|
<varname>NULL</varname> if GEOS support is not enabled.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_GEOS_Version();
|
|
postgis_geos_version
|
|
----------------------
|
|
3.1.0-CAPI-1.5.0
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_PROJ_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_LibXML_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_LibXML_Version</refname>
|
|
|
|
<refpurpose>Returns the version number of the libxml2
|
|
library.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_LibXML_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns the version number of the LibXML2 library.</para>
|
|
<para>Availability: 1.5</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_LibXML_Version();
|
|
postgis_libxml_version
|
|
----------------------
|
|
2.7.6
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_PROJ_Version" />, <xref
|
|
linkend="PostGIS_GEOS_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Lib_Build_Date">
|
|
<refnamediv>
|
|
<refname>PostGIS_Lib_Build_Date</refname>
|
|
|
|
<refpurpose>Returns build date of the PostGIS library.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Lib_Build_Date</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns build date of the PostGIS library.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Lib_Build_Date();
|
|
postgis_lib_build_date
|
|
------------------------
|
|
2008-06-21 17:53:21
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Lib_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_Lib_Version</refname>
|
|
|
|
<refpurpose>Returns the version number of the PostGIS
|
|
library.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Lib_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns the version number of the PostGIS library.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Lib_Version();
|
|
postgis_lib_version
|
|
---------------------
|
|
1.3.3
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_GEOS_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_PROJ_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_PROJ_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_PROJ_Version</refname>
|
|
|
|
<refpurpose>Returns the version number of the PROJ4
|
|
library.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_PROJ_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns the version number of the PROJ4 library, or
|
|
<varname>NULL</varname> if PROJ4 support is not enabled.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_PROJ_Version();
|
|
postgis_proj_version
|
|
-------------------------
|
|
Rel. 4.4.9, 29 Oct 2004
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_GEOS_Version" />, <xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Scripts_Build_Date">
|
|
<refnamediv>
|
|
<refname>PostGIS_Scripts_Build_Date</refname>
|
|
|
|
<refpurpose>Returns build date of the PostGIS scripts.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Scripts_Build_Date</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns build date of the PostGIS scripts.</para>
|
|
|
|
<para>Availability: 1.0.0RC1</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Scripts_Build_Date();
|
|
postgis_scripts_build_date
|
|
-------------------------
|
|
2007-08-18 09:09:26
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_GEOS_Version" />, <xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Scripts_Installed">
|
|
<refnamediv>
|
|
<refname>PostGIS_Scripts_Installed</refname>
|
|
|
|
<refpurpose>Returns version of the postgis scripts installed in this
|
|
database.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Scripts_Installed</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns version of the postgis scripts installed in this
|
|
database.</para>
|
|
|
|
<note>
|
|
<para>If the output of this function doesn't match the output of
|
|
<xref linkend="PostGIS_Scripts_Released" />
|
|
you probably missed to properly upgrade an existing database.
|
|
See the <link linkend="upgrading">Upgrading</link> section for
|
|
more info.</para>
|
|
</note>
|
|
|
|
<para>Availability: 0.9.0</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Scripts_Installed();
|
|
postgis_scripts_installed
|
|
-------------------------
|
|
1.5.0SVN
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref linkend="PostGIS_Scripts_Released" />, <xref linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Scripts_Released">
|
|
<refnamediv>
|
|
<refname>PostGIS_Scripts_Released</refname>
|
|
|
|
<refpurpose>Returns the version number of the postgis.sql script
|
|
released with the installed postgis lib.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Scripts_Released</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns the version number of the postgis.sql script
|
|
released with the installed postgis lib.</para>
|
|
|
|
<note>
|
|
<para>Starting with version 1.1.0 this function returns the same
|
|
value of <xref linkend="PostGIS_Lib_Version" />. Kept
|
|
for backward compatibility.</para>
|
|
</note>
|
|
|
|
<para>Availability: 0.9.0</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Scripts_Released();
|
|
postgis_scripts_released
|
|
-------------------------
|
|
1.3.4SVN
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref linkend="PostGIS_Scripts_Installed" />, <xref linkend="PostGIS_Lib_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Uses_Stats">
|
|
<refnamediv>
|
|
<refname>PostGIS_Uses_Stats</refname>
|
|
|
|
<refpurpose>Returns <varname>TRUE</varname> if STATS usage has been
|
|
enabled.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Uses_Stats</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns <varname>TRUE</varname> if STATS usage has been enabled,
|
|
<varname>FALSE</varname> otherwise.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Uses_Stats();
|
|
postgis_uses_stats
|
|
--------------------
|
|
t
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="PostGIS_Version">
|
|
<refnamediv>
|
|
<refname>PostGIS_Version</refname>
|
|
|
|
<refpurpose>Returns PostGIS version number and compile-time
|
|
options.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>PostGIS_Version</function></funcdef>
|
|
|
|
<paramdef></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Returns PostGIS version number and compile-time options.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>SELECT PostGIS_Version();
|
|
postgis_version
|
|
---------------------------------------
|
|
1.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
|
|
(1 row)</programlisting>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="PostGIS_Full_Version" />, <xref
|
|
linkend="PostGIS_GEOS_Version" />,<xref
|
|
linkend="PostGIS_Lib_Version" />, <xref
|
|
linkend="PostGIS_LibXML_Version" />, <xref
|
|
linkend="PostGIS_PROJ_Version" /></para>
|
|
</refsection>
|
|
</refentry>
|
|
|
|
<refentry id="Populate_Geometry_Columns">
|
|
<refnamediv>
|
|
<refname>Populate_Geometry_Columns</refname>
|
|
|
|
<refpurpose>Ensures geometry columns are defined with type modifiers or have appropriate spatial constraints
|
|
This ensures they will be registered correctly in <varname>geometry_columns</varname> view. By default will convert all geometry
|
|
columns with no type modifier to ones with type modifiers. To get old behavior set <varname>use_typmod=false</varname></refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>Populate_Geometry_Columns</function></funcdef>
|
|
|
|
<paramdef><type>boolean </type> <parameter>use_typmod=true</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>int <function>Populate_Geometry_Columns</function></funcdef>
|
|
|
|
<paramdef><type>oid</type> <parameter>relation_oid</parameter></paramdef>
|
|
<paramdef><type>boolean </type> <parameter>use_typmod=true</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Ensures geometry columns have appropriate type modifiers or spatial constraints to ensure they are registered correctly in <varname>geometry_columns</varname> table.</para>
|
|
|
|
<para>For backwards compatibility and for spatial needs such as tble inheritance where each child table may have different geometry type, the old check constraint behavior is still supported.
|
|
If you need the old behavior, you need to pass in the new optional argument as false <varname>use_typmod=false</varname>. When this is done geometry columns will be created with no type modifiers
|
|
but will have 3 constraints defined. In particular,
|
|
this means that every geometry column belonging to a table has at least
|
|
three constraints:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><varname>enforce_dims_the_geom</varname> - ensures every
|
|
geometry has the same dimension (see <xref
|
|
linkend="ST_NDims" />)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><varname>enforce_geotype_the_geom</varname> - ensures every
|
|
geometry is of the same type (see <xref
|
|
linkend="GeometryType" />)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><varname>enforce_srid_the_geom</varname> - ensures every
|
|
geometry is in the same projection (see <xref
|
|
linkend="ST_SRID" />)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>If a table <varname>oid</varname> is provided, this function
|
|
tries to determine the srid, dimension, and geometry type of all
|
|
geometry columns in the table, adding constraints as necessary. If
|
|
successful, an appropriate row is inserted into the geometry_columns
|
|
table, otherwise, the exception is caught and an error notice is raised
|
|
describing the problem.</para>
|
|
|
|
<para>If the <varname>oid</varname> of a view is provided, as with a
|
|
table oid, this function tries to determine the srid, dimension, and
|
|
type of all the geometries in the view, inserting appropriate entries
|
|
into the <varname>geometry_columns</varname> table, but nothing is done
|
|
to enforce contraints.</para>
|
|
|
|
<para>The parameterless variant is a simple wrapper for the parameterized
|
|
variant that first truncates and repopulates the geometry_columns table
|
|
for every spatial table and view in the database, adding spatial
|
|
contraints to tables where appropriate. It returns a summary of the
|
|
number of geometry columns detected in the database and the number that
|
|
were inserted into the <varname>geometry_columns</varname> table. The
|
|
parameterized version simply returns the number of rows inserted into
|
|
the <varname>geometry_columns</varname> table.</para>
|
|
<para>Availability: 1.4.0</para>
|
|
<para>Changed: 2.0.0 By default, now uses type modifiers instead of check constraints to constrain geometry types. You can still use check
|
|
constraint behavior instead by using the new <varname>use_typmod</varname> and setting it to false.</para>
|
|
<para>Enhanced: 2.0.0 <varname>use_typmod</varname> optional argument was introduced that allows controlling if columns are created with typmodifiers or with check constraints.</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>Examples</title>
|
|
|
|
<programlisting>
|
|
CREATE TABLE public.myspatial_table(gid serial, geom geometry);
|
|
INSERT INTO myspatial_table(geom) VALUES(ST_GeomFromText('LINESTRING(1 2, 3 4)',4326) );
|
|
-- This will now use typ modifiers. For this to work, there must exist data
|
|
SELECT Populate_Geometry_Columns('public.myspatial_table'::regclass);
|
|
|
|
populate_geometry_columns
|
|
--------------------------
|
|
1
|
|
|
|
|
|
\d myspatial_table
|
|
|
|
Table "public.myspatial_table"
|
|
Column | Type | Modifiers
|
|
--------+---------------------------+---------------------------------------------------------------
|
|
gid | integer | not null default nextval('myspatial_table_gid_seq'::regclass)
|
|
geom | geometry(LineString,4326) |
|
|
</programlisting>
|
|
|
|
<programlisting>-- This will change the geometry columns to use constraints if they are not typmod or have constraints already.
|
|
--For this to work, there must exist data
|
|
CREATE TABLE public.myspatial_table_cs(gid serial, geom geometry);
|
|
INSERT INTO myspatial_table_cs(geom) VALUES(ST_GeomFromText('LINESTRING(1 2, 3 4)',4326) );
|
|
SELECT Populate_Geometry_Columns('public.myspatial_table_cs'::regclass, false);
|
|
populate_geometry_columns
|
|
--------------------------
|
|
1
|
|
\d myspatial_table_cs
|
|
|
|
Table "public.myspatial_table_cs"
|
|
Column | Type | Modifiers
|
|
--------+----------+------------------------------------------------------------------
|
|
gid | integer | not null default nextval('myspatial_table_cs_gid_seq'::regclass)
|
|
geom | geometry |
|
|
Check constraints:
|
|
"enforce_dims_geom" CHECK (st_ndims(geom) = 2)
|
|
"enforce_geotype_geom" CHECK (geometrytype(geom) = 'LINESTRING'::text OR geom IS NULL)
|
|
"enforce_srid_geom" CHECK (st_srid(geom) = 4326)</programlisting>
|
|
</refsection>
|
|
|
|
<!--
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="Probe_Geometry_Columns" /></para>
|
|
</refsection>
|
|
-->
|
|
|
|
</refentry>
|
|
|
|
<refentry id="UpdateGeometrySRID">
|
|
<refnamediv>
|
|
<refname>UpdateGeometrySRID</refname>
|
|
|
|
<refpurpose>Updates the SRID of all features in a geometry
|
|
column, geometry_columns metadata and srid table constraint</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef>text <function>UpdateGeometrySRID</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>UpdateGeometrySRID</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
</funcprototype>
|
|
|
|
<funcprototype>
|
|
<funcdef>text <function>UpdateGeometrySRID</function></funcdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>catalog_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>schema_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>table_name</parameter></paramdef>
|
|
|
|
<paramdef><type>varchar </type>
|
|
<parameter>column_name</parameter></paramdef>
|
|
|
|
<paramdef><type>integer </type>
|
|
<parameter>srid</parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsection>
|
|
<title>Description</title>
|
|
|
|
<para>Updates the SRID of all features in a geometry column, updating
|
|
constraints and reference in geometry_columns. Note: uses
|
|
current_schema() on schema-aware pgsql installations if schema is not
|
|
provided.</para>
|
|
<para>&Z_support;</para>
|
|
<para>&curve_support;</para>
|
|
</refsection>
|
|
|
|
<refsection>
|
|
<title>See Also</title>
|
|
|
|
<para><xref linkend="ST_SetSRID"/></para>
|
|
</refsection>
|
|
</refentry>
|
|
</sect1>
|