Annotation Database Entity Documentation: Difference between revisions

From MediaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 41: Line 41:


<!-- BEGIN GENERATED CONTENT -->
<!-- BEGIN GENERATED CONTENT -->
<span id="intertidal"></span>
== Schema: intertidal ==


Stores data for the intertidal database. Contains information about UAS flights, surveys and other derivative data.
=== Schema: admin ===
<span id="admin"></span>


<span id="intertidal.quadrat"></span>
==== Tables ====
=== Table: quadrat ===


A record of observations within an intertidal quadrat.
===== cache_table =====
<span id="admin.cache_table"></span>


{| class="wikitable"
A table containing information about cache refreshment procedures and the tables they impact. The cache_refresh_tables procedure will read this table and execute the procedures stored therein.
|+ Columns in "quadrat"
|-
! Name !! Type !! Nullable !! Documentation
|-
| centroid_height || real || YES || The elevation of the corner position in m (ellipsoidal).
|-
| centroid_lat || double precision || YES || The corner latitude.
|-
| centroid_lon || double precision || YES || The corner longitude.
|-
| corner_height1 || real || YES || The elevation of the corner position in m (ellipsoidal).
|-
| corner_height2 || real || YES || The elevation of the corner position in m (ellipsoidal).
|-
| corner_height3 || real || YES || The elevation of the corner position in m (ellipsoidal).
|-
| corner_height4 || real || YES || The elevation of the corner position in m (ellipsoidal).
|-
| corner_lat1 || double precision || YES || The corner latitude.
|-
| corner_lat2 || double precision || YES || The corner latitude.
|-
| corner_lat3 || double precision || YES || The corner latitude.
|-
| corner_lat4 || double precision || YES || The corner latitude.
|-
| corner_lon1 || double precision || YES || The corner longitude.
|-
| corner_lon2 || double precision || YES || The corner longitude.
|-
| corner_lon3 || double precision || YES || The corner longitude.
|-
| corner_lon4 || double precision || YES || The corner longitude.
|-
| created_on || timestamp without time zone || NO || created_on = models.DateTimeField(default = datetime.utcnow, null = False)
|-
| flag_number || character varying || NO || The number of the flag used to mark the quadrat. May be non-numeric if necessary.
|-
| geom || geometry || YES || A geometry representing either the corners of the quadrat (multipoint) or the centroid.
|-
| name || character varying || NO || A unique name for the quadrat.
|-
| note || text || YES || An optional note about the quadrat.
|-
| survey_id || integer || NO || A reference to the [[#intertidal.survey|intertidal suvey]].
|-
| time || timestamp without time zone || NO || The time of the quadrat (UTC).
|-
| transect || integer || NO || The transect number. This is an integer corresponding to whatever rubric was chosen for the survey.
|-
| zone || integer || NO || The zone number. This is an integer corresponding to whatever rubric was chosen for the survey.
|}


<span id="intertidal.quadrat_observation"></span>
====== Columns ======
=== Table: quadrat_observation ===


Records observations within [[#intertidal.quadrat|quadrats]]. The observation type enumeration is defined in the database export panel.
* '''id''' — ''No comment''
* '''table_name''' — Stores the name of the table impacted by the associated cache procedure. Triggers will be disabled on the table, then re-enabled.
* '''proc_name''' — The name of the cache refresh procedure to be called.
* '''created_on''' — ''No comment''
* '''updated_on''' — ''No comment''


{| class="wikitable"
==== Indexes ====
|+ Columns in "quadrat_observation"
|-
! Name !! Type !! Nullable !! Documentation
|-
| cell || integer || YES || The quadrat cell, typically from 0 - 100.
|-
| count || integer || YES || The number of organisms observed.
|-
| coverage || real || YES || The percent coverage by the organism, 0-100. TODO: Not part of the specification.
|-
| length || real || YES || The measured length of an organism.
|-
| quadrat_id || integer || NO || A link to the [[#intertidal.quadrat|quadrat]].
|-
| surveytaxon_id || integer || NO || A link to the [[#intertidal.survey_taxon|survey taxon]].
|-
| type || integer || YES || The type of observation; one of quadrat_obs_type.
|}


<span id="intertidal.quadrat_substrate"></span>
===== cache_table_pkey =====
=== Table: quadrat_substrate ===
<span id="admin.cache_table_pkey"></span>


List substrates observed in intertidal quadrats.
''No comment''


{| class="wikitable"
===== cache_table_proc_name_key =====
|+ Columns in "quadrat_substrate"
<span id="admin.cache_table_proc_name_key"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the substrate.
|}


<span id="intertidal.quadrat_substrate_coverage"></span>
''No comment''
=== Table: quadrat_substrate_coverage ===


Associates [[#intertidal.quadrat_substrate|quadrat substrate]] coverages with [[#intertidal.quadrats|quadrats]].
=== Schema: cache ===
<span id="cache"></span>


{| class="wikitable"
==== Tables ====
|+ Columns in "quadrat_substrate_coverage"
|-
! Name !! Type !! Nullable !! Documentation
|-
| coverage || real || NO || The coverage amount between 0% and 100%.
|-
| quadrat_id || integer || NO || A reference to the [[#intertidal.quadrat|quadrat]].
|-
| substrate_id || integer || NO || A reference to the [[#intertidal.quadrat_substrate|substrate]].
|}


<span id="intertidal.survey"></span>
===== cruise_stats =====
=== Table: survey ===
<span id="cache.cruise_stats"></span>


Stores metadata about intertidal surveys.
Stores compiled statistics for [cruises](#rov.cruise).


{| class="wikitable"
====== Columns ======
|+ Columns in "survey"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || NO || The time of creation of this record.
|-
| end_date || timestamp without time zone || YES || The end date of the survey.
|-
| name || character varying || NO || The name of the survey.
|-
| note || text || YES || Notes about the survey.
|-
| objective || text || YES || The survey objective.
|-
| site_id || integer || YES || Relates the survey to a [[#shared.site|site]] entity.
|-
| start_date || timestamp without time zone || NO || The start date of the survey.
|}


<span id="intertidal.survey_crew"></span>
* '''id''' — ''No comment''
=== Table: survey_crew ===
* '''cruise_id''' — The ID of the [cruise](#rov.cruise).
* '''name''' — The name of the [cruise](#rov.cruise).
* '''leg''' — The [cruise](#rov.cruise) leg.
* '''start_date''' — The start date of the [cruise](#rov.cruise).
* '''end_date''' — The end date of the [cruise](#rov.cruise).
* '''num_dives''' — The number of dives performed during the [cruise](#rov.cruise).
* '''num_measurements''' — The number measurements collected during the [cruise](#rov.cruise).
* '''num_positions''' — The number positions collected during the [cruise](#rov.cruise).
* '''num_habitats''' — The number habitats annotated during the [cruise](#rov.cruise).
* '''num_observations''' — The number observations annotated during the [cruise](#rov.cruise).
* '''is_approved''' — ''No comment''
* '''num_transects''' — The number of [transects](#rov.transect) that occurred during this [cruise](#rov.cruise).
* '''num_taxa''' — The number of [taxa](#taxonomy.taxon) observed during this [cruise](#rov.cruise).
* '''num_cruise_crew''' — The number of [crew members](#rov.cruise_crew) configured for this [cruise](#rov.cruise).
* '''num_dive_crew''' — The number of [crew members](#rov.dive_crew) configured for the [dives](#rov.dive) of this [cruise](#rov.cruise).
* '''num_ap_docs''' — The number of [documents](#rov.annotation_protocol_document) attached to an [annotation protocol](#rov.annotation_protocol) used to annotate this [cruise's](#rov.cruise) data.
* '''num_cruise_docs''' — True if there is at least one [document](#rov.cruise_document) attached this [cruise](#rov.cruise).
* '''has_fov''' — True if the cruise has field of view measurements.


Associates [[#intertidal.survey|intertidal survey]] crew members with [[#intertidal.survey_role|roles]].
===== cruise_track =====
<span id="cache.cruise_track"></span>


{| class="wikitable"
Constructs a geometry for each [cruise](#rov.cruise) which describes the path of the ship.
|+ Columns in "survey_crew"
|-
! Name !! Type !! Nullable !! Documentation
|-
| note || text || YES || An optional note about the survey role.
|-
| person_id || integer || NO || A reference to the person with this [[#shared.person|role]].
|-
| role_id || integer || NO || A reference to the [[#intertidal.survey_role|role]].
|-
| survey_id || integer || NO || A reference to the [[#intertidal.survey|survey]].
|}


<span id="intertidal.survey_role"></span>
====== Columns ======
=== Table: survey_role ===


A list of roles available to [[#intertidal.survey_crew|intertidal survey crew members]].
* '''cruise_id''' — The reference to the [cruise](#rov.cruise).
* '''cruise_name''' — The [cruise](#rov.cruise) name and leg.
* '''colour''' — The a colour code generated from the cruise's ID used for cartography.
* '''geom''' — The cruise track geometry.


{| class="wikitable"
===== dive_track =====
|+ Columns in "survey_role"
<span id="cache.dive_track"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the role.
|-
| note || text || YES || A note about the role.
|}


<span id="intertidal.survey_taxon"></span>
Constructs a geometry for each [dive](#rov.dive) which describes the path of the submersible.
=== Table: survey_taxon ===


Links [[#shared.taxon|taxon]] records to [[#intertidal.survey|intertidal surveys]].
====== Columns ======


{| class="wikitable"
* '''dive_id''' — The reference to the [dive](#rov.dive).
|+ Columns in "survey_taxon"
* '''cruise_id''' — The reference to the [cruise](#rov.cruise).
|-
* '''dive_name''' — The [dive](#rov.dive) name.
! Name !! Type !! Nullable !! Documentation
* '''cruise_name''' — The [cruise](#rov.cruise) name.
|-
* '''colour''' — The a colour code generated from the cruise's ID. Used for cartography.
| survey_id || integer || NO || A link to the [[#intertidal.survey|survey]].
* '''geom''' — The dive track geometry.
|-
| taxon_id || integer || NO || A link to the [[#shared.taxon|taxon]] record.
|}


===== evt_depth =====
<span id="cache.evt_depth"></span>
Creates a relation between an [event](#rov.event) and the [depth](#rov.measurement) nearest the start and end times of the event.
====== Columns ======
* '''event_id''' — The link to the [event's](#rov.event) event ID.
* '''instrument_config_id''' — The link to the [instrument configuration](#rov.instrument_config).
* '''timestamps''' — The array of timestamps corresponding to the depths.
* '''depths''' — The array of [depths](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple depths are returned.
===== evt_measurement =====
<span id="cache.evt_measurement"></span>
Creates a relation between an [event](#rov.event) and the [measurement](#rov.measurement) nearest the start and end times of the event.
====== Columns ======
* '''event_id''' — The link to the [event's](#rov.event) event ID.
* '''instrument_config_id''' — The link to the [instrument configuration](#rov.instrument_config).
* '''measurement_type_id''' — The link to the [measurement type](#rov.measurement_type).
* '''timestamps''' — The array of timestamps corresponding to the measurements.
* '''measurements''' — The array of [measurements](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple measurements are returned.
===== evt_pos =====
<span id="cache.evt_pos"></span>
Creates a relation between an [event](#rov.event) and the [positions](#rov.position) within the span of the event, as a MultiPoint.
====== Columns ======
* '''event_id''' — The link to the [event's](#rov.event)'s event ID.
* '''instrument_config_id''' — The link to the [instrument configuration](#rov.instrument_config).
* '''timestamps''' — The list of timestamps corresponding to the geometries in the geoms column.
* '''geoms''' — The list of positions comprising the ROV track during the time span of the event. A MultiPoint.
===== transect_track =====
<span id="cache.transect_track"></span>
Constructs a geometry for each [transect](#rov.transect) which describes the path of the submersible.
====== Columns ======
* '''transect_id''' — The reference to the [transect](#rov.transect).
* '''dive_id''' — The reference to the [dive](#rov.dive).
* '''cruise_id''' — The reference to the [cruise](#rov.cruise).
* '''transect_name''' — The [transect](#rov.transect) name.
* '''dive_name''' — The [dive](#rov.dive) name.
* '''cruise_name''' — The [cruise](#rov.cruise) name.
* '''colour''' — The a colour code generated from the cruise's ID. Used for cartography.
* '''geom''' — The transect track geometry.
==== Indexes ====
===== cache_evt_depth_depth_idx =====
<span id="cache.cache_evt_depth_depth_idx"></span>
''No comment''
===== cache_evt_depth_event_id_idx =====
<span id="cache.cache_evt_depth_event_id_idx"></span>
''No comment''
===== cache_evt_depth_instrument_config_id_idx =====
<span id="cache.cache_evt_depth_instrument_config_id_idx"></span>
''No comment''
===== cache_evt_depth_timestamp_idx =====
<span id="cache.cache_evt_depth_timestamp_idx"></span>
''No comment''
===== cache_evt_measurement_event_id_idx =====
<span id="cache.cache_evt_measurement_event_id_idx"></span>
''No comment''
===== cache_evt_measurement_instrument_config_id_idx =====
<span id="cache.cache_evt_measurement_instrument_config_id_idx"></span>
''No comment''
===== cache_evt_measurement_measurement_idx =====
<span id="cache.cache_evt_measurement_measurement_idx"></span>
''No comment''
===== cache_evt_measurement_measurement_type_id_idx =====
<span id="cache.cache_evt_measurement_measurement_type_id_idx"></span>
''No comment''
===== cache_evt_measurement_timestamp_idx =====
<span id="cache.cache_evt_measurement_timestamp_idx"></span>
''No comment''
===== cache_evt_pos_event_id_idx =====
<span id="cache.cache_evt_pos_event_id_idx"></span>
''No comment''
===== cache_evt_pos_geom_idx =====
<span id="cache.cache_evt_pos_geom_idx"></span>
''No comment''
===== cache_evt_pos_geom_idx_cast =====
<span id="cache.cache_evt_pos_geom_idx_cast"></span>
''No comment''
===== cache_evt_pos_instrument_config_id_idx =====
<span id="cache.cache_evt_pos_instrument_config_id_idx"></span>
''No comment''
===== cache_evt_pos_timestamps_idx =====
<span id="cache.cache_evt_pos_timestamps_idx"></span>
''No comment''
===== cruise_stats_pkey =====
<span id="cache.cruise_stats_pkey"></span>
''No comment''
===== cruise_track_index_geom =====
<span id="cache.cruise_track_index_geom"></span>
''No comment''
===== cruise_track_pkey =====
<span id="cache.cruise_track_pkey"></span>
''No comment''
===== dive_track_index_geom =====
<span id="cache.dive_track_index_geom"></span>
''No comment''
===== dive_track_pkey =====
<span id="cache.dive_track_pkey"></span>
''No comment''
===== evt_measurement_event_idx =====
<span id="cache.evt_measurement_event_idx"></span>
Lookup index for cache procedure
===== evt_pos_event_idx =====
<span id="cache.evt_pos_event_idx"></span>
Lookup index for cache procedure.
===== pk_evt_depth =====
<span id="cache.pk_evt_depth"></span>
''No comment''
===== pk_evt_measurement =====
<span id="cache.pk_evt_measurement"></span>
''No comment''
===== pk_evt_pos =====
<span id="cache.pk_evt_pos"></span>
''No comment''
===== transect_track_index_geom =====
<span id="cache.transect_track_index_geom"></span>
''No comment''
===== transect_track_pkey =====
<span id="cache.transect_track_pkey"></span>
''No comment''
=== Schema: geo ===
<span id="geo"></span>
==== Tables ====
===== area =====
<span id="geo.area"></span>
Stores area geometries linked to [area groups](#geo.area_group).
====== Columns ======
* '''id''' — ''No comment''
* '''area_group_id''' — ''No comment''
* '''name_en''' — The english name of the area.
* '''name_fr''' — The french name of the area.
* '''properties''' — A JSON object containing properties of the area.
* '''geom''' — The area geometry, a MultiPolygon.
===== area_group =====
<span id="geo.area_group"></span>
Stores groups of similar areas, such as MPAs, seamounts, etc. Linked by [areas](#geo.area).
====== Columns ======
* '''id''' — ''No comment''
* '''name_en''' — The english name of the area group.
* '''name_fr''' — The french name of the area group.
* '''description_en''' — The english description of the area group.
* '''description_fr''' — The french description of the area group.
==== Indexes ====
===== area_group_name_en_key =====
<span id="geo.area_group_name_en_key"></span>
''No comment''
===== area_group_pkey =====
<span id="geo.area_group_pkey"></span>
''No comment''
===== area_pkey =====
<span id="geo.area_pkey"></span>
''No comment''
===== geo_area_geom_idx =====
<span id="geo.geo_area_geom_idx"></span>
''No comment''
=== Schema: maxmind ===
<span id="maxmind"></span>
==== Tables ====
===== geoip_city_blocks =====
<span id="maxmind.geoip_city_blocks"></span>
Contains both IPv4 and IPv6 network addresses, which reference locations in the [geoip_city_locations](#maxmind.geoip_city_locations) table.
====== Columns ======
* '''network''' — The network address, IPv4 or IPv6.
* '''geoname_id''' — References the location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table.
* '''registered_country_geoname_id''' — The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table which is registered to the network address.
* '''represented_country_geoname_id''' — The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table from which the IP comes.
* '''is_anonymous_proxy''' — True if the address is of an anonymous proxy.
* '''is_satellite_provider''' — True if the address is used by a satellite network provider.
* '''postal_code''' — The postal code of the location.
* '''latitude''' — The latitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
* '''longitude''' — The longitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
* '''accuracy_radius''' — The radius (m) of a circle within which the location is located.
* '''is_anycast''' — True if the address is that of an Anycast network.
* '''location''' — ''No comment''
* '''region''' — ''No comment''
===== geoip_city_locations =====
<span id="maxmind.geoip_city_locations"></span>
Stores the country, region and city data for GeoIP.
====== Columns ======
* '''geoname_id''' — The internal GeoIP city ID.
* '''locale_code''' — The two-character local code.
* '''continent_code''' — The two-character ISO continent code.
* '''continent_name''' — The continent name
* '''country_iso_code''' — The two-character ISO country code.
* '''country_name''' — The country name
* '''subdivision_1_iso_code''' — The ISO subdivision 1 code.
* '''subdivision_1_name''' — The ISO subdivision 1 name.
* '''subdivision_2_iso_code''' — The ISO subdivision 2 code.
* '''subdivision_2_name''' — The ISO subdivision 2 name.
* '''city_name''' — The city name.
* '''metro_code''' — The three-digit metro code.
* '''time_zone''' — The name of the time zone.
* '''is_in_european_union''' — True if the location is within the European Union.
===== geoip_last_update =====
<span id="maxmind.geoip_last_update"></span>
Stores the time of last update of the database.
====== Columns ======
* '''last_update''' — The time of last update of the database.
==== Indexes ====
===== geoip_city_blocks_location_idx =====
<span id="maxmind.geoip_city_blocks_location_idx"></span>
''No comment''
===== geoip_city_blocks_network_idx =====
<span id="maxmind.geoip_city_blocks_network_idx"></span>
''No comment''
===== geoip_city_blocks_pkey =====
<span id="maxmind.geoip_city_blocks_pkey"></span>
''No comment''
===== geoip_city_blocks_region_idx =====
<span id="maxmind.geoip_city_blocks_region_idx"></span>
''No comment''
===== geoip_city_locations_pkey =====
<span id="maxmind.geoip_city_locations_pkey"></span>
''No comment''
=== Schema: ndst ===
<span id="ndst"></span>
<span id="ndst"></span>
== Schema: ndst ==


Contains tables that store transient data loaded from the [https://msea.science/Dive-Logging-App Dive Logging App] so it can be loaded into the ROV database.
==== Tables ====


===== cruise =====
<span id="ndst.cruise"></span>
<span id="ndst.cruise"></span>
=== Table: cruise ===


Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the [[#rov.cruise|cruise]] table.
Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the [cruise](#rov.cruise) table.
 
====== Columns ======


{| class="wikitable"
* '''row_id''' — A UUID providing a universally-unique identifier for the cruise.
|+ Columns in "cruise"
* '''name''' — The name of the cruise.
|-
* '''leg''' — The leg of the cruise. Should start at 1 and increase.
! Name !! Type !! Nullable !! Documentation
* '''objective''' — ''No comment''
|-
* '''summary''' — A summary of the cruise, its accomplishments, problems, etc.
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''note''' — The objective of the cruise.
|-
* '''status''' — The current status of the cruise viz. database import.
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
* '''created_on''' — The date and time of creation of the entity.
|-
* '''updated_on''' — The date and time of the entity's last update.
| hide || integer || NO || True if the entity should be hidden in the UI.
* '''id''' — ''No comment''
|-
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| leg || text || YES || The leg of the cruise. Should start at 1 and increase.
* '''hide''' — True if the entity should be hidden in the UI.
|-
| name || text || YES || The name of the cruise.
|-
| note || text || YES || The objective of the cruise.
|-
| objective || text || YES || [None]
|-
| row_id || text || YES || A UUID providing a universally-unique identifier for the cruise.
|-
| status || character varying || YES || The current status of the cruise viz. database import.
|-
| summary || text || YES || A summary of the cruise, its accomplishments, problems, etc.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


===== diveconfig =====
<span id="ndst.diveconfig"></span>
<span id="ndst.diveconfig"></span>
=== Table: diveconfig ===


Stores configurations for each dive, including the submersible, ship and any instruments on either.
Stores configurations for each dive, including the submersible, ship and any instruments on either.


{| class="wikitable"
====== Columns ======
|+ Columns in "diveconfig"
 
|-
* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
! Name !! Type !! Nullable !! Documentation
* '''name''' — The name of the dive config.
|-
* '''ship_config''' — Stores the name of the [ship configuration](#ndst.equipconfig) during the dive.
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''sub_config''' — Stores the name of the [submersible configuration](#ndst.equipconfig) during the dive.
|-
* '''ship_instrument_configs''' — Stores the names of the [instruments](#ndst.equipconfig) on the ship during the dive.
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
* '''sub_instrument_configs''' — Stores the names of the [instruments](#ndst.equipconfig) on the sub during the dive.
|-
* '''note''' — A note about the dive config.
| name || text || YES || The name of the dive config.
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
* '''id''' — ''No comment''
| note || text || YES || A note about the dive config.
* '''created_on''' — The date and time of creation of the entity.
|-
* '''updated_on''' — The date and time of the entity's last update.
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
|-
| ship_config || text || YES || Stores the name of the [[#ndst.equipconfig|ship configuration]] during the dive.
|-
| ship_instrument_configs || text || YES || Stores the names of the [[#ndst.equipconfig|instruments]] on the ship during the dive.
|-
| sub_config || text || YES || Stores the name of the [[#ndst.equipconfig|submersible configuration]] during the dive.
|-
| sub_instrument_configs || text || YES || Stores the names of the [[#ndst.equipconfig|instruments]] on the sub during the dive.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


===== dives =====
<span id="ndst.dives"></span>
<span id="ndst.dives"></span>
=== Table: dives ===


Stores information about each dive.
Stores information about each dive.


{| class="wikitable"
====== Columns ======
|+ Columns in "dives"
 
|-
* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
! Name !! Type !! Nullable !! Documentation
* '''cruise_name''' — The name of the [cruise](#ndst.cruise).
|-
* '''leg''' — The leg of the [cruise](#ndst.cruise).
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''name''' — The name of the dive.
|-
* '''pilot''' — The [pilot](#shared.person)(s) of the dive.
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
* '''start_time''' — The time of dive start.
|-
* '''end_time''' — The time of dive ending.
| cruise_name || text || YES || The name of the [[#ndst.cruise|cruise]].
* '''site_name''' — The name of the dive site.
|-
* '''dive_config''' — The name of the [dive configuration](#ndst.diveconfig).
| dive_config || text || YES || The name of the [[#ndst.diveconfig|dive configuration]].
* '''objective''' — The objective of the dive.
|-
* '''summary''' — A summary of the dive, its accomplishments, problems, etc.
| end_time || text || YES || The time of dive ending.
* '''note''' — A note about the dive.
|-
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| hide || integer || NO || True if the entity should be hidden in the UI.
* '''hide''' — True if the entity should be hidden in the UI.
|-
* '''id''' — ''No comment''
| leg || text || YES || The leg of the [[#ndst.cruise|cruise]].
* '''created_on''' — The date and time of creation of the entity.
|-
* '''updated_on''' — The date and time of the entity's last update.
| name || text || YES || The name of the dive.
|-
| note || text || YES || A note about the dive.
|-
| objective || text || YES || The objective of the dive.
|-
| pilot || text || YES || The [[#ndst.person|pilot]](s) of the dive.
|-
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
|-
| site_name || text || YES || The name of the dive site.
|-
| start_time || text || YES || The time of dive start.
|-
| summary || text || YES || A summary of the dive, its accomplishments, problems, etc.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


===== equipconfig =====
<span id="ndst.equipconfig"></span>
<span id="ndst.equipconfig"></span>
=== Table: equipconfig ===


Stores configurations for [[#ndst.equipment|equipment]], including instruments and platforms.
Stores configurations for [equipment](#ndst.equipment), including instruments and platforms.
 
====== Columns ======


{| class="wikitable"
* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
|+ Columns in "equipconfig"
* '''name''' — The name of the equipment config.
|-
* '''short_code''' — A short, easy-to-use identifier for the configuration.
! Name !! Type !! Nullable !! Documentation
* '''type''' — The type of equipment.
|-
* '''configuration''' — A JSON object containing configuration properties.
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''note''' — A note about the equipment config.
|-
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| configuration || text || YES || A JSON object containing configuration properties.
* '''id''' — ''No comment''
|-
* '''created_on''' — The date and time of creation of the entity.
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
* '''updated_on''' — The date and time of the entity's last update.
|-
| name || text || YES || The name of the equipment config.
|-
| note || text || YES || A note about the equipment config.
|-
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
|-
| short_code || text || YES || A short, easy-to-use identifier for the configuration.
|-
| type || text || YES || The type of equipment.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


===== equipment =====
<span id="ndst.equipment"></span>
<span id="ndst.equipment"></span>
=== Table: equipment ===


Stores equipment, including instruments and platforms.
Stores equipment, including instruments and platforms.


{| class="wikitable"
====== Columns ======
|+ Columns in "equipment"
|-
! Name !! Type !! Nullable !! Documentation
|-
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| brand || text || YES || The brand name of the equipment.
|-
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
|-
| instrument_id || integer || YES || The ID of the [[#rov.instrument|instrument]] in the ROV database. Mutually exclusive with platform_id.
|-
| model || text || YES || The model name of the equipment.
|-
| note || text || YES || A note about the equipment.
|-
| platform_id || integer || YES || The ID of the [[#rov.platform|platform]] in the ROV database. Mutually exclusive with instrument_id.
|-
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
|-
| serial_number || text || YES || The serial number.
|-
| short_code || text || YES || The short code for the equipment as used in the [[#rov.equipment|ROV database equipment table]].
|-
| short_code_mapped || character varying || YES || An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
|-
| type || text || YES || The type of equipment.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
* '''short_code''' — The short code for the equipment as used in the [ROV database equipment table](#ndst.equipment).
* '''brand''' — The brand name of the equipment.
* '''model''' — The model name of the equipment.
* '''serial_number''' — The serial number.
* '''type''' — The type of equipment.
* '''note''' — A note about the equipment.
* '''instrument_id''' — The ID of the [instrument](#rov.instrument) in the ROV database. Mutually exclusive with platform_id.
* '''platform_id''' — The ID of the [platform](#rov.platform) in the ROV database. Mutually exclusive with instrument_id.
* '''short_code_mapped''' — An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''id''' — ''No comment''
* '''created_on''' — The date and time of creation of the entity.
* '''updated_on''' — The date and time of the entity's last update.
===== people =====
<span id="ndst.people"></span>
<span id="ndst.people"></span>
=== Table: people ===


Stores the people who worked on the [[#ndst.cruise|cruise]].
Stores the people who worked on the [cruise](#ndst.cruise).


{| class="wikitable"
====== Columns ======
|+ Columns in "people"
|-
! Name !! Type !! Nullable !! Documentation
|-
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
|-
| email || text || YES || The email address.
|-
| first_name || text || YES || The first name.
|-
| initials || text || YES || The initials. Used like a short code for the person.
|-
| last_name || text || YES || The last name.
|-
| person_id || integer || YES || The ID of the [[#rov.person|person]] in the ROV database.
|-
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|}


* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
* '''initials''' — The initials. Used like a short code for the person.
* '''first_name''' — The first name.
* '''last_name''' — The last name.
* '''email''' — The email address.
* '''person_id''' — The ID of the [person](#shared.person) in the ROV database.
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''id''' — ''No comment''
* '''created_on''' — The date and time of creation of the entity.
* '''updated_on''' — The date and time of the entity's last update.
===== transects =====
<span id="ndst.transects"></span>
<span id="ndst.transects"></span>
=== Table: transects ===


Stores information about each transect.
Stores information about each transect.


{| class="wikitable"
====== Columns ======
|+ Columns in "transects"
 
|-
* '''row_id''' — A UUID providing a universally-unique identifier for the entity.
! Name !! Type !! Nullable !! Documentation
* '''cruise_name''' — The name of the [cruise](#ndst.cruise).
|-
* '''leg''' — The leg of the [cruise](#ndst.cruise).
| active || boolean || NO || Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
* '''dive_name''' — The name of the dive.
|-
* '''name''' — The name of the transect.
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
* '''start_time''' — The time of transect start.
|-
* '''end_time''' — The time of transect ending.
| cruise_name || text || YES || The name of the [[#ndst.cruise|cruise]].
* '''objective''' — The objective of the transect.
|-
* '''summary''' — A summary of the transect, its accomplishments, problems, etc.
| dive_name || text || YES || The name of the dive.
* '''note''' — A note about the transect.
|-
* '''active''' — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| end_time || text || YES || The time of transect ending.
* '''hide''' — True if the entity should be hidden in the UI.
|-
* '''id''' — ''No comment''
| hide || integer || NO || True if the entity should be hidden in the UI.
* '''created_on''' — The date and time of creation of the entity.
|-
* '''updated_on''' — The date and time of the entity's last update.
| leg || text || YES || The leg of the [[#ndst.cruise|cruise]].
 
|-
==== Indexes ====
| name || text || YES || The name of the transect.
 
|-
===== cruise_pkey =====
| note || text || YES || A note about the transect.
<span id="ndst.cruise_pkey"></span>
|-
 
| objective || text || YES || The objective of the transect.
''No comment''
|-
 
| row_id || text || YES || A UUID providing a universally-unique identifier for the entity.
===== cruise_row_id_key =====
|-
<span id="ndst.cruise_row_id_key"></span>
| start_time || text || YES || The time of transect start.
 
|-
''No comment''
| summary || text || YES || A summary of the transect, its accomplishments, problems, etc.
 
|-
===== diveconfig_pkey =====
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
<span id="ndst.diveconfig_pkey"></span>
|}
 
''No comment''
 
===== diveconfig_row_id_key =====
<span id="ndst.diveconfig_row_id_key"></span>
 
''No comment''
 
===== dives_pkey =====
<span id="ndst.dives_pkey"></span>
 
''No comment''
 
===== dives_row_id_key =====
<span id="ndst.dives_row_id_key"></span>
 
''No comment''
 
===== equipconfig_pkey =====
<span id="ndst.equipconfig_pkey"></span>
 
''No comment''
 
===== equipconfig_row_id_key =====
<span id="ndst.equipconfig_row_id_key"></span>
 
''No comment''
 
===== equipment_pkey =====
<span id="ndst.equipment_pkey"></span>
 
''No comment''
 
===== equipment_row_id_key =====
<span id="ndst.equipment_row_id_key"></span>
 
''No comment''
 
===== people_pkey =====
<span id="ndst.people_pkey"></span>
 
''No comment''
 
===== people_row_id_key =====
<span id="ndst.people_row_id_key"></span>
 
''No comment''
 
===== transects_pkey =====
<span id="ndst.transects_pkey"></span>
 
''No comment''
 
===== transects_row_id_key =====
<span id="ndst.transects_row_id_key"></span>
 
''No comment''
 
=== Schema: public ===
<span id="public"></span>
 
==== Tables ====
 
===== auth_group =====
<span id="public.auth_group"></span>
 
A Django table for authorization groups.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''name''' — ''No comment''
 
===== auth_group_permissions =====
<span id="public.auth_group_permissions"></span>
 
A Django table for permissions on authorization groups.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''group_id''' — ''No comment''
* '''permission_id''' — ''No comment''
 
===== auth_permission =====
<span id="public.auth_permission"></span>
 
A Django table for available permissions.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''name''' — ''No comment''
* '''content_type_id''' — ''No comment''
* '''codename''' — ''No comment''
 
===== auth_user =====
<span id="public.auth_user"></span>
 
A Django table for users.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''password''' — ''No comment''
* '''last_login''' — ''No comment''
* '''is_superuser''' — ''No comment''
* '''first_name''' — ''No comment''
* '''last_name''' — ''No comment''
* '''email''' — ''No comment''
* '''is_staff''' — ''No comment''
* '''is_active''' — ''No comment''
* '''date_joined''' — ''No comment''
* '''biigle_username''' — ''No comment''
* '''biigle_api_key''' — ''No comment''
* '''organization''' — ''No comment''
* '''org_type''' — ''No comment''
* '''registration_reason''' — ''No comment''
* '''bio''' — ''No comment''
* '''verification_code''' — ''No comment''
* '''verification_expiry''' — ''No comment''
* '''verification_time''' — ''No comment''
* '''registration_ip''' — ''No comment''
* '''ip_in_region''' — ''No comment''
* '''registration_note''' — ''No comment''
* '''allowed''' — ''No comment''
* '''password_reset_code''' — ''No comment''
* '''password_reset_expiry''' — ''No comment''
* '''registration_location''' — ''No comment''
 
===== auth_user_groups =====
<span id="public.auth_user_groups"></span>
 
A Django table to relate users to groups.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''user_id''' — ''No comment''
* '''group_id''' — ''No comment''
 
===== auth_user_user_permissions =====
<span id="public.auth_user_user_permissions"></span>
 
A Django for user permissions.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''user_id''' — ''No comment''
* '''permission_id''' — ''No comment''
 
===== django_admin_log =====
<span id="public.django_admin_log"></span>
 
A Django table for admin logging.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''action_time''' — ''No comment''
* '''object_id''' — ''No comment''
* '''object_repr''' — ''No comment''
* '''action_flag''' — ''No comment''
* '''change_message''' — ''No comment''
* '''content_type_id''' — ''No comment''
* '''user_id''' — ''No comment''
 
===== django_celery_beat_clockedschedule =====
<span id="public.django_celery_beat_clockedschedule"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''clocked_time''' — ''No comment''
 
===== django_celery_beat_crontabschedule =====
<span id="public.django_celery_beat_crontabschedule"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''minute''' — ''No comment''
* '''hour''' — ''No comment''
* '''day_of_week''' — ''No comment''
* '''day_of_month''' — ''No comment''
* '''month_of_year''' — ''No comment''
* '''timezone''' — ''No comment''
 
===== django_celery_beat_intervalschedule =====
<span id="public.django_celery_beat_intervalschedule"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''every''' — ''No comment''
* '''period''' — ''No comment''
 
===== django_celery_beat_periodictask =====
<span id="public.django_celery_beat_periodictask"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''name''' — ''No comment''
* '''task''' — ''No comment''
* '''args''' — ''No comment''
* '''kwargs''' — ''No comment''
* '''queue''' — ''No comment''
* '''exchange''' — ''No comment''
* '''routing_key''' — ''No comment''
* '''expires''' — ''No comment''
* '''enabled''' — ''No comment''
* '''last_run_at''' — ''No comment''
* '''total_run_count''' — ''No comment''
* '''date_changed''' — ''No comment''
* '''description''' — ''No comment''
* '''crontab_id''' — ''No comment''
* '''interval_id''' — ''No comment''
* '''solar_id''' — ''No comment''
* '''one_off''' — ''No comment''
* '''start_time''' — ''No comment''
* '''priority''' — ''No comment''
* '''headers''' — ''No comment''
* '''clocked_id''' — ''No comment''
* '''expire_seconds''' — ''No comment''
 
===== django_celery_beat_periodictasks =====
<span id="public.django_celery_beat_periodictasks"></span>
 
''No comment''
 
====== Columns ======
 
* '''ident''' — ''No comment''
* '''last_update''' — ''No comment''
 
===== django_celery_beat_solarschedule =====
<span id="public.django_celery_beat_solarschedule"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''event''' — ''No comment''
* '''latitude''' — ''No comment''
* '''longitude''' — ''No comment''
 
===== django_celery_results_chordcounter =====
<span id="public.django_celery_results_chordcounter"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''group_id''' — ''No comment''
* '''sub_tasks''' — ''No comment''
* '''count''' — ''No comment''
 
===== django_celery_results_groupresult =====
<span id="public.django_celery_results_groupresult"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''group_id''' — ''No comment''
* '''date_created''' — ''No comment''
* '''date_done''' — ''No comment''
* '''content_type''' — ''No comment''
* '''content_encoding''' — ''No comment''
* '''result''' — ''No comment''
 
===== django_celery_results_taskresult =====
<span id="public.django_celery_results_taskresult"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''task_id''' — ''No comment''
* '''status''' — ''No comment''
* '''content_type''' — ''No comment''
* '''content_encoding''' — ''No comment''
* '''result''' — ''No comment''
* '''date_done''' — ''No comment''
* '''traceback''' — ''No comment''
* '''meta''' — ''No comment''
* '''task_args''' — ''No comment''
* '''task_kwargs''' — ''No comment''
* '''task_name''' — ''No comment''
* '''worker''' — ''No comment''
* '''date_created''' — ''No comment''
* '''periodic_task_name''' — ''No comment''
* '''date_started''' — ''No comment''
 
===== django_content_type =====
<span id="public.django_content_type"></span>
 
A Django table for content types.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''app_label''' — ''No comment''
* '''model''' — ''No comment''
 
===== django_migrations =====
<span id="public.django_migrations"></span>
 
Records migrations applied to database.
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''app''' — ''No comment''
* '''name''' — ''No comment''
* '''applied''' — ''No comment''
 
===== django_session =====
<span id="public.django_session"></span>
 
Django session management.
 
====== Columns ======
 
* '''session_key''' — ''No comment''
* '''session_data''' — ''No comment''
* '''expire_date''' — ''No comment''
 
===== django_site =====
<span id="public.django_site"></span>
 
''No comment''
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''domain''' — ''No comment''
* '''name''' — ''No comment''
 
===== event_group =====
<span id="public.event_group"></span>
 
''No comment''
 
====== Columns ======
 
* '''event_id''' — ''No comment''
* '''group_id''' — ''No comment''
 
===== knox_authtoken =====
<span id="public.knox_authtoken"></span>
 
''No comment''
 
====== Columns ======
 
* '''digest''' — ''No comment''
* '''created''' — ''No comment''
* '''user_id''' — ''No comment''
* '''expiry''' — ''No comment''
* '''token_key''' — ''No comment''
 
===== spatial_ref_sys =====
<span id="public.spatial_ref_sys"></span>
 
''No comment''
 
====== Columns ======
 
* '''srid''' — ''No comment''
* '''auth_name''' — ''No comment''
* '''auth_srid''' — ''No comment''
* '''srtext''' — ''No comment''
* '''proj4text''' — ''No comment''
 
===== thumbnail_kvstore =====
<span id="public.thumbnail_kvstore"></span>
 
''No comment''
 
====== Columns ======
 
* '''key''' — ''No comment''
* '''value''' — ''No comment''
 
==== Views ====
 
===== geography_columns =====
<span id="public.geography_columns"></span>
 
''No comment''
 
====== Columns ======
 
* '''f_table_catalog''' — ''No comment''
* '''f_table_schema''' — ''No comment''
* '''f_table_name''' — ''No comment''
* '''f_geography_column''' — ''No comment''
* '''coord_dimension''' — ''No comment''
* '''srid''' — ''No comment''
* '''type''' — ''No comment''
 
===== geometry_columns =====
<span id="public.geometry_columns"></span>
 
''No comment''
 
====== Columns ======
 
* '''f_table_catalog''' — ''No comment''
* '''f_table_schema''' — ''No comment''
* '''f_table_name''' — ''No comment''
* '''f_geometry_column''' — ''No comment''
* '''coord_dimension''' — ''No comment''
* '''srid''' — ''No comment''
* '''type''' — ''No comment''
 
==== Indexes ====
 
===== auth_group_name_a6ea08ec_like =====
<span id="public.auth_group_name_a6ea08ec_like"></span>
 
''No comment''
 
===== auth_group_name_key =====
<span id="public.auth_group_name_key"></span>
 
''No comment''
 
===== auth_group_permissions_group_id_b120cbf9 =====
<span id="public.auth_group_permissions_group_id_b120cbf9"></span>
 
''No comment''
 
===== auth_group_permissions_group_id_permission_id_0cd325b0_uniq =====
<span id="public.auth_group_permissions_group_id_permission_id_0cd325b0_uniq"></span>
 
''No comment''
 
===== auth_group_permissions_permission_id_84c5c92e =====
<span id="public.auth_group_permissions_permission_id_84c5c92e"></span>
 
''No comment''
 
===== auth_group_permissions_pkey =====
<span id="public.auth_group_permissions_pkey"></span>
 
''No comment''
 
===== auth_group_pkey =====
<span id="public.auth_group_pkey"></span>
 
''No comment''
 
===== auth_permission_content_type_id_2f476e4b =====
<span id="public.auth_permission_content_type_id_2f476e4b"></span>
 
''No comment''
 
===== auth_permission_content_type_id_codename_01ab375a_uniq =====
<span id="public.auth_permission_content_type_id_codename_01ab375a_uniq"></span>
 
''No comment''
 
===== auth_permission_pkey =====
<span id="public.auth_permission_pkey"></span>
 
''No comment''
 
===== auth_user_email_unique =====
<span id="public.auth_user_email_unique"></span>
 
''No comment''
 
===== auth_user_groups_group_id_97559544 =====
<span id="public.auth_user_groups_group_id_97559544"></span>
 
''No comment''
 
===== auth_user_groups_pkey =====
<span id="public.auth_user_groups_pkey"></span>
 
''No comment''
 
===== auth_user_groups_user_id_6a12ed8b =====
<span id="public.auth_user_groups_user_id_6a12ed8b"></span>
 
''No comment''
 
===== auth_user_groups_user_id_group_id_94350c0c_uniq =====
<span id="public.auth_user_groups_user_id_group_id_94350c0c_uniq"></span>
 
''No comment''
 
===== auth_user_pkey =====
<span id="public.auth_user_pkey"></span>
 
''No comment''
 
===== auth_user_user_permissions_permission_id_1fbb5f2c =====
<span id="public.auth_user_user_permissions_permission_id_1fbb5f2c"></span>
 
''No comment''
 
===== auth_user_user_permissions_pkey =====
<span id="public.auth_user_user_permissions_pkey"></span>
 
''No comment''
 
===== auth_user_user_permissions_user_id_a95ead1b =====
<span id="public.auth_user_user_permissions_user_id_a95ead1b"></span>
 
''No comment''
 
===== auth_user_user_permissions_user_id_permission_id_14a6b632_uniq =====
<span id="public.auth_user_user_permissions_user_id_permission_id_14a6b632_uniq"></span>
 
''No comment''
 
===== django_admin_log_content_type_id_c4bce8eb =====
<span id="public.django_admin_log_content_type_id_c4bce8eb"></span>
 
''No comment''
 
===== django_admin_log_pkey =====
<span id="public.django_admin_log_pkey"></span>
 
''No comment''
 
===== django_admin_log_user_id_c564eba6 =====
<span id="public.django_admin_log_user_id_c564eba6"></span>
 
''No comment''
 
===== django_cele_date_cr_bd6c1d_idx =====
<span id="public.django_cele_date_cr_bd6c1d_idx"></span>
 
''No comment''
 
===== django_cele_date_cr_f04a50_idx =====
<span id="public.django_cele_date_cr_f04a50_idx"></span>
 
''No comment''
 
===== django_cele_date_do_caae0e_idx =====
<span id="public.django_cele_date_do_caae0e_idx"></span>
 
''No comment''
 
===== django_cele_date_do_f59aad_idx =====
<span id="public.django_cele_date_do_f59aad_idx"></span>
 
''No comment''
 
===== django_cele_periodi_1993cf_idx =====
<span id="public.django_cele_periodi_1993cf_idx"></span>
 
''No comment''
 
===== django_cele_status_9b6201_idx =====
<span id="public.django_cele_status_9b6201_idx"></span>
 
''No comment''
 
===== django_cele_task_na_08aec9_idx =====
<span id="public.django_cele_task_na_08aec9_idx"></span>
 
''No comment''
 
===== django_cele_worker_d54dd8_idx =====
<span id="public.django_cele_worker_d54dd8_idx"></span>
 
''No comment''
 
===== django_celery_beat_clockedschedule_pkey =====
<span id="public.django_celery_beat_clockedschedule_pkey"></span>
 
''No comment''
 
===== django_celery_beat_crontabschedule_pkey =====
<span id="public.django_celery_beat_crontabschedule_pkey"></span>
 
''No comment''
 
===== django_celery_beat_intervalschedule_pkey =====
<span id="public.django_celery_beat_intervalschedule_pkey"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_clocked_id_47a69f82 =====
<span id="public.django_celery_beat_periodictask_clocked_id_47a69f82"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_crontab_id_d3cba168 =====
<span id="public.django_celery_beat_periodictask_crontab_id_d3cba168"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_interval_id_a8ca27da =====
<span id="public.django_celery_beat_periodictask_interval_id_a8ca27da"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_name_265a36b7_like =====
<span id="public.django_celery_beat_periodictask_name_265a36b7_like"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_name_key =====
<span id="public.django_celery_beat_periodictask_name_key"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_pkey =====
<span id="public.django_celery_beat_periodictask_pkey"></span>
 
''No comment''
 
===== django_celery_beat_periodictask_solar_id_a87ce72c =====
<span id="public.django_celery_beat_periodictask_solar_id_a87ce72c"></span>
 
''No comment''
 
===== django_celery_beat_periodictasks_pkey =====
<span id="public.django_celery_beat_periodictasks_pkey"></span>
 
''No comment''
 
===== django_celery_beat_solar_event_latitude_longitude_ba64999a_uniq =====
<span id="public.django_celery_beat_solar_event_latitude_longitude_ba64999a_uniq"></span>
 
''No comment''
 
===== django_celery_beat_solarschedule_pkey =====
<span id="public.django_celery_beat_solarschedule_pkey"></span>
 
''No comment''
 
===== django_celery_results_chordcounter_group_id_1f70858c_like =====
<span id="public.django_celery_results_chordcounter_group_id_1f70858c_like"></span>
 
''No comment''
 
===== django_celery_results_chordcounter_group_id_key =====
<span id="public.django_celery_results_chordcounter_group_id_key"></span>
 
''No comment''
 
===== django_celery_results_chordcounter_pkey =====
<span id="public.django_celery_results_chordcounter_pkey"></span>
 
''No comment''
 
===== django_celery_results_groupresult_group_id_a085f1a9_like =====
<span id="public.django_celery_results_groupresult_group_id_a085f1a9_like"></span>
 
''No comment''
 
===== django_celery_results_groupresult_group_id_key =====
<span id="public.django_celery_results_groupresult_group_id_key"></span>
 
''No comment''
 
===== django_celery_results_groupresult_pkey =====
<span id="public.django_celery_results_groupresult_pkey"></span>
 
''No comment''
 
===== django_celery_results_taskresult_pkey =====
<span id="public.django_celery_results_taskresult_pkey"></span>
 
''No comment''
 
===== django_celery_results_taskresult_task_id_de0d95bf_like =====
<span id="public.django_celery_results_taskresult_task_id_de0d95bf_like"></span>
 
''No comment''
 
===== django_celery_results_taskresult_task_id_key =====
<span id="public.django_celery_results_taskresult_task_id_key"></span>
 
''No comment''
 
===== django_content_type_app_label_model_76bd3d3b_uniq =====
<span id="public.django_content_type_app_label_model_76bd3d3b_uniq"></span>
 
''No comment''
 
===== django_content_type_pkey =====
<span id="public.django_content_type_pkey"></span>
 
''No comment''
 
===== django_migrations_pkey =====
<span id="public.django_migrations_pkey"></span>
 
''No comment''
 
===== django_session_expire_date_a5c62663 =====
<span id="public.django_session_expire_date_a5c62663"></span>
 
''No comment''
 
===== django_session_pkey =====
<span id="public.django_session_pkey"></span>
 
''No comment''
 
===== django_session_session_key_c0390e0f_like =====
<span id="public.django_session_session_key_c0390e0f_like"></span>
 
''No comment''
 
===== django_site_domain_a2e37b91_like =====
<span id="public.django_site_domain_a2e37b91_like"></span>
 
''No comment''
 
===== django_site_domain_a2e37b91_uniq =====
<span id="public.django_site_domain_a2e37b91_uniq"></span>
 
''No comment''
 
===== django_site_pkey =====
<span id="public.django_site_pkey"></span>
 
''No comment''
 
===== event_group_event_id_group_id_key =====
<span id="public.event_group_event_id_group_id_key"></span>
 
''No comment''
 
===== knox_authtoken_digest_188c7e77_like =====
<span id="public.knox_authtoken_digest_188c7e77_like"></span>
 
''No comment''
 
===== knox_authtoken_pkey =====
<span id="public.knox_authtoken_pkey"></span>
 
''No comment''
 
===== knox_authtoken_token_key_8f4f7d47 =====
<span id="public.knox_authtoken_token_key_8f4f7d47"></span>
 
''No comment''
 
===== knox_authtoken_token_key_8f4f7d47_like =====
<span id="public.knox_authtoken_token_key_8f4f7d47_like"></span>
 
''No comment''
 
===== knox_authtoken_user_id_e5a5d899 =====
<span id="public.knox_authtoken_user_id_e5a5d899"></span>
 
''No comment''
 
===== spatial_ref_sys_pkey =====
<span id="public.spatial_ref_sys_pkey"></span>
 
''No comment''
 
===== thumbnail_kvstore_key_3f850178_like =====
<span id="public.thumbnail_kvstore_key_3f850178_like"></span>
 
''No comment''
 
===== thumbnail_kvstore_pkey =====
<span id="public.thumbnail_kvstore_pkey"></span>
 
''No comment''
 
==== Functions ====
 
===== _copy_habitat_events =====
<span id="public._copy_habitat_events"></span>
 
''No comment''
 
===== _copy_status_events =====
<span id="public._copy_status_events"></span>
 
''No comment''
 
===== _postgis_deprecate =====
<span id="public._postgis_deprecate"></span>
 
''No comment''
 
===== _postgis_index_extent =====
<span id="public._postgis_index_extent"></span>
 
''No comment''
 
===== _postgis_join_selectivity =====
<span id="public._postgis_join_selectivity"></span>
 
''No comment''
 
===== _postgis_pgsql_version =====
<span id="public._postgis_pgsql_version"></span>
 
''No comment''
 
===== _postgis_scripts_pgsql_version =====
<span id="public._postgis_scripts_pgsql_version"></span>
 
''No comment''
 
===== _postgis_selectivity =====
<span id="public._postgis_selectivity"></span>
 
''No comment''
 
===== _postgis_stats =====
<span id="public._postgis_stats"></span>
 
''No comment''
 
===== _st_3ddfullywithin =====
<span id="public._st_3ddfullywithin"></span>
 
''No comment''
 
===== _st_3ddwithin =====
<span id="public._st_3ddwithin"></span>
 
''No comment''
 
===== _st_3dintersects =====
<span id="public._st_3dintersects"></span>
 
''No comment''
 
===== _st_asgml =====
<span id="public._st_asgml"></span>
 
''No comment''
 
===== _st_asx3d =====
<span id="public._st_asx3d"></span>
 
''No comment''
 
===== _st_bestsrid =====
<span id="public._st_bestsrid"></span>
 
''No comment''
 
===== _st_bestsrid =====
<span id="public._st_bestsrid"></span>
 
''No comment''
 
===== _st_concavehull =====
<span id="public._st_concavehull"></span>
 
''No comment''
 
===== _st_contains =====
<span id="public._st_contains"></span>
 
''No comment''
 
===== _st_containsproperly =====
<span id="public._st_containsproperly"></span>
 
''No comment''
 
===== _st_coveredby =====
<span id="public._st_coveredby"></span>
 
''No comment''
 
===== _st_coveredby =====
<span id="public._st_coveredby"></span>
 
''No comment''
 
===== _st_covers =====
<span id="public._st_covers"></span>
 
''No comment''
 
===== _st_covers =====
<span id="public._st_covers"></span>
 
''No comment''
 
===== _st_crosses =====
<span id="public._st_crosses"></span>
 
''No comment''
 
===== _st_dfullywithin =====
<span id="public._st_dfullywithin"></span>
 
''No comment''
 
===== _st_distancetree =====
<span id="public._st_distancetree"></span>
 
''No comment''
 
===== _st_distancetree =====
<span id="public._st_distancetree"></span>
 
''No comment''
 
===== _st_distanceuncached =====
<span id="public._st_distanceuncached"></span>
 
''No comment''
 
===== _st_distanceuncached =====
<span id="public._st_distanceuncached"></span>
 
''No comment''
 
===== _st_distanceuncached =====
<span id="public._st_distanceuncached"></span>
 
''No comment''
 
===== _st_dwithin =====
<span id="public._st_dwithin"></span>
 
''No comment''
 
===== _st_dwithin =====
<span id="public._st_dwithin"></span>
 
''No comment''
 
===== _st_dwithinuncached =====
<span id="public._st_dwithinuncached"></span>
 
''No comment''
 
===== _st_dwithinuncached =====
<span id="public._st_dwithinuncached"></span>
 
''No comment''
 
===== _st_equals =====
<span id="public._st_equals"></span>
 
''No comment''
 
===== _st_expand =====
<span id="public._st_expand"></span>
 
''No comment''
 
===== _st_geomfromgml =====
<span id="public._st_geomfromgml"></span>
 
''No comment''
 
===== _st_intersects =====
<span id="public._st_intersects"></span>
 
''No comment''
 
===== _st_linecrossingdirection =====
<span id="public._st_linecrossingdirection"></span>
 
''No comment''
 
===== _st_longestline =====
<span id="public._st_longestline"></span>
 
''No comment''
 
===== _st_maxdistance =====
<span id="public._st_maxdistance"></span>
 
''No comment''
 
===== _st_orderingequals =====
<span id="public._st_orderingequals"></span>
 
''No comment''
 
===== _st_overlaps =====
<span id="public._st_overlaps"></span>
 
''No comment''
 
===== _st_pointoutside =====
<span id="public._st_pointoutside"></span>
 
''No comment''
 
===== _st_sortablehash =====
<span id="public._st_sortablehash"></span>
 
''No comment''
 
===== _st_touches =====
<span id="public._st_touches"></span>
 
''No comment''
 
===== _st_voronoi =====
<span id="public._st_voronoi"></span>
 
''No comment''
 
===== _st_within =====
<span id="public._st_within"></span>
 
''No comment''
 
===== addgeometrycolumn =====
<span id="public.addgeometrycolumn"></span>
 
''No comment''
 
===== addgeometrycolumn =====
<span id="public.addgeometrycolumn"></span>
 
''No comment''
 
===== addgeometrycolumn =====
<span id="public.addgeometrycolumn"></span>
 
''No comment''
 
===== box =====
<span id="public.box"></span>
 
''No comment''
 
===== box =====
<span id="public.box"></span>
 
''No comment''
 
===== box2d =====
<span id="public.box2d"></span>
 
''No comment''
 
===== box2d =====
<span id="public.box2d"></span>
 
''No comment''
 
===== box2d_in =====
<span id="public.box2d_in"></span>
 
''No comment''
 
===== box2d_out =====
<span id="public.box2d_out"></span>
 
''No comment''
 
===== box2df_in =====
<span id="public.box2df_in"></span>
 
''No comment''
 
===== box2df_out =====
<span id="public.box2df_out"></span>
 
''No comment''
 
===== box3d =====
<span id="public.box3d"></span>
 
''No comment''
 
===== box3d =====
<span id="public.box3d"></span>
 
''No comment''
 
===== box3d_in =====
<span id="public.box3d_in"></span>
 
''No comment''
 
===== box3d_out =====
<span id="public.box3d_out"></span>
 
''No comment''
 
===== box3dtobox =====
<span id="public.box3dtobox"></span>
 
''No comment''
 
===== bytea =====
<span id="public.bytea"></span>
 
''No comment''
 
===== bytea =====
<span id="public.bytea"></span>
 
''No comment''
 
===== cache_clear_cruise =====
<span id="public.cache_clear_cruise"></span>
 
Clear cached entities associated with the given cruise.
 
===== cache_refresh_cruise_stats =====
<span id="public.cache_refresh_cruise_stats"></span>
 
Refresh the [cruise stats](#cache.cruise_stats) table.
 
===== cache_refresh_cruise_track =====
<span id="public.cache_refresh_cruise_track"></span>
 
Stores a linestring representing the path of a platform over the course of a cruise.
 
===== cache_refresh_dive_track =====
<span id="public.cache_refresh_dive_track"></span>
 
Stores a linestring representing the path of a platform over the course of a dive.
 
===== cache_refresh_evt_depth =====
<span id="public.cache_refresh_evt_depth"></span>
 
Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true truncates the table before rebuilding it.
 
===== cache_refresh_evt_measurement =====
<span id="public.cache_refresh_evt_measurement"></span>
 
Populates the cache table with measurements corresponding to each event. For events that cover a time span, the timestamp and measurement will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true
 
===== cache_refresh_evt_pos =====
<span id="public.cache_refresh_evt_pos"></span>
 
Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. If the boolean parameter is true, the table is truncated before rebuilding.
 
===== cache_refresh_tables =====
<span id="public.cache_refresh_tables"></span>
 
Refreshes all of the cache tables: event positions, event depths, event measurements, dive tracks, transect tracks and cruise tracks.
 
===== cache_refresh_tables =====
<span id="public.cache_refresh_tables"></span>
 
Calls the cache refresh procedures stored in the [cache_table](#admin.cache_table) table. These procedures refresh or rebuild cache tables and other tables that need periodic compilation. Each procedure called by this procedure must have a boolean parameter to do with as it chooses. In most cases, the parameter clears or truncates the target table.
 
===== cache_refresh_transect_track =====
<span id="public.cache_refresh_transect_track"></span>
 
Stores a linestring representing the path of a platform over the course of a transect.
 
===== cash_dist =====
<span id="public.cash_dist"></span>
 
''No comment''
 
===== citext =====
<span id="public.citext"></span>
 
''No comment''
 
===== citext =====
<span id="public.citext"></span>
 
''No comment''
 
===== citext =====
<span id="public.citext"></span>
 
''No comment''
 
===== citext_cmp =====
<span id="public.citext_cmp"></span>
 
''No comment''
 
===== citext_eq =====
<span id="public.citext_eq"></span>
 
''No comment''
 
===== citext_ge =====
<span id="public.citext_ge"></span>
 
''No comment''
 
===== citext_gt =====
<span id="public.citext_gt"></span>
 
''No comment''
 
===== citext_hash =====
<span id="public.citext_hash"></span>
 
''No comment''
 
===== citext_hash_extended =====
<span id="public.citext_hash_extended"></span>
 
''No comment''
 
===== citext_larger =====
<span id="public.citext_larger"></span>
 
''No comment''
 
===== citext_le =====
<span id="public.citext_le"></span>
 
''No comment''
 
===== citext_lt =====
<span id="public.citext_lt"></span>
 
''No comment''
 
===== citext_ne =====
<span id="public.citext_ne"></span>
 
''No comment''
 
===== citext_pattern_cmp =====
<span id="public.citext_pattern_cmp"></span>
 
''No comment''
 
===== citext_pattern_ge =====
<span id="public.citext_pattern_ge"></span>
 
''No comment''
 
===== citext_pattern_gt =====
<span id="public.citext_pattern_gt"></span>
 
''No comment''
 
===== citext_pattern_le =====
<span id="public.citext_pattern_le"></span>
 
''No comment''
 
===== citext_pattern_lt =====
<span id="public.citext_pattern_lt"></span>
 
''No comment''
 
===== citext_smaller =====
<span id="public.citext_smaller"></span>
 
''No comment''
 
===== citextin =====
<span id="public.citextin"></span>
 
''No comment''
 
===== citextout =====
<span id="public.citextout"></span>
 
''No comment''
 
===== citextrecv =====
<span id="public.citextrecv"></span>
 
''No comment''
 
===== citextsend =====
<span id="public.citextsend"></span>
 
''No comment''
 
===== clean_event_duplicates =====
<span id="public.clean_event_duplicates"></span>
 
Deletes duplicate [events](#rov.event) over all cruises.
 
===== clean_event_duplicates =====
<span id="public.clean_event_duplicates"></span>
 
Deletes duplicate [events](#rov.event) for the given cruise by checking their time stamps, properties, [instrument configs](#rov.instrument_config) and dive IDs. Loops multiple times to capture multiple duplicates. Deletes duplicate measurements in a separate loop, looking at the type, timestamps, instrument configs and quantity.
 
===== clean_measurement_event_duplicates =====
<span id="public.clean_measurement_event_duplicates"></span>
 
Deletes duplicate [measurment events](#rov.event) for a specific [cruise](#rov.cruise).
 
===== clean_stream_duplicates =====
<span id="public.clean_stream_duplicates"></span>
 
''No comment''
 
===== clean_uploaded_files =====
<span id="public.clean_uploaded_files"></span>
 
Removes [uploaded file](#shared.uploaded_file) instances that are not referenced by any other entity. A server-side script must run which deletes files with no corresponding uploaded file record.
 
===== compile_event_restrictions =====
<span id="public.compile_event_restrictions"></span>
 
Compiles the [event group](#rov.event_group) table which links events to the [users](#public.auth_user) whose [groups](#public.auth_group) has access to the record based on [restriction](#shared.restriction) table
 
===== connectby =====
<span id="public.connectby"></span>
 
''No comment''
 
===== connectby =====
<span id="public.connectby"></span>
 
''No comment''
 
===== connectby =====
<span id="public.connectby"></span>
 
''No comment''
 
===== connectby =====
<span id="public.connectby"></span>
 
''No comment''
 
===== contains_2d =====
<span id="public.contains_2d"></span>
 
''No comment''
 
===== contains_2d =====
<span id="public.contains_2d"></span>
 
''No comment''
 
===== contains_2d =====
<span id="public.contains_2d"></span>
 
''No comment''
 
===== crosstab =====
<span id="public.crosstab"></span>
 
''No comment''
 
===== crosstab =====
<span id="public.crosstab"></span>
 
''No comment''
 
===== crosstab =====
<span id="public.crosstab"></span>
 
''No comment''
 
===== crosstab2 =====
<span id="public.crosstab2"></span>
 
''No comment''
 
===== crosstab3 =====
<span id="public.crosstab3"></span>
 
''No comment''
 
===== crosstab4 =====
<span id="public.crosstab4"></span>
 
''No comment''
 
===== date_dist =====
<span id="public.date_dist"></span>
 
''No comment''
 
===== dblink =====
<span id="public.dblink"></span>
 
''No comment''
 
===== dblink =====
<span id="public.dblink"></span>
 
''No comment''
 
===== dblink =====
<span id="public.dblink"></span>
 
''No comment''
 
===== dblink =====
<span id="public.dblink"></span>
 
''No comment''
 
===== dblink_build_sql_delete =====
<span id="public.dblink_build_sql_delete"></span>
 
''No comment''
 
===== dblink_build_sql_insert =====
<span id="public.dblink_build_sql_insert"></span>
 
''No comment''
 
===== dblink_build_sql_update =====
<span id="public.dblink_build_sql_update"></span>
 
''No comment''
 
===== dblink_cancel_query =====
<span id="public.dblink_cancel_query"></span>
 
''No comment''
 
===== dblink_close =====
<span id="public.dblink_close"></span>
 
''No comment''
 
===== dblink_close =====
<span id="public.dblink_close"></span>
 
''No comment''
 
===== dblink_close =====
<span id="public.dblink_close"></span>
 
''No comment''
 
===== dblink_close =====
<span id="public.dblink_close"></span>
 
''No comment''
 
===== dblink_connect =====
<span id="public.dblink_connect"></span>
 
''No comment''
 
===== dblink_connect =====
<span id="public.dblink_connect"></span>
 
''No comment''
 
===== dblink_connect_u =====
<span id="public.dblink_connect_u"></span>
 
''No comment''
 
===== dblink_connect_u =====
<span id="public.dblink_connect_u"></span>
 
''No comment''
 
===== dblink_current_query =====
<span id="public.dblink_current_query"></span>
 
''No comment''
 
===== dblink_disconnect =====
<span id="public.dblink_disconnect"></span>
 
''No comment''
 
===== dblink_disconnect =====
<span id="public.dblink_disconnect"></span>
 
''No comment''
 
===== dblink_error_message =====
<span id="public.dblink_error_message"></span>
 
''No comment''
 
===== dblink_exec =====
<span id="public.dblink_exec"></span>
 
''No comment''
 
===== dblink_exec =====
<span id="public.dblink_exec"></span>
 
''No comment''
 
===== dblink_exec =====
<span id="public.dblink_exec"></span>
 
''No comment''
 
===== dblink_exec =====
<span id="public.dblink_exec"></span>
 
''No comment''
 
===== dblink_fdw_validator =====
<span id="public.dblink_fdw_validator"></span>
 
''No comment''
 
===== dblink_fetch =====
<span id="public.dblink_fetch"></span>
 
''No comment''
 
===== dblink_fetch =====
<span id="public.dblink_fetch"></span>
 
''No comment''
 
===== dblink_fetch =====
<span id="public.dblink_fetch"></span>
 
''No comment''
 
===== dblink_fetch =====
<span id="public.dblink_fetch"></span>
 
''No comment''
 
===== dblink_get_connections =====
<span id="public.dblink_get_connections"></span>
 
''No comment''
 
===== dblink_get_notify =====
<span id="public.dblink_get_notify"></span>
 
''No comment''
 
===== dblink_get_notify =====
<span id="public.dblink_get_notify"></span>
 
''No comment''
 
===== dblink_get_pkey =====
<span id="public.dblink_get_pkey"></span>
 
''No comment''
 
===== dblink_get_result =====
<span id="public.dblink_get_result"></span>
 
''No comment''
 
===== dblink_get_result =====
<span id="public.dblink_get_result"></span>
 
''No comment''
 
===== dblink_is_busy =====
<span id="public.dblink_is_busy"></span>
 
''No comment''
 
===== dblink_open =====
<span id="public.dblink_open"></span>
 
''No comment''
 
===== dblink_open =====
<span id="public.dblink_open"></span>
 
''No comment''
 
===== dblink_open =====
<span id="public.dblink_open"></span>
 
''No comment''
 
===== dblink_open =====
<span id="public.dblink_open"></span>
 
''No comment''
 
===== dblink_send_query =====
<span id="public.dblink_send_query"></span>
 
''No comment''
 
===== dropgeometrycolumn =====
<span id="public.dropgeometrycolumn"></span>
 
''No comment''
 
===== dropgeometrycolumn =====
<span id="public.dropgeometrycolumn"></span>
 
''No comment''
 
===== dropgeometrycolumn =====
<span id="public.dropgeometrycolumn"></span>
 
''No comment''
 
===== dropgeometrytable =====
<span id="public.dropgeometrytable"></span>
 
''No comment''
 
===== dropgeometrytable =====
<span id="public.dropgeometrytable"></span>
 
''No comment''
 
===== dropgeometrytable =====
<span id="public.dropgeometrytable"></span>
 
''No comment''
 
===== equals =====
<span id="public.equals"></span>
 
''No comment''
 
===== f_geoip_update_geoms =====
<span id="public.f_geoip_update_geoms"></span>
 
''No comment''
 
===== find_srid =====
<span id="public.find_srid"></span>
 
''No comment''
 
===== fix_comment_links =====
<span id="public.fix_comment_links"></span>
 
''No comment''
 
===== float4_dist =====
<span id="public.float4_dist"></span>
 
''No comment''
 
===== float8_dist =====
<span id="public.float8_dist"></span>
 
''No comment''
 
===== gbt_bit_compress =====
<span id="public.gbt_bit_compress"></span>
 
''No comment''
 
===== gbt_bit_consistent =====
<span id="public.gbt_bit_consistent"></span>
 
''No comment''
 
===== gbt_bit_penalty =====
<span id="public.gbt_bit_penalty"></span>
 
''No comment''
 
===== gbt_bit_picksplit =====
<span id="public.gbt_bit_picksplit"></span>
 
''No comment''
 
===== gbt_bit_same =====
<span id="public.gbt_bit_same"></span>
 
''No comment''
 
===== gbt_bit_union =====
<span id="public.gbt_bit_union"></span>
 
''No comment''
 
===== gbt_bool_compress =====
<span id="public.gbt_bool_compress"></span>
 
''No comment''
 
===== gbt_bool_consistent =====
<span id="public.gbt_bool_consistent"></span>
 
''No comment''
 
===== gbt_bool_fetch =====
<span id="public.gbt_bool_fetch"></span>
 
''No comment''
 
===== gbt_bool_penalty =====
<span id="public.gbt_bool_penalty"></span>
 
''No comment''
 
===== gbt_bool_picksplit =====
<span id="public.gbt_bool_picksplit"></span>
 
''No comment''
 
===== gbt_bool_same =====
<span id="public.gbt_bool_same"></span>
 
''No comment''
 
===== gbt_bool_union =====
<span id="public.gbt_bool_union"></span>
 
''No comment''
 
===== gbt_bpchar_compress =====
<span id="public.gbt_bpchar_compress"></span>
 
''No comment''
 
===== gbt_bpchar_consistent =====
<span id="public.gbt_bpchar_consistent"></span>
 
''No comment''
 
===== gbt_bytea_compress =====
<span id="public.gbt_bytea_compress"></span>
 
''No comment''
 
===== gbt_bytea_consistent =====
<span id="public.gbt_bytea_consistent"></span>
 
''No comment''
 
===== gbt_bytea_penalty =====
<span id="public.gbt_bytea_penalty"></span>
 
''No comment''
 
===== gbt_bytea_picksplit =====
<span id="public.gbt_bytea_picksplit"></span>
 
''No comment''
 
===== gbt_bytea_same =====
<span id="public.gbt_bytea_same"></span>
 
''No comment''
 
===== gbt_bytea_union =====
<span id="public.gbt_bytea_union"></span>
 
''No comment''
 
===== gbt_cash_compress =====
<span id="public.gbt_cash_compress"></span>
 
''No comment''
 
===== gbt_cash_consistent =====
<span id="public.gbt_cash_consistent"></span>
 
''No comment''
 
===== gbt_cash_distance =====
<span id="public.gbt_cash_distance"></span>
 
''No comment''
 
===== gbt_cash_fetch =====
<span id="public.gbt_cash_fetch"></span>
 
''No comment''
 
===== gbt_cash_penalty =====
<span id="public.gbt_cash_penalty"></span>
 
''No comment''
 
===== gbt_cash_picksplit =====
<span id="public.gbt_cash_picksplit"></span>
 
''No comment''
 
===== gbt_cash_same =====
<span id="public.gbt_cash_same"></span>
 
''No comment''
 
===== gbt_cash_union =====
<span id="public.gbt_cash_union"></span>
 
''No comment''
 
===== gbt_date_compress =====
<span id="public.gbt_date_compress"></span>
 
''No comment''
 
===== gbt_date_consistent =====
<span id="public.gbt_date_consistent"></span>
 
''No comment''
 
===== gbt_date_distance =====
<span id="public.gbt_date_distance"></span>
 
''No comment''
 
===== gbt_date_fetch =====
<span id="public.gbt_date_fetch"></span>
 
''No comment''
 
===== gbt_date_penalty =====
<span id="public.gbt_date_penalty"></span>
 
''No comment''
 
===== gbt_date_picksplit =====
<span id="public.gbt_date_picksplit"></span>
 
''No comment''
 
===== gbt_date_same =====
<span id="public.gbt_date_same"></span>
 
''No comment''
 
===== gbt_date_union =====
<span id="public.gbt_date_union"></span>
 
''No comment''
 
===== gbt_decompress =====
<span id="public.gbt_decompress"></span>
 
''No comment''
 
===== gbt_enum_compress =====
<span id="public.gbt_enum_compress"></span>
 
''No comment''
 
===== gbt_enum_consistent =====
<span id="public.gbt_enum_consistent"></span>
 
''No comment''
 
===== gbt_enum_fetch =====
<span id="public.gbt_enum_fetch"></span>
 
''No comment''
 
===== gbt_enum_penalty =====
<span id="public.gbt_enum_penalty"></span>
 
''No comment''
 
===== gbt_enum_picksplit =====
<span id="public.gbt_enum_picksplit"></span>
 
''No comment''
 
===== gbt_enum_same =====
<span id="public.gbt_enum_same"></span>
 
''No comment''
 
===== gbt_enum_union =====
<span id="public.gbt_enum_union"></span>
 
''No comment''
 
===== gbt_float4_compress =====
<span id="public.gbt_float4_compress"></span>
 
''No comment''
 
===== gbt_float4_consistent =====
<span id="public.gbt_float4_consistent"></span>
 
''No comment''
 
===== gbt_float4_distance =====
<span id="public.gbt_float4_distance"></span>
 
''No comment''
 
===== gbt_float4_fetch =====
<span id="public.gbt_float4_fetch"></span>
 
''No comment''
 
===== gbt_float4_penalty =====
<span id="public.gbt_float4_penalty"></span>
 
''No comment''
 
===== gbt_float4_picksplit =====
<span id="public.gbt_float4_picksplit"></span>
 
''No comment''
 
===== gbt_float4_same =====
<span id="public.gbt_float4_same"></span>
 
''No comment''
 
===== gbt_float4_union =====
<span id="public.gbt_float4_union"></span>
 
''No comment''
 
===== gbt_float8_compress =====
<span id="public.gbt_float8_compress"></span>
 
''No comment''
 
===== gbt_float8_consistent =====
<span id="public.gbt_float8_consistent"></span>
 
''No comment''
 
===== gbt_float8_distance =====
<span id="public.gbt_float8_distance"></span>
 
''No comment''
 
===== gbt_float8_fetch =====
<span id="public.gbt_float8_fetch"></span>
 
''No comment''
 
===== gbt_float8_penalty =====
<span id="public.gbt_float8_penalty"></span>
 
''No comment''
 
===== gbt_float8_picksplit =====
<span id="public.gbt_float8_picksplit"></span>
 
''No comment''
 
===== gbt_float8_same =====
<span id="public.gbt_float8_same"></span>
 
''No comment''
 
===== gbt_float8_union =====
<span id="public.gbt_float8_union"></span>
 
''No comment''
 
===== gbt_inet_compress =====
<span id="public.gbt_inet_compress"></span>
 
''No comment''
 
===== gbt_inet_consistent =====
<span id="public.gbt_inet_consistent"></span>
 
''No comment''
 
===== gbt_inet_penalty =====
<span id="public.gbt_inet_penalty"></span>
 
''No comment''
 
===== gbt_inet_picksplit =====
<span id="public.gbt_inet_picksplit"></span>
 
''No comment''
 
===== gbt_inet_same =====
<span id="public.gbt_inet_same"></span>
 
''No comment''
 
===== gbt_inet_union =====
<span id="public.gbt_inet_union"></span>
 
''No comment''
 
===== gbt_int2_compress =====
<span id="public.gbt_int2_compress"></span>
 
''No comment''
 
===== gbt_int2_consistent =====
<span id="public.gbt_int2_consistent"></span>
 
''No comment''
 
===== gbt_int2_distance =====
<span id="public.gbt_int2_distance"></span>
 
''No comment''
 
===== gbt_int2_fetch =====
<span id="public.gbt_int2_fetch"></span>
 
''No comment''
 
===== gbt_int2_penalty =====
<span id="public.gbt_int2_penalty"></span>
 
''No comment''
 
===== gbt_int2_picksplit =====
<span id="public.gbt_int2_picksplit"></span>
 
''No comment''
 
===== gbt_int2_same =====
<span id="public.gbt_int2_same"></span>
 
''No comment''
 
===== gbt_int2_union =====
<span id="public.gbt_int2_union"></span>
 
''No comment''
 
===== gbt_int4_compress =====
<span id="public.gbt_int4_compress"></span>
 
''No comment''
 
===== gbt_int4_consistent =====
<span id="public.gbt_int4_consistent"></span>
 
''No comment''
 
===== gbt_int4_distance =====
<span id="public.gbt_int4_distance"></span>
 
''No comment''
 
===== gbt_int4_fetch =====
<span id="public.gbt_int4_fetch"></span>
 
''No comment''
 
===== gbt_int4_penalty =====
<span id="public.gbt_int4_penalty"></span>
 
''No comment''
 
===== gbt_int4_picksplit =====
<span id="public.gbt_int4_picksplit"></span>
 
''No comment''
 
===== gbt_int4_same =====
<span id="public.gbt_int4_same"></span>
 
''No comment''
 
===== gbt_int4_union =====
<span id="public.gbt_int4_union"></span>
 
''No comment''
 
===== gbt_int8_compress =====
<span id="public.gbt_int8_compress"></span>
 
''No comment''
 
===== gbt_int8_consistent =====
<span id="public.gbt_int8_consistent"></span>
 
''No comment''
 
===== gbt_int8_distance =====
<span id="public.gbt_int8_distance"></span>
 
''No comment''
 
===== gbt_int8_fetch =====
<span id="public.gbt_int8_fetch"></span>
 
''No comment''
 
===== gbt_int8_penalty =====
<span id="public.gbt_int8_penalty"></span>
 
''No comment''
 
===== gbt_int8_picksplit =====
<span id="public.gbt_int8_picksplit"></span>
 
''No comment''
 
===== gbt_int8_same =====
<span id="public.gbt_int8_same"></span>
 
''No comment''
 
===== gbt_int8_union =====
<span id="public.gbt_int8_union"></span>
 
''No comment''
 
===== gbt_intv_compress =====
<span id="public.gbt_intv_compress"></span>
 
''No comment''
 
===== gbt_intv_consistent =====
<span id="public.gbt_intv_consistent"></span>
 
''No comment''
 
===== gbt_intv_decompress =====
<span id="public.gbt_intv_decompress"></span>
 
''No comment''
 
===== gbt_intv_distance =====
<span id="public.gbt_intv_distance"></span>
 
''No comment''
 
===== gbt_intv_fetch =====
<span id="public.gbt_intv_fetch"></span>
 
''No comment''
 
===== gbt_intv_penalty =====
<span id="public.gbt_intv_penalty"></span>
 
''No comment''
 
===== gbt_intv_picksplit =====
<span id="public.gbt_intv_picksplit"></span>
 
''No comment''
 
===== gbt_intv_same =====
<span id="public.gbt_intv_same"></span>
 
''No comment''
 
===== gbt_intv_union =====
<span id="public.gbt_intv_union"></span>
 
''No comment''
 
===== gbt_macad8_compress =====
<span id="public.gbt_macad8_compress"></span>
 
''No comment''
 
===== gbt_macad8_consistent =====
<span id="public.gbt_macad8_consistent"></span>
 
''No comment''
 
===== gbt_macad8_fetch =====
<span id="public.gbt_macad8_fetch"></span>
 
''No comment''
 
===== gbt_macad8_penalty =====
<span id="public.gbt_macad8_penalty"></span>
 
''No comment''
 
===== gbt_macad8_picksplit =====
<span id="public.gbt_macad8_picksplit"></span>
 
''No comment''
 
===== gbt_macad8_same =====
<span id="public.gbt_macad8_same"></span>
 
''No comment''
 
===== gbt_macad8_union =====
<span id="public.gbt_macad8_union"></span>
 
''No comment''
 
===== gbt_macad_compress =====
<span id="public.gbt_macad_compress"></span>
 
''No comment''
 
===== gbt_macad_consistent =====
<span id="public.gbt_macad_consistent"></span>
 
''No comment''
 
===== gbt_macad_fetch =====
<span id="public.gbt_macad_fetch"></span>
 
''No comment''
 
===== gbt_macad_penalty =====
<span id="public.gbt_macad_penalty"></span>
 
''No comment''
 
===== gbt_macad_picksplit =====
<span id="public.gbt_macad_picksplit"></span>
 
''No comment''
 
===== gbt_macad_same =====
<span id="public.gbt_macad_same"></span>
 
''No comment''
 
===== gbt_macad_union =====
<span id="public.gbt_macad_union"></span>
 
''No comment''
 
===== gbt_numeric_compress =====
<span id="public.gbt_numeric_compress"></span>
 
''No comment''
 
===== gbt_numeric_consistent =====
<span id="public.gbt_numeric_consistent"></span>
 
''No comment''
 
===== gbt_numeric_penalty =====
<span id="public.gbt_numeric_penalty"></span>
 
''No comment''
 
===== gbt_numeric_picksplit =====
<span id="public.gbt_numeric_picksplit"></span>
 
''No comment''
 
===== gbt_numeric_same =====
<span id="public.gbt_numeric_same"></span>
 
''No comment''
 
===== gbt_numeric_union =====
<span id="public.gbt_numeric_union"></span>
 
''No comment''
 
===== gbt_oid_compress =====
<span id="public.gbt_oid_compress"></span>
 
''No comment''
 
===== gbt_oid_consistent =====
<span id="public.gbt_oid_consistent"></span>
 
''No comment''
 
===== gbt_oid_distance =====
<span id="public.gbt_oid_distance"></span>
 
''No comment''
 
===== gbt_oid_fetch =====
<span id="public.gbt_oid_fetch"></span>
 
''No comment''
 
===== gbt_oid_penalty =====
<span id="public.gbt_oid_penalty"></span>
 
''No comment''
 
===== gbt_oid_picksplit =====
<span id="public.gbt_oid_picksplit"></span>
 
''No comment''
 
===== gbt_oid_same =====
<span id="public.gbt_oid_same"></span>
 
''No comment''
 
===== gbt_oid_union =====
<span id="public.gbt_oid_union"></span>
 
''No comment''
 
===== gbt_text_compress =====
<span id="public.gbt_text_compress"></span>
 
''No comment''
 
===== gbt_text_consistent =====
<span id="public.gbt_text_consistent"></span>
 
''No comment''
 
===== gbt_text_penalty =====
<span id="public.gbt_text_penalty"></span>
 
''No comment''
 
===== gbt_text_picksplit =====
<span id="public.gbt_text_picksplit"></span>
 
''No comment''
 
===== gbt_text_same =====
<span id="public.gbt_text_same"></span>
 
''No comment''
 
===== gbt_text_union =====
<span id="public.gbt_text_union"></span>
 
''No comment''
 
===== gbt_time_compress =====
<span id="public.gbt_time_compress"></span>
 
''No comment''
 
===== gbt_time_consistent =====
<span id="public.gbt_time_consistent"></span>
 
''No comment''
 
===== gbt_time_distance =====
<span id="public.gbt_time_distance"></span>
 
''No comment''
 
===== gbt_time_fetch =====
<span id="public.gbt_time_fetch"></span>
 
''No comment''
 
===== gbt_time_penalty =====
<span id="public.gbt_time_penalty"></span>
 
''No comment''
 
===== gbt_time_picksplit =====
<span id="public.gbt_time_picksplit"></span>
 
''No comment''
 
===== gbt_time_same =====
<span id="public.gbt_time_same"></span>
 
''No comment''
 
===== gbt_time_union =====
<span id="public.gbt_time_union"></span>
 
''No comment''
 
===== gbt_timetz_compress =====
<span id="public.gbt_timetz_compress"></span>
 
''No comment''
 
===== gbt_timetz_consistent =====
<span id="public.gbt_timetz_consistent"></span>
 
''No comment''
 
===== gbt_ts_compress =====
<span id="public.gbt_ts_compress"></span>
 
''No comment''
 
===== gbt_ts_consistent =====
<span id="public.gbt_ts_consistent"></span>
 
''No comment''
 
===== gbt_ts_distance =====
<span id="public.gbt_ts_distance"></span>
 
''No comment''
 
===== gbt_ts_fetch =====
<span id="public.gbt_ts_fetch"></span>
 
''No comment''
 
===== gbt_ts_penalty =====
<span id="public.gbt_ts_penalty"></span>
 
''No comment''
 
===== gbt_ts_picksplit =====
<span id="public.gbt_ts_picksplit"></span>
 
''No comment''
 
===== gbt_ts_same =====
<span id="public.gbt_ts_same"></span>
 
''No comment''
 
===== gbt_ts_union =====
<span id="public.gbt_ts_union"></span>
 
''No comment''
 
===== gbt_tstz_compress =====
<span id="public.gbt_tstz_compress"></span>
 
''No comment''
 
===== gbt_tstz_consistent =====
<span id="public.gbt_tstz_consistent"></span>
 
''No comment''
 
===== gbt_tstz_distance =====
<span id="public.gbt_tstz_distance"></span>
 
''No comment''
 
===== gbt_uuid_compress =====
<span id="public.gbt_uuid_compress"></span>
 
''No comment''
 
===== gbt_uuid_consistent =====
<span id="public.gbt_uuid_consistent"></span>
 
''No comment''
 
===== gbt_uuid_fetch =====
<span id="public.gbt_uuid_fetch"></span>
 
''No comment''
 
===== gbt_uuid_penalty =====
<span id="public.gbt_uuid_penalty"></span>
 
''No comment''
 
===== gbt_uuid_picksplit =====
<span id="public.gbt_uuid_picksplit"></span>
 
''No comment''
 
===== gbt_uuid_same =====
<span id="public.gbt_uuid_same"></span>
 
''No comment''
 
===== gbt_uuid_union =====
<span id="public.gbt_uuid_union"></span>
 
''No comment''
 
===== gbt_var_decompress =====
<span id="public.gbt_var_decompress"></span>
 
''No comment''
 
===== gbt_var_fetch =====
<span id="public.gbt_var_fetch"></span>
 
''No comment''
 
===== gbtreekey16_in =====
<span id="public.gbtreekey16_in"></span>
 
''No comment''
 
===== gbtreekey16_out =====
<span id="public.gbtreekey16_out"></span>
 
''No comment''
 
===== gbtreekey2_in =====
<span id="public.gbtreekey2_in"></span>
 
''No comment''
 
===== gbtreekey2_out =====
<span id="public.gbtreekey2_out"></span>
 
''No comment''
 
===== gbtreekey32_in =====
<span id="public.gbtreekey32_in"></span>
 
''No comment''
 
===== gbtreekey32_out =====
<span id="public.gbtreekey32_out"></span>
 
''No comment''
 
===== gbtreekey4_in =====
<span id="public.gbtreekey4_in"></span>
 
''No comment''
 
===== gbtreekey4_out =====
<span id="public.gbtreekey4_out"></span>
 
''No comment''
 
===== gbtreekey8_in =====
<span id="public.gbtreekey8_in"></span>
 
''No comment''
 
===== gbtreekey8_out =====
<span id="public.gbtreekey8_out"></span>
 
''No comment''
 
===== gbtreekey_var_in =====
<span id="public.gbtreekey_var_in"></span>
 
''No comment''
 
===== gbtreekey_var_out =====
<span id="public.gbtreekey_var_out"></span>
 
''No comment''
 
===== geog_brin_inclusion_add_value =====
<span id="public.geog_brin_inclusion_add_value"></span>
 
''No comment''
 
===== geog_brin_inclusion_merge =====
<span id="public.geog_brin_inclusion_merge"></span>
 
''No comment''
 
===== geography =====
<span id="public.geography"></span>
 
''No comment''
 
===== geography =====
<span id="public.geography"></span>
 
''No comment''
 
===== geography =====
<span id="public.geography"></span>
 
''No comment''
 
===== geography_analyze =====
<span id="public.geography_analyze"></span>
 
''No comment''
 
===== geography_cmp =====
<span id="public.geography_cmp"></span>
 
''No comment''
 
===== geography_distance_knn =====
<span id="public.geography_distance_knn"></span>
 
''No comment''
 
===== geography_eq =====
<span id="public.geography_eq"></span>
 
''No comment''
 
===== geography_ge =====
<span id="public.geography_ge"></span>
 
''No comment''
 
===== geography_gist_compress =====
<span id="public.geography_gist_compress"></span>
 
''No comment''
 
===== geography_gist_consistent =====
<span id="public.geography_gist_consistent"></span>
 
''No comment''
 
===== geography_gist_decompress =====
<span id="public.geography_gist_decompress"></span>
 
''No comment''
 
===== geography_gist_distance =====
<span id="public.geography_gist_distance"></span>
 
''No comment''
 
===== geography_gist_penalty =====
<span id="public.geography_gist_penalty"></span>
 
''No comment''
 
===== geography_gist_picksplit =====
<span id="public.geography_gist_picksplit"></span>
 
''No comment''
 
===== geography_gist_same =====
<span id="public.geography_gist_same"></span>
 
''No comment''
 
===== geography_gist_union =====
<span id="public.geography_gist_union"></span>
 
''No comment''
 
===== geography_gt =====
<span id="public.geography_gt"></span>
 
''No comment''
 
===== geography_in =====
<span id="public.geography_in"></span>
 
''No comment''
 
===== geography_le =====
<span id="public.geography_le"></span>
 
''No comment''
 
===== geography_lt =====
<span id="public.geography_lt"></span>
 
''No comment''
 
===== geography_out =====
<span id="public.geography_out"></span>
 
''No comment''
 
===== geography_overlaps =====
<span id="public.geography_overlaps"></span>
 
''No comment''
 
===== geography_recv =====
<span id="public.geography_recv"></span>
 
''No comment''
 
===== geography_send =====
<span id="public.geography_send"></span>
 
''No comment''
 
===== geography_spgist_choose_nd =====
<span id="public.geography_spgist_choose_nd"></span>
 
''No comment''
 
===== geography_spgist_compress_nd =====
<span id="public.geography_spgist_compress_nd"></span>
 
''No comment''
 
===== geography_spgist_config_nd =====
<span id="public.geography_spgist_config_nd"></span>
 
''No comment''
 
===== geography_spgist_inner_consistent_nd =====
<span id="public.geography_spgist_inner_consistent_nd"></span>
 
''No comment''
 
===== geography_spgist_leaf_consistent_nd =====
<span id="public.geography_spgist_leaf_consistent_nd"></span>
 
''No comment''
 
===== geography_spgist_picksplit_nd =====
<span id="public.geography_spgist_picksplit_nd"></span>
 
''No comment''
 
===== geography_typmod_in =====
<span id="public.geography_typmod_in"></span>
 
''No comment''
 
===== geography_typmod_out =====
<span id="public.geography_typmod_out"></span>
 
''No comment''
 
===== geom2d_brin_inclusion_add_value =====
<span id="public.geom2d_brin_inclusion_add_value"></span>
 
''No comment''
 
===== geom2d_brin_inclusion_merge =====
<span id="public.geom2d_brin_inclusion_merge"></span>
 
''No comment''
 
===== geom3d_brin_inclusion_add_value =====
<span id="public.geom3d_brin_inclusion_add_value"></span>
 
''No comment''
 
===== geom3d_brin_inclusion_merge =====
<span id="public.geom3d_brin_inclusion_merge"></span>
 
''No comment''
 
===== geom4d_brin_inclusion_add_value =====
<span id="public.geom4d_brin_inclusion_add_value"></span>
 
''No comment''
 
===== geom4d_brin_inclusion_merge =====
<span id="public.geom4d_brin_inclusion_merge"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry =====
<span id="public.geometry"></span>
 
''No comment''
 
===== geometry_above =====
<span id="public.geometry_above"></span>
 
''No comment''
 
===== geometry_analyze =====
<span id="public.geometry_analyze"></span>
 
''No comment''
 
===== geometry_below =====
<span id="public.geometry_below"></span>
 
''No comment''
 
===== geometry_cmp =====
<span id="public.geometry_cmp"></span>
 
''No comment''
 
===== geometry_contained_3d =====
<span id="public.geometry_contained_3d"></span>
 
''No comment''
 
===== geometry_contains =====
<span id="public.geometry_contains"></span>
 
''No comment''
 
===== geometry_contains_3d =====
<span id="public.geometry_contains_3d"></span>
 
''No comment''
 
===== geometry_contains_nd =====
<span id="public.geometry_contains_nd"></span>
 
''No comment''
 
===== geometry_distance_box =====
<span id="public.geometry_distance_box"></span>
 
''No comment''
 
===== geometry_distance_centroid =====
<span id="public.geometry_distance_centroid"></span>
 
''No comment''
 
===== geometry_distance_centroid_nd =====
<span id="public.geometry_distance_centroid_nd"></span>
 
''No comment''
 
===== geometry_distance_cpa =====
<span id="public.geometry_distance_cpa"></span>
 
''No comment''
 
===== geometry_eq =====
<span id="public.geometry_eq"></span>
 
''No comment''
 
===== geometry_ge =====
<span id="public.geometry_ge"></span>
 
''No comment''
 
===== geometry_gist_compress_2d =====
<span id="public.geometry_gist_compress_2d"></span>
 
''No comment''
 
===== geometry_gist_compress_nd =====
<span id="public.geometry_gist_compress_nd"></span>
 
''No comment''
 
===== geometry_gist_consistent_2d =====
<span id="public.geometry_gist_consistent_2d"></span>
 
''No comment''
 
===== geometry_gist_consistent_nd =====
<span id="public.geometry_gist_consistent_nd"></span>
 
''No comment''
 
===== geometry_gist_decompress_2d =====
<span id="public.geometry_gist_decompress_2d"></span>
 
''No comment''
 
===== geometry_gist_decompress_nd =====
<span id="public.geometry_gist_decompress_nd"></span>
 
''No comment''
 
===== geometry_gist_distance_2d =====
<span id="public.geometry_gist_distance_2d"></span>
 
''No comment''
 
===== geometry_gist_distance_nd =====
<span id="public.geometry_gist_distance_nd"></span>
 
''No comment''
 
===== geometry_gist_penalty_2d =====
<span id="public.geometry_gist_penalty_2d"></span>
 
''No comment''
 
===== geometry_gist_penalty_nd =====
<span id="public.geometry_gist_penalty_nd"></span>
 
''No comment''
 
===== geometry_gist_picksplit_2d =====
<span id="public.geometry_gist_picksplit_2d"></span>
 
''No comment''
 
===== geometry_gist_picksplit_nd =====
<span id="public.geometry_gist_picksplit_nd"></span>
 
''No comment''
 
===== geometry_gist_same_2d =====
<span id="public.geometry_gist_same_2d"></span>
 
''No comment''
 
===== geometry_gist_same_nd =====
<span id="public.geometry_gist_same_nd"></span>
 
''No comment''
 
===== geometry_gist_sortsupport_2d =====
<span id="public.geometry_gist_sortsupport_2d"></span>
 
''No comment''
 
===== geometry_gist_union_2d =====
<span id="public.geometry_gist_union_2d"></span>
 
''No comment''
 
===== geometry_gist_union_nd =====
<span id="public.geometry_gist_union_nd"></span>
 
''No comment''
 
===== geometry_gt =====
<span id="public.geometry_gt"></span>
 
''No comment''
 
===== geometry_hash =====
<span id="public.geometry_hash"></span>
 
''No comment''
 
===== geometry_in =====
<span id="public.geometry_in"></span>
 
''No comment''
 
===== geometry_le =====
<span id="public.geometry_le"></span>
 
''No comment''
 
===== geometry_left =====
<span id="public.geometry_left"></span>
 
''No comment''
 
===== geometry_lt =====
<span id="public.geometry_lt"></span>
 
''No comment''
 
===== geometry_neq =====
<span id="public.geometry_neq"></span>
 
''No comment''
 
===== geometry_out =====
<span id="public.geometry_out"></span>
 
''No comment''
 
===== geometry_overabove =====
<span id="public.geometry_overabove"></span>
 
''No comment''
 
===== geometry_overbelow =====
<span id="public.geometry_overbelow"></span>
 
''No comment''
 
===== geometry_overlaps =====
<span id="public.geometry_overlaps"></span>
 
''No comment''
 
===== geometry_overlaps_3d =====
<span id="public.geometry_overlaps_3d"></span>
 
''No comment''
 
===== geometry_overlaps_nd =====
<span id="public.geometry_overlaps_nd"></span>
 
''No comment''
 
===== geometry_overleft =====
<span id="public.geometry_overleft"></span>
 
''No comment''
 
===== geometry_overright =====
<span id="public.geometry_overright"></span>
 
''No comment''
 
===== geometry_recv =====
<span id="public.geometry_recv"></span>
 
''No comment''
 
===== geometry_right =====
<span id="public.geometry_right"></span>
 
''No comment''
 
===== geometry_same =====
<span id="public.geometry_same"></span>
 
''No comment''
 
===== geometry_same_3d =====
<span id="public.geometry_same_3d"></span>
 
''No comment''
 
===== geometry_same_nd =====
<span id="public.geometry_same_nd"></span>
 
''No comment''
 
===== geometry_send =====
<span id="public.geometry_send"></span>
 
''No comment''
 
===== geometry_sortsupport =====
<span id="public.geometry_sortsupport"></span>
 
''No comment''
 
===== geometry_spgist_choose_2d =====
<span id="public.geometry_spgist_choose_2d"></span>
 
''No comment''
 
===== geometry_spgist_choose_3d =====
<span id="public.geometry_spgist_choose_3d"></span>
 
''No comment''
 
===== geometry_spgist_choose_nd =====
<span id="public.geometry_spgist_choose_nd"></span>
 
''No comment''
 
===== geometry_spgist_compress_2d =====
<span id="public.geometry_spgist_compress_2d"></span>
 
''No comment''
 
===== geometry_spgist_compress_3d =====
<span id="public.geometry_spgist_compress_3d"></span>
 
''No comment''
 
===== geometry_spgist_compress_nd =====
<span id="public.geometry_spgist_compress_nd"></span>
 
''No comment''
 
===== geometry_spgist_config_2d =====
<span id="public.geometry_spgist_config_2d"></span>
 
''No comment''
 
===== geometry_spgist_config_3d =====
<span id="public.geometry_spgist_config_3d"></span>
 
''No comment''
 
===== geometry_spgist_config_nd =====
<span id="public.geometry_spgist_config_nd"></span>
 
''No comment''
 
===== geometry_spgist_inner_consistent_2d =====
<span id="public.geometry_spgist_inner_consistent_2d"></span>
 
''No comment''
 
===== geometry_spgist_inner_consistent_3d =====
<span id="public.geometry_spgist_inner_consistent_3d"></span>
 
''No comment''
 
===== geometry_spgist_inner_consistent_nd =====
<span id="public.geometry_spgist_inner_consistent_nd"></span>
 
''No comment''
 
===== geometry_spgist_leaf_consistent_2d =====
<span id="public.geometry_spgist_leaf_consistent_2d"></span>
 
''No comment''
 
===== geometry_spgist_leaf_consistent_3d =====
<span id="public.geometry_spgist_leaf_consistent_3d"></span>
 
''No comment''
 
===== geometry_spgist_leaf_consistent_nd =====
<span id="public.geometry_spgist_leaf_consistent_nd"></span>
 
''No comment''
 
===== geometry_spgist_picksplit_2d =====
<span id="public.geometry_spgist_picksplit_2d"></span>
 
''No comment''
 
===== geometry_spgist_picksplit_3d =====
<span id="public.geometry_spgist_picksplit_3d"></span>
 
''No comment''
 
===== geometry_spgist_picksplit_nd =====
<span id="public.geometry_spgist_picksplit_nd"></span>
 
''No comment''
 
===== geometry_typmod_in =====
<span id="public.geometry_typmod_in"></span>
 
''No comment''
 
===== geometry_typmod_out =====
<span id="public.geometry_typmod_out"></span>
 
''No comment''
 
===== geometry_within =====
<span id="public.geometry_within"></span>
 
''No comment''
 
===== geometry_within_nd =====
<span id="public.geometry_within_nd"></span>
 
''No comment''
 
===== geometrytype =====
<span id="public.geometrytype"></span>
 
''No comment''
 
===== geometrytype =====
<span id="public.geometrytype"></span>
 
''No comment''
 
===== geomfromewkb =====
<span id="public.geomfromewkb"></span>
 
''No comment''
 
===== geomfromewkt =====
<span id="public.geomfromewkt"></span>
 
''No comment''
 
===== get_proj4_from_srid =====
<span id="public.get_proj4_from_srid"></span>
 
''No comment''
 
===== get_restricted_events =====
<span id="public.get_restricted_events"></span>
 
Return the [events](#rov.event) that are either unrestricted, or subject to [restrictions](#shared.restriction) for which at least one of the user's [groups](#public.auth_group) is permitted.
 
===== gidx_in =====
<span id="public.gidx_in"></span>
 
''No comment''
 
===== gidx_out =====
<span id="public.gidx_out"></span>
 
''No comment''
 
===== gin_extract_query_trgm =====
<span id="public.gin_extract_query_trgm"></span>
 
''No comment''
 
===== gin_extract_value_trgm =====
<span id="public.gin_extract_value_trgm"></span>
 
''No comment''
 
===== gin_trgm_consistent =====
<span id="public.gin_trgm_consistent"></span>
 
''No comment''
 
===== gin_trgm_triconsistent =====
<span id="public.gin_trgm_triconsistent"></span>
 
''No comment''
 
===== gserialized_gist_joinsel_2d =====
<span id="public.gserialized_gist_joinsel_2d"></span>
 
''No comment''
 
===== gserialized_gist_joinsel_nd =====
<span id="public.gserialized_gist_joinsel_nd"></span>
 
''No comment''
 
===== gserialized_gist_sel_2d =====
<span id="public.gserialized_gist_sel_2d"></span>
 
''No comment''
 
===== gserialized_gist_sel_nd =====
<span id="public.gserialized_gist_sel_nd"></span>
 
''No comment''
 
===== gtrgm_compress =====
<span id="public.gtrgm_compress"></span>
 
''No comment''
 
===== gtrgm_consistent =====
<span id="public.gtrgm_consistent"></span>
 
''No comment''
 
===== gtrgm_decompress =====
<span id="public.gtrgm_decompress"></span>
 
''No comment''
 
===== gtrgm_distance =====
<span id="public.gtrgm_distance"></span>
 
''No comment''
 
===== gtrgm_in =====
<span id="public.gtrgm_in"></span>
 
''No comment''
 
===== gtrgm_options =====
<span id="public.gtrgm_options"></span>
 
''No comment''
 
===== gtrgm_out =====
<span id="public.gtrgm_out"></span>
 
''No comment''
 
===== gtrgm_penalty =====
<span id="public.gtrgm_penalty"></span>
 
''No comment''
 
===== gtrgm_picksplit =====
<span id="public.gtrgm_picksplit"></span>
 
''No comment''
 
===== gtrgm_same =====
<span id="public.gtrgm_same"></span>
 
''No comment''
 
===== gtrgm_union =====
<span id="public.gtrgm_union"></span>
 
''No comment''
 
===== inat_taxon_level =====
<span id="public.inat_taxon_level"></span>
 
''No comment''
 
===== initial_import_groups =====
<span id="public.initial_import_groups"></span>
 
''No comment''
 
===== int2_dist =====
<span id="public.int2_dist"></span>
 
''No comment''
 
===== int4_dist =====
<span id="public.int4_dist"></span>
 
''No comment''
 
===== int8_dist =====
<span id="public.int8_dist"></span>
 
''No comment''
 
===== interval_dist =====
<span id="public.interval_dist"></span>
 
''No comment''
 
===== is_contained_2d =====
<span id="public.is_contained_2d"></span>
 
''No comment''
 
===== is_contained_2d =====
<span id="public.is_contained_2d"></span>
 
''No comment''
 
===== is_contained_2d =====
<span id="public.is_contained_2d"></span>
 
''No comment''
 
===== json =====
<span id="public.json"></span>
 
''No comment''
 
===== jsonb =====
<span id="public.jsonb"></span>
 
''No comment''
 
===== lookup_position =====
<span id="public.lookup_position"></span>
 
''No comment''
 
===== max =====
<span id="public.max"></span>
 
''No comment''
 
===== measurement_position_maintain_dive =====
<span id="public.measurement_position_maintain_dive"></span>
 
''No comment''
 
===== measurement_position_maintain_dives =====
<span id="public.measurement_position_maintain_dives"></span>
 
''No comment''
 
===== min =====
<span id="public.min"></span>
 
''No comment''
 
===== normal_rand =====
<span id="public.normal_rand"></span>
 
''No comment''
 
===== oid_dist =====
<span id="public.oid_dist"></span>
 
''No comment''
 
===== overlaps_2d =====
<span id="public.overlaps_2d"></span>
 
''No comment''
 
===== overlaps_2d =====
<span id="public.overlaps_2d"></span>
 
''No comment''
 
===== overlaps_2d =====
<span id="public.overlaps_2d"></span>
 
''No comment''
 
===== overlaps_geog =====
<span id="public.overlaps_geog"></span>
 
''No comment''
 
===== overlaps_geog =====
<span id="public.overlaps_geog"></span>
 
''No comment''
 
===== overlaps_geog =====
<span id="public.overlaps_geog"></span>
 
''No comment''
 
===== overlaps_nd =====
<span id="public.overlaps_nd"></span>
 
''No comment''
 
===== overlaps_nd =====
<span id="public.overlaps_nd"></span>
 
''No comment''
 
===== overlaps_nd =====
<span id="public.overlaps_nd"></span>
 
''No comment''
 
===== p_measurement_position_crosstab =====
<span id="public.p_measurement_position_crosstab"></span>
 
''No comment''
 
===== p_measurement_position_maintain_dive =====
<span id="public.p_measurement_position_maintain_dive"></span>
 
''No comment''
 
===== p_measurement_position_maintain_dives =====
<span id="public.p_measurement_position_maintain_dives"></span>
 
''No comment''
 
===== path =====
<span id="public.path"></span>
 
''No comment''
 
===== pgis_asflatgeobuf_finalfn =====
<span id="public.pgis_asflatgeobuf_finalfn"></span>
 
''No comment''
 
===== pgis_asflatgeobuf_transfn =====
<span id="public.pgis_asflatgeobuf_transfn"></span>
 
''No comment''
 
===== pgis_asflatgeobuf_transfn =====
<span id="public.pgis_asflatgeobuf_transfn"></span>
 
''No comment''
 
===== pgis_asflatgeobuf_transfn =====
<span id="public.pgis_asflatgeobuf_transfn"></span>
 
''No comment''
 
===== pgis_asgeobuf_finalfn =====
<span id="public.pgis_asgeobuf_finalfn"></span>
 
''No comment''
 
===== pgis_asgeobuf_transfn =====
<span id="public.pgis_asgeobuf_transfn"></span>
 
''No comment''
 
===== pgis_asgeobuf_transfn =====
<span id="public.pgis_asgeobuf_transfn"></span>
 
''No comment''
 
===== pgis_asmvt_combinefn =====
<span id="public.pgis_asmvt_combinefn"></span>
 
''No comment''
 
===== pgis_asmvt_deserialfn =====
<span id="public.pgis_asmvt_deserialfn"></span>
 
''No comment''
 
===== pgis_asmvt_finalfn =====
<span id="public.pgis_asmvt_finalfn"></span>
 
''No comment''
 
===== pgis_asmvt_serialfn =====
<span id="public.pgis_asmvt_serialfn"></span>
 
''No comment''
 
===== pgis_asmvt_transfn =====
<span id="public.pgis_asmvt_transfn"></span>
 
''No comment''
 
===== pgis_asmvt_transfn =====
<span id="public.pgis_asmvt_transfn"></span>
 
''No comment''
 
===== pgis_asmvt_transfn =====
<span id="public.pgis_asmvt_transfn"></span>
 
''No comment''
 
===== pgis_asmvt_transfn =====
<span id="public.pgis_asmvt_transfn"></span>
 
''No comment''
 
===== pgis_asmvt_transfn =====
<span id="public.pgis_asmvt_transfn"></span>
 
''No comment''
 
===== pgis_geometry_accum_transfn =====
<span id="public.pgis_geometry_accum_transfn"></span>
 
''No comment''
 
===== pgis_geometry_accum_transfn =====
<span id="public.pgis_geometry_accum_transfn"></span>
 
''No comment''
 
===== pgis_geometry_accum_transfn =====
<span id="public.pgis_geometry_accum_transfn"></span>
 
''No comment''
 
===== pgis_geometry_clusterintersecting_finalfn =====
<span id="public.pgis_geometry_clusterintersecting_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_clusterwithin_finalfn =====
<span id="public.pgis_geometry_clusterwithin_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_collect_finalfn =====
<span id="public.pgis_geometry_collect_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_coverageunion_finalfn =====
<span id="public.pgis_geometry_coverageunion_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_makeline_finalfn =====
<span id="public.pgis_geometry_makeline_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_polygonize_finalfn =====
<span id="public.pgis_geometry_polygonize_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_combinefn =====
<span id="public.pgis_geometry_union_parallel_combinefn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_deserialfn =====
<span id="public.pgis_geometry_union_parallel_deserialfn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_finalfn =====
<span id="public.pgis_geometry_union_parallel_finalfn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_serialfn =====
<span id="public.pgis_geometry_union_parallel_serialfn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_transfn =====
<span id="public.pgis_geometry_union_parallel_transfn"></span>
 
''No comment''
 
===== pgis_geometry_union_parallel_transfn =====
<span id="public.pgis_geometry_union_parallel_transfn"></span>
 
''No comment''
 
===== point =====
<span id="public.point"></span>
 
''No comment''
 
===== polygon =====
<span id="public.polygon"></span>
 
''No comment''
 
===== populate_geometry_columns =====
<span id="public.populate_geometry_columns"></span>
 
''No comment''
 
===== populate_geometry_columns =====
<span id="public.populate_geometry_columns"></span>


''No comment''
===== postgis_addbbox =====
<span id="public.postgis_addbbox"></span>
''No comment''
===== postgis_cache_bbox =====
<span id="public.postgis_cache_bbox"></span>
''No comment''
===== postgis_constraint_dims =====
<span id="public.postgis_constraint_dims"></span>
''No comment''
===== postgis_constraint_srid =====
<span id="public.postgis_constraint_srid"></span>
''No comment''
===== postgis_constraint_type =====
<span id="public.postgis_constraint_type"></span>
''No comment''
===== postgis_dropbbox =====
<span id="public.postgis_dropbbox"></span>
''No comment''
===== postgis_extensions_upgrade =====
<span id="public.postgis_extensions_upgrade"></span>
''No comment''
===== postgis_full_version =====
<span id="public.postgis_full_version"></span>
''No comment''
===== postgis_geos_compiled_version =====
<span id="public.postgis_geos_compiled_version"></span>
''No comment''
===== postgis_geos_noop =====
<span id="public.postgis_geos_noop"></span>
''No comment''
===== postgis_geos_version =====
<span id="public.postgis_geos_version"></span>
''No comment''
===== postgis_getbbox =====
<span id="public.postgis_getbbox"></span>
''No comment''
===== postgis_hasbbox =====
<span id="public.postgis_hasbbox"></span>
''No comment''
===== postgis_index_supportfn =====
<span id="public.postgis_index_supportfn"></span>
''No comment''
===== postgis_lib_build_date =====
<span id="public.postgis_lib_build_date"></span>
''No comment''
===== postgis_lib_revision =====
<span id="public.postgis_lib_revision"></span>
''No comment''
===== postgis_lib_version =====
<span id="public.postgis_lib_version"></span>
''No comment''
===== postgis_libjson_version =====
<span id="public.postgis_libjson_version"></span>
''No comment''
===== postgis_liblwgeom_version =====
<span id="public.postgis_liblwgeom_version"></span>
''No comment''
===== postgis_libprotobuf_version =====
<span id="public.postgis_libprotobuf_version"></span>
''No comment''
===== postgis_libxml_version =====
<span id="public.postgis_libxml_version"></span>
''No comment''
===== postgis_noop =====
<span id="public.postgis_noop"></span>
''No comment''
===== postgis_proj_compiled_version =====
<span id="public.postgis_proj_compiled_version"></span>
''No comment''
===== postgis_proj_version =====
<span id="public.postgis_proj_version"></span>
''No comment''
===== postgis_scripts_build_date =====
<span id="public.postgis_scripts_build_date"></span>
''No comment''
===== postgis_scripts_installed =====
<span id="public.postgis_scripts_installed"></span>
''No comment''
===== postgis_scripts_released =====
<span id="public.postgis_scripts_released"></span>
''No comment''
===== postgis_srs =====
<span id="public.postgis_srs"></span>
''No comment''
===== postgis_srs_all =====
<span id="public.postgis_srs_all"></span>
''No comment''
===== postgis_srs_codes =====
<span id="public.postgis_srs_codes"></span>
''No comment''
===== postgis_srs_search =====
<span id="public.postgis_srs_search"></span>
''No comment''
===== postgis_svn_version =====
<span id="public.postgis_svn_version"></span>
''No comment''
===== postgis_transform_geometry =====
<span id="public.postgis_transform_geometry"></span>
''No comment''
===== postgis_transform_pipeline_geometry =====
<span id="public.postgis_transform_pipeline_geometry"></span>
''No comment''
===== postgis_type_name =====
<span id="public.postgis_type_name"></span>
''No comment''
===== postgis_typmod_dims =====
<span id="public.postgis_typmod_dims"></span>
''No comment''
===== postgis_typmod_srid =====
<span id="public.postgis_typmod_srid"></span>
''No comment''
===== postgis_typmod_type =====
<span id="public.postgis_typmod_type"></span>
''No comment''
===== postgis_version =====
<span id="public.postgis_version"></span>
''No comment''
===== postgis_wagyu_version =====
<span id="public.postgis_wagyu_version"></span>
''No comment''
===== regexp_match =====
<span id="public.regexp_match"></span>
''No comment''
===== regexp_match =====
<span id="public.regexp_match"></span>
''No comment''
===== regexp_matches =====
<span id="public.regexp_matches"></span>
''No comment''
===== regexp_matches =====
<span id="public.regexp_matches"></span>
''No comment''
===== regexp_replace =====
<span id="public.regexp_replace"></span>
''No comment''
===== regexp_replace =====
<span id="public.regexp_replace"></span>
''No comment''
===== regexp_split_to_array =====
<span id="public.regexp_split_to_array"></span>
''No comment''
===== regexp_split_to_array =====
<span id="public.regexp_split_to_array"></span>
''No comment''
===== regexp_split_to_table =====
<span id="public.regexp_split_to_table"></span>
''No comment''
===== regexp_split_to_table =====
<span id="public.regexp_split_to_table"></span>
''No comment''
===== remove_duplicates =====
<span id="public.remove_duplicates"></span>
Removes duplicated [positions](#rov.position), [measurements](#rov.measurement) and [events](#rov.event) (not observations which cannot be deduplicated deterministically).
===== remove_event_duplicates =====
<span id="public.remove_event_duplicates"></span>
''No comment''
===== replace =====
<span id="public.replace"></span>
''No comment''
===== restriction_group_set_admin =====
<span id="public.restriction_group_set_admin"></span>
When a [restriction](#shared.restriction) is inserted, automatically inserts a record into [restriction_group](#shared.restriction) group to give admins permission to see the restricted record. Other groups can be added manualy.
===== set_limit =====
<span id="public.set_limit"></span>
''No comment''
===== show_limit =====
<span id="public.show_limit"></span>
''No comment''
===== show_trgm =====
<span id="public.show_trgm"></span>
''No comment''
===== similarity =====
<span id="public.similarity"></span>
''No comment''
===== similarity_dist =====
<span id="public.similarity_dist"></span>
''No comment''
===== similarity_op =====
<span id="public.similarity_op"></span>
''No comment''
===== spheroid_in =====
<span id="public.spheroid_in"></span>
''No comment''
===== spheroid_out =====
<span id="public.spheroid_out"></span>
''No comment''
===== split_part =====
<span id="public.split_part"></span>
''No comment''
===== st_3dclosestpoint =====
<span id="public.st_3dclosestpoint"></span>
''No comment''
===== st_3ddfullywithin =====
<span id="public.st_3ddfullywithin"></span>
''No comment''
===== st_3ddistance =====
<span id="public.st_3ddistance"></span>
''No comment''
===== st_3ddwithin =====
<span id="public.st_3ddwithin"></span>
''No comment''
===== st_3dextent =====
<span id="public.st_3dextent"></span>
''No comment''
===== st_3dintersects =====
<span id="public.st_3dintersects"></span>
''No comment''
===== st_3dlength =====
<span id="public.st_3dlength"></span>
''No comment''
===== st_3dlineinterpolatepoint =====
<span id="public.st_3dlineinterpolatepoint"></span>
''No comment''
===== st_3dlongestline =====
<span id="public.st_3dlongestline"></span>
''No comment''
===== st_3dmakebox =====
<span id="public.st_3dmakebox"></span>
''No comment''
===== st_3dmaxdistance =====
<span id="public.st_3dmaxdistance"></span>
''No comment''
===== st_3dperimeter =====
<span id="public.st_3dperimeter"></span>
''No comment''
===== st_3dshortestline =====
<span id="public.st_3dshortestline"></span>
''No comment''
===== st_addmeasure =====
<span id="public.st_addmeasure"></span>
''No comment''
===== st_addpoint =====
<span id="public.st_addpoint"></span>
''No comment''
===== st_addpoint =====
<span id="public.st_addpoint"></span>
''No comment''
===== st_affine =====
<span id="public.st_affine"></span>
''No comment''
===== st_affine =====
<span id="public.st_affine"></span>
''No comment''
===== st_angle =====
<span id="public.st_angle"></span>
''No comment''
===== st_angle =====
<span id="public.st_angle"></span>
''No comment''
===== st_area =====
<span id="public.st_area"></span>
''No comment''
===== st_area =====
<span id="public.st_area"></span>
''No comment''
===== st_area =====
<span id="public.st_area"></span>
''No comment''
===== st_area2d =====
<span id="public.st_area2d"></span>
''No comment''
===== st_asbinary =====
<span id="public.st_asbinary"></span>
''No comment''
===== st_asbinary =====
<span id="public.st_asbinary"></span>
''No comment''
===== st_asbinary =====
<span id="public.st_asbinary"></span>
''No comment''
===== st_asbinary =====
<span id="public.st_asbinary"></span>
''No comment''
===== st_asencodedpolyline =====
<span id="public.st_asencodedpolyline"></span>
''No comment''
===== st_asewkb =====
<span id="public.st_asewkb"></span>
''No comment''
===== st_asewkb =====
<span id="public.st_asewkb"></span>
''No comment''
===== st_asewkt =====
<span id="public.st_asewkt"></span>
''No comment''
===== st_asewkt =====
<span id="public.st_asewkt"></span>
''No comment''
===== st_asewkt =====
<span id="public.st_asewkt"></span>
''No comment''
===== st_asewkt =====
<span id="public.st_asewkt"></span>
''No comment''
===== st_asewkt =====
<span id="public.st_asewkt"></span>
''No comment''
===== st_asflatgeobuf =====
<span id="public.st_asflatgeobuf"></span>
''No comment''
===== st_asflatgeobuf =====
<span id="public.st_asflatgeobuf"></span>
''No comment''
===== st_asflatgeobuf =====
<span id="public.st_asflatgeobuf"></span>
''No comment''
===== st_asgeobuf =====
<span id="public.st_asgeobuf"></span>
''No comment''
===== st_asgeobuf =====
<span id="public.st_asgeobuf"></span>
''No comment''
===== st_asgeojson =====
<span id="public.st_asgeojson"></span>
''No comment''
===== st_asgeojson =====
<span id="public.st_asgeojson"></span>
''No comment''
===== st_asgeojson =====
<span id="public.st_asgeojson"></span>
''No comment''
===== st_asgeojson =====
<span id="public.st_asgeojson"></span>
''No comment''
===== st_asgml =====
<span id="public.st_asgml"></span>
''No comment''
===== st_asgml =====
<span id="public.st_asgml"></span>
''No comment''
===== st_asgml =====
<span id="public.st_asgml"></span>
''No comment''
===== st_asgml =====
<span id="public.st_asgml"></span>
''No comment''
===== st_asgml =====
<span id="public.st_asgml"></span>
''No comment''
===== st_ashexewkb =====
<span id="public.st_ashexewkb"></span>
''No comment''
===== st_ashexewkb =====
<span id="public.st_ashexewkb"></span>
''No comment''
===== st_askml =====
<span id="public.st_askml"></span>
''No comment''
===== st_askml =====
<span id="public.st_askml"></span>
''No comment''
===== st_askml =====
<span id="public.st_askml"></span>
''No comment''
===== st_aslatlontext =====
<span id="public.st_aslatlontext"></span>
''No comment''
===== st_asmarc21 =====
<span id="public.st_asmarc21"></span>
''No comment''
===== st_asmvt =====
<span id="public.st_asmvt"></span>
''No comment''
===== st_asmvt =====
<span id="public.st_asmvt"></span>
''No comment''
===== st_asmvt =====
<span id="public.st_asmvt"></span>
''No comment''
===== st_asmvt =====
<span id="public.st_asmvt"></span>
''No comment''
===== st_asmvt =====
<span id="public.st_asmvt"></span>
''No comment''
===== st_asmvtgeom =====
<span id="public.st_asmvtgeom"></span>
''No comment''
===== st_assvg =====
<span id="public.st_assvg"></span>
''No comment''
===== st_assvg =====
<span id="public.st_assvg"></span>
''No comment''
===== st_assvg =====
<span id="public.st_assvg"></span>
''No comment''
===== st_astext =====
<span id="public.st_astext"></span>
''No comment''
===== st_astext =====
<span id="public.st_astext"></span>
''No comment''
===== st_astext =====
<span id="public.st_astext"></span>
''No comment''
===== st_astext =====
<span id="public.st_astext"></span>
''No comment''
===== st_astext =====
<span id="public.st_astext"></span>
''No comment''
===== st_astwkb =====
<span id="public.st_astwkb"></span>
''No comment''
===== st_astwkb =====
<span id="public.st_astwkb"></span>
''No comment''
===== st_asx3d =====
<span id="public.st_asx3d"></span>
''No comment''
===== st_azimuth =====
<span id="public.st_azimuth"></span>
''No comment''
===== st_azimuth =====
<span id="public.st_azimuth"></span>
''No comment''
===== st_bdmpolyfromtext =====
<span id="public.st_bdmpolyfromtext"></span>
''No comment''
===== st_bdpolyfromtext =====
<span id="public.st_bdpolyfromtext"></span>
''No comment''
===== st_boundary =====
<span id="public.st_boundary"></span>
''No comment''
===== st_boundingdiagonal =====
<span id="public.st_boundingdiagonal"></span>
''No comment''
===== st_box2dfromgeohash =====
<span id="public.st_box2dfromgeohash"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buffer =====
<span id="public.st_buffer"></span>
''No comment''
===== st_buildarea =====
<span id="public.st_buildarea"></span>
''No comment''
===== st_centroid =====
<span id="public.st_centroid"></span>
''No comment''
===== st_centroid =====
<span id="public.st_centroid"></span>
''No comment''
===== st_centroid =====
<span id="public.st_centroid"></span>
''No comment''
===== st_chaikinsmoothing =====
<span id="public.st_chaikinsmoothing"></span>
''No comment''
===== st_cleangeometry =====
<span id="public.st_cleangeometry"></span>
''No comment''
===== st_clipbybox2d =====
<span id="public.st_clipbybox2d"></span>
''No comment''
===== st_closestpoint =====
<span id="public.st_closestpoint"></span>
''No comment''
===== st_closestpoint =====
<span id="public.st_closestpoint"></span>
''No comment''
===== st_closestpoint =====
<span id="public.st_closestpoint"></span>
''No comment''
===== st_closestpointofapproach =====
<span id="public.st_closestpointofapproach"></span>
''No comment''
===== st_clusterdbscan =====
<span id="public.st_clusterdbscan"></span>
''No comment''
===== st_clusterintersecting =====
<span id="public.st_clusterintersecting"></span>
''No comment''
===== st_clusterintersecting =====
<span id="public.st_clusterintersecting"></span>
''No comment''
===== st_clusterintersectingwin =====
<span id="public.st_clusterintersectingwin"></span>
''No comment''
===== st_clusterkmeans =====
<span id="public.st_clusterkmeans"></span>
''No comment''
===== st_clusterwithin =====
<span id="public.st_clusterwithin"></span>
''No comment''
===== st_clusterwithin =====
<span id="public.st_clusterwithin"></span>
''No comment''
===== st_clusterwithinwin =====
<span id="public.st_clusterwithinwin"></span>
''No comment''
===== st_collect =====
<span id="public.st_collect"></span>
''No comment''
===== st_collect =====
<span id="public.st_collect"></span>
''No comment''
===== st_collect =====
<span id="public.st_collect"></span>
''No comment''
===== st_collectionextract =====
<span id="public.st_collectionextract"></span>
''No comment''
===== st_collectionextract =====
<span id="public.st_collectionextract"></span>
''No comment''
===== st_collectionhomogenize =====
<span id="public.st_collectionhomogenize"></span>
''No comment''
===== st_combinebbox =====
<span id="public.st_combinebbox"></span>
''No comment''
===== st_combinebbox =====
<span id="public.st_combinebbox"></span>
''No comment''
===== st_combinebbox =====
<span id="public.st_combinebbox"></span>
''No comment''
===== st_concavehull =====
<span id="public.st_concavehull"></span>
''No comment''
===== st_contains =====
<span id="public.st_contains"></span>
''No comment''
===== st_containsproperly =====
<span id="public.st_containsproperly"></span>
''No comment''
===== st_convexhull =====
<span id="public.st_convexhull"></span>
''No comment''
===== st_coorddim =====
<span id="public.st_coorddim"></span>
''No comment''
===== st_coverageinvalidedges =====
<span id="public.st_coverageinvalidedges"></span>
''No comment''
===== st_coveragesimplify =====
<span id="public.st_coveragesimplify"></span>
''No comment''
===== st_coverageunion =====
<span id="public.st_coverageunion"></span>
''No comment''
===== st_coverageunion =====
<span id="public.st_coverageunion"></span>
''No comment''
===== st_coveredby =====
<span id="public.st_coveredby"></span>
''No comment''
===== st_coveredby =====
<span id="public.st_coveredby"></span>
''No comment''
===== st_coveredby =====
<span id="public.st_coveredby"></span>
''No comment''
===== st_covers =====
<span id="public.st_covers"></span>
''No comment''
===== st_covers =====
<span id="public.st_covers"></span>
''No comment''
===== st_covers =====
<span id="public.st_covers"></span>
''No comment''
===== st_cpawithin =====
<span id="public.st_cpawithin"></span>
''No comment''
===== st_crosses =====
<span id="public.st_crosses"></span>
''No comment''
===== st_curven =====
<span id="public.st_curven"></span>
''No comment''
===== st_curvetoline =====
<span id="public.st_curvetoline"></span>
''No comment''
===== st_delaunaytriangles =====
<span id="public.st_delaunaytriangles"></span>
''No comment''
===== st_dfullywithin =====
<span id="public.st_dfullywithin"></span>
''No comment''
===== st_difference =====
<span id="public.st_difference"></span>
''No comment''
===== st_dimension =====
<span id="public.st_dimension"></span>
''No comment''
===== st_disjoint =====
<span id="public.st_disjoint"></span>
''No comment''
===== st_distance =====
<span id="public.st_distance"></span>
''No comment''
===== st_distance =====
<span id="public.st_distance"></span>
''No comment''
===== st_distance =====
<span id="public.st_distance"></span>
''No comment''
===== st_distancecpa =====
<span id="public.st_distancecpa"></span>
''No comment''
===== st_distancesphere =====
<span id="public.st_distancesphere"></span>
''No comment''
===== st_distancesphere =====
<span id="public.st_distancesphere"></span>
''No comment''
===== st_distancespheroid =====
<span id="public.st_distancespheroid"></span>
''No comment''
===== st_distancespheroid =====
<span id="public.st_distancespheroid"></span>
''No comment''
===== st_dump =====
<span id="public.st_dump"></span>
''No comment''
===== st_dumppoints =====
<span id="public.st_dumppoints"></span>
''No comment''
===== st_dumprings =====
<span id="public.st_dumprings"></span>
''No comment''
===== st_dumpsegments =====
<span id="public.st_dumpsegments"></span>
''No comment''
===== st_dwithin =====
<span id="public.st_dwithin"></span>
''No comment''
===== st_dwithin =====
<span id="public.st_dwithin"></span>
''No comment''
===== st_dwithin =====
<span id="public.st_dwithin"></span>
''No comment''
===== st_endpoint =====
<span id="public.st_endpoint"></span>
''No comment''
===== st_envelope =====
<span id="public.st_envelope"></span>
''No comment''
===== st_equals =====
<span id="public.st_equals"></span>
''No comment''
===== st_estimatedextent =====
<span id="public.st_estimatedextent"></span>
''No comment''
===== st_estimatedextent =====
<span id="public.st_estimatedextent"></span>
''No comment''
===== st_estimatedextent =====
<span id="public.st_estimatedextent"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_expand =====
<span id="public.st_expand"></span>
''No comment''
===== st_extent =====
<span id="public.st_extent"></span>
''No comment''
===== st_exteriorring =====
<span id="public.st_exteriorring"></span>
''No comment''
===== st_filterbym =====
<span id="public.st_filterbym"></span>
''No comment''
===== st_findextent =====
<span id="public.st_findextent"></span>
''No comment''
===== st_findextent =====
<span id="public.st_findextent"></span>
''No comment''
===== st_flipcoordinates =====
<span id="public.st_flipcoordinates"></span>
''No comment''
===== st_force2d =====
<span id="public.st_force2d"></span>
''No comment''
===== st_force3d =====
<span id="public.st_force3d"></span>
''No comment''
===== st_force3dm =====
<span id="public.st_force3dm"></span>
''No comment''
===== st_force3dz =====
<span id="public.st_force3dz"></span>
''No comment''
===== st_force4d =====
<span id="public.st_force4d"></span>
''No comment''
===== st_forcecollection =====
<span id="public.st_forcecollection"></span>
''No comment''
===== st_forcecurve =====
<span id="public.st_forcecurve"></span>
''No comment''
===== st_forcepolygonccw =====
<span id="public.st_forcepolygonccw"></span>
''No comment''
===== st_forcepolygoncw =====
<span id="public.st_forcepolygoncw"></span>
''No comment''
===== st_forcerhr =====
<span id="public.st_forcerhr"></span>
''No comment''
===== st_forcesfs =====
<span id="public.st_forcesfs"></span>
''No comment''
===== st_forcesfs =====
<span id="public.st_forcesfs"></span>
''No comment''
===== st_frechetdistance =====
<span id="public.st_frechetdistance"></span>
''No comment''
===== st_fromflatgeobuf =====
<span id="public.st_fromflatgeobuf"></span>
''No comment''
===== st_fromflatgeobuftotable =====
<span id="public.st_fromflatgeobuftotable"></span>
''No comment''
===== st_generatepoints =====
<span id="public.st_generatepoints"></span>
''No comment''
===== st_generatepoints =====
<span id="public.st_generatepoints"></span>
''No comment''
===== st_geogfromtext =====
<span id="public.st_geogfromtext"></span>
''No comment''
===== st_geogfromwkb =====
<span id="public.st_geogfromwkb"></span>
''No comment''
===== st_geographyfromtext =====
<span id="public.st_geographyfromtext"></span>
''No comment''
===== st_geohash =====
<span id="public.st_geohash"></span>
''No comment''
===== st_geohash =====
<span id="public.st_geohash"></span>
''No comment''
===== st_geomcollfromtext =====
<span id="public.st_geomcollfromtext"></span>
''No comment''
===== st_geomcollfromtext =====
<span id="public.st_geomcollfromtext"></span>
''No comment''
===== st_geomcollfromwkb =====
<span id="public.st_geomcollfromwkb"></span>
''No comment''
===== st_geomcollfromwkb =====
<span id="public.st_geomcollfromwkb"></span>
''No comment''
===== st_geometricmedian =====
<span id="public.st_geometricmedian"></span>
''No comment''
===== st_geometryfromtext =====
<span id="public.st_geometryfromtext"></span>
''No comment''
===== st_geometryfromtext =====
<span id="public.st_geometryfromtext"></span>
''No comment''
===== st_geometryn =====
<span id="public.st_geometryn"></span>
''No comment''
===== st_geometrytype =====
<span id="public.st_geometrytype"></span>
''No comment''
===== st_geomfromewkb =====
<span id="public.st_geomfromewkb"></span>
''No comment''
===== st_geomfromewkt =====
<span id="public.st_geomfromewkt"></span>
''No comment''
===== st_geomfromgeohash =====
<span id="public.st_geomfromgeohash"></span>
''No comment''
===== st_geomfromgeojson =====
<span id="public.st_geomfromgeojson"></span>
''No comment''
===== st_geomfromgeojson =====
<span id="public.st_geomfromgeojson"></span>
''No comment''
===== st_geomfromgeojson =====
<span id="public.st_geomfromgeojson"></span>
''No comment''
===== st_geomfromgml =====
<span id="public.st_geomfromgml"></span>
''No comment''
===== st_geomfromgml =====
<span id="public.st_geomfromgml"></span>
''No comment''
===== st_geomfromkml =====
<span id="public.st_geomfromkml"></span>
''No comment''
===== st_geomfrommarc21 =====
<span id="public.st_geomfrommarc21"></span>
''No comment''
===== st_geomfromtext =====
<span id="public.st_geomfromtext"></span>
''No comment''
===== st_geomfromtext =====
<span id="public.st_geomfromtext"></span>
''No comment''
===== st_geomfromtwkb =====
<span id="public.st_geomfromtwkb"></span>
''No comment''
===== st_geomfromwkb =====
<span id="public.st_geomfromwkb"></span>
''No comment''
===== st_geomfromwkb =====
<span id="public.st_geomfromwkb"></span>
''No comment''
===== st_gmltosql =====
<span id="public.st_gmltosql"></span>
''No comment''
===== st_gmltosql =====
<span id="public.st_gmltosql"></span>
''No comment''
===== st_hasarc =====
<span id="public.st_hasarc"></span>
''No comment''
===== st_hasm =====
<span id="public.st_hasm"></span>
''No comment''
===== st_hasz =====
<span id="public.st_hasz"></span>
''No comment''
===== st_hausdorffdistance =====
<span id="public.st_hausdorffdistance"></span>
''No comment''
===== st_hausdorffdistance =====
<span id="public.st_hausdorffdistance"></span>
''No comment''
===== st_hexagon =====
<span id="public.st_hexagon"></span>
''No comment''
===== st_hexagongrid =====
<span id="public.st_hexagongrid"></span>
''No comment''
===== st_interiorringn =====
<span id="public.st_interiorringn"></span>
''No comment''
===== st_interpolatepoint =====
<span id="public.st_interpolatepoint"></span>
''No comment''
===== st_intersection =====
<span id="public.st_intersection"></span>
''No comment''
===== st_intersection =====
<span id="public.st_intersection"></span>
''No comment''
===== st_intersection =====
<span id="public.st_intersection"></span>
''No comment''
===== st_intersects =====
<span id="public.st_intersects"></span>
''No comment''
===== st_intersects =====
<span id="public.st_intersects"></span>
''No comment''
===== st_intersects =====
<span id="public.st_intersects"></span>
''No comment''
===== st_inversetransformpipeline =====
<span id="public.st_inversetransformpipeline"></span>
''No comment''
===== st_isclosed =====
<span id="public.st_isclosed"></span>
''No comment''
===== st_iscollection =====
<span id="public.st_iscollection"></span>
''No comment''
===== st_isempty =====
<span id="public.st_isempty"></span>
''No comment''
===== st_ispolygonccw =====
<span id="public.st_ispolygonccw"></span>
''No comment''
===== st_ispolygoncw =====
<span id="public.st_ispolygoncw"></span>
''No comment''
===== st_isring =====
<span id="public.st_isring"></span>
''No comment''
===== st_issimple =====
<span id="public.st_issimple"></span>
''No comment''
===== st_isvalid =====
<span id="public.st_isvalid"></span>
''No comment''
===== st_isvalid =====
<span id="public.st_isvalid"></span>
''No comment''
===== st_isvaliddetail =====
<span id="public.st_isvaliddetail"></span>
''No comment''
===== st_isvalidreason =====
<span id="public.st_isvalidreason"></span>
''No comment''
===== st_isvalidreason =====
<span id="public.st_isvalidreason"></span>
''No comment''
===== st_isvalidtrajectory =====
<span id="public.st_isvalidtrajectory"></span>
''No comment''
===== st_largestemptycircle =====
<span id="public.st_largestemptycircle"></span>
''No comment''
===== st_length =====
<span id="public.st_length"></span>
''No comment''
===== st_length =====
<span id="public.st_length"></span>
''No comment''
===== st_length =====
<span id="public.st_length"></span>
''No comment''
===== st_length2d =====
<span id="public.st_length2d"></span>
''No comment''
===== st_length2dspheroid =====
<span id="public.st_length2dspheroid"></span>
''No comment''
===== st_lengthspheroid =====
<span id="public.st_lengthspheroid"></span>
''No comment''
===== st_letters =====
<span id="public.st_letters"></span>
''No comment''
===== st_linecrossingdirection =====
<span id="public.st_linecrossingdirection"></span>
''No comment''
===== st_lineextend =====
<span id="public.st_lineextend"></span>
''No comment''
===== st_linefromencodedpolyline =====
<span id="public.st_linefromencodedpolyline"></span>
''No comment''
===== st_linefrommultipoint =====
<span id="public.st_linefrommultipoint"></span>
''No comment''
===== st_linefromtext =====
<span id="public.st_linefromtext"></span>
''No comment''
===== st_linefromtext =====
<span id="public.st_linefromtext"></span>
''No comment''
===== st_linefromwkb =====
<span id="public.st_linefromwkb"></span>
''No comment''
===== st_linefromwkb =====
<span id="public.st_linefromwkb"></span>
''No comment''
===== st_lineinterpolatepoint =====
<span id="public.st_lineinterpolatepoint"></span>
''No comment''
===== st_lineinterpolatepoint =====
<span id="public.st_lineinterpolatepoint"></span>
''No comment''
===== st_lineinterpolatepoint =====
<span id="public.st_lineinterpolatepoint"></span>
''No comment''
===== st_lineinterpolatepoints =====
<span id="public.st_lineinterpolatepoints"></span>
''No comment''
===== st_lineinterpolatepoints =====
<span id="public.st_lineinterpolatepoints"></span>
''No comment''
===== st_lineinterpolatepoints =====
<span id="public.st_lineinterpolatepoints"></span>
''No comment''
===== st_linelocatepoint =====
<span id="public.st_linelocatepoint"></span>
''No comment''
===== st_linelocatepoint =====
<span id="public.st_linelocatepoint"></span>
''No comment''
===== st_linelocatepoint =====
<span id="public.st_linelocatepoint"></span>
''No comment''
===== st_linemerge =====
<span id="public.st_linemerge"></span>
''No comment''
===== st_linemerge =====
<span id="public.st_linemerge"></span>
''No comment''
===== st_linestringfromwkb =====
<span id="public.st_linestringfromwkb"></span>
''No comment''
===== st_linestringfromwkb =====
<span id="public.st_linestringfromwkb"></span>
''No comment''
===== st_linesubstring =====
<span id="public.st_linesubstring"></span>
''No comment''
===== st_linesubstring =====
<span id="public.st_linesubstring"></span>
''No comment''
===== st_linesubstring =====
<span id="public.st_linesubstring"></span>
''No comment''
===== st_linetocurve =====
<span id="public.st_linetocurve"></span>
''No comment''
===== st_locatealong =====
<span id="public.st_locatealong"></span>
''No comment''
===== st_locatebetween =====
<span id="public.st_locatebetween"></span>
''No comment''
===== st_locatebetweenelevations =====
<span id="public.st_locatebetweenelevations"></span>
''No comment''
===== st_longestline =====
<span id="public.st_longestline"></span>
''No comment''
===== st_m =====
<span id="public.st_m"></span>
''No comment''
===== st_makebox2d =====
<span id="public.st_makebox2d"></span>
''No comment''
===== st_makeenvelope =====
<span id="public.st_makeenvelope"></span>
''No comment''
===== st_makeline =====
<span id="public.st_makeline"></span>
''No comment''
===== st_makeline =====
<span id="public.st_makeline"></span>
''No comment''
===== st_makeline =====
<span id="public.st_makeline"></span>
''No comment''
===== st_makepoint =====
<span id="public.st_makepoint"></span>
''No comment''
===== st_makepoint =====
<span id="public.st_makepoint"></span>
''No comment''
===== st_makepoint =====
<span id="public.st_makepoint"></span>
''No comment''
===== st_makepointm =====
<span id="public.st_makepointm"></span>
''No comment''
===== st_makepolygon =====
<span id="public.st_makepolygon"></span>
''No comment''
===== st_makepolygon =====
<span id="public.st_makepolygon"></span>
''No comment''
===== st_makevalid =====
<span id="public.st_makevalid"></span>
''No comment''
===== st_makevalid =====
<span id="public.st_makevalid"></span>
''No comment''
===== st_maxdistance =====
<span id="public.st_maxdistance"></span>
''No comment''
===== st_maximuminscribedcircle =====
<span id="public.st_maximuminscribedcircle"></span>
''No comment''
===== st_memcollect =====
<span id="public.st_memcollect"></span>
''No comment''
===== st_memsize =====
<span id="public.st_memsize"></span>
''No comment''
===== st_memunion =====
<span id="public.st_memunion"></span>
''No comment''
===== st_minimumboundingcircle =====
<span id="public.st_minimumboundingcircle"></span>
''No comment''
===== st_minimumboundingradius =====
<span id="public.st_minimumboundingradius"></span>
''No comment''
===== st_minimumclearance =====
<span id="public.st_minimumclearance"></span>
''No comment''
===== st_minimumclearanceline =====
<span id="public.st_minimumclearanceline"></span>
''No comment''
===== st_mlinefromtext =====
<span id="public.st_mlinefromtext"></span>
''No comment''
===== st_mlinefromtext =====
<span id="public.st_mlinefromtext"></span>
''No comment''
===== st_mlinefromwkb =====
<span id="public.st_mlinefromwkb"></span>
''No comment''
===== st_mlinefromwkb =====
<span id="public.st_mlinefromwkb"></span>
''No comment''
===== st_mpointfromtext =====
<span id="public.st_mpointfromtext"></span>
''No comment''
===== st_mpointfromtext =====
<span id="public.st_mpointfromtext"></span>
''No comment''
===== st_mpointfromwkb =====
<span id="public.st_mpointfromwkb"></span>
''No comment''
===== st_mpointfromwkb =====
<span id="public.st_mpointfromwkb"></span>
''No comment''
===== st_mpolyfromtext =====
<span id="public.st_mpolyfromtext"></span>
''No comment''
===== st_mpolyfromtext =====
<span id="public.st_mpolyfromtext"></span>
''No comment''
===== st_mpolyfromwkb =====
<span id="public.st_mpolyfromwkb"></span>
''No comment''
===== st_mpolyfromwkb =====
<span id="public.st_mpolyfromwkb"></span>
''No comment''
===== st_multi =====
<span id="public.st_multi"></span>
''No comment''
===== st_multilinefromwkb =====
<span id="public.st_multilinefromwkb"></span>
''No comment''
===== st_multilinestringfromtext =====
<span id="public.st_multilinestringfromtext"></span>
''No comment''
===== st_multilinestringfromtext =====
<span id="public.st_multilinestringfromtext"></span>
''No comment''
===== st_multipointfromtext =====
<span id="public.st_multipointfromtext"></span>
''No comment''
===== st_multipointfromwkb =====
<span id="public.st_multipointfromwkb"></span>
''No comment''
===== st_multipointfromwkb =====
<span id="public.st_multipointfromwkb"></span>
''No comment''
===== st_multipolyfromwkb =====
<span id="public.st_multipolyfromwkb"></span>
''No comment''
===== st_multipolyfromwkb =====
<span id="public.st_multipolyfromwkb"></span>
''No comment''
===== st_multipolygonfromtext =====
<span id="public.st_multipolygonfromtext"></span>
''No comment''
===== st_multipolygonfromtext =====
<span id="public.st_multipolygonfromtext"></span>
''No comment''
===== st_ndims =====
<span id="public.st_ndims"></span>
''No comment''
===== st_node =====
<span id="public.st_node"></span>
''No comment''
===== st_normalize =====
<span id="public.st_normalize"></span>
''No comment''
===== st_npoints =====
<span id="public.st_npoints"></span>
''No comment''
===== st_nrings =====
<span id="public.st_nrings"></span>
''No comment''
===== st_numcurves =====
<span id="public.st_numcurves"></span>
''No comment''
===== st_numgeometries =====
<span id="public.st_numgeometries"></span>
''No comment''
===== st_numinteriorring =====
<span id="public.st_numinteriorring"></span>
''No comment''
===== st_numinteriorrings =====
<span id="public.st_numinteriorrings"></span>
''No comment''
===== st_numpatches =====
<span id="public.st_numpatches"></span>
''No comment''
===== st_numpoints =====
<span id="public.st_numpoints"></span>
''No comment''
===== st_offsetcurve =====
<span id="public.st_offsetcurve"></span>
''No comment''
===== st_orderingequals =====
<span id="public.st_orderingequals"></span>
''No comment''
===== st_orientedenvelope =====
<span id="public.st_orientedenvelope"></span>
''No comment''
===== st_overlaps =====
<span id="public.st_overlaps"></span>
''No comment''
===== st_patchn =====
<span id="public.st_patchn"></span>
''No comment''
===== st_perimeter =====
<span id="public.st_perimeter"></span>
''No comment''
===== st_perimeter =====
<span id="public.st_perimeter"></span>
''No comment''
===== st_perimeter2d =====
<span id="public.st_perimeter2d"></span>
''No comment''
===== st_point =====
<span id="public.st_point"></span>
''No comment''
===== st_point =====
<span id="public.st_point"></span>
''No comment''
===== st_pointfromgeohash =====
<span id="public.st_pointfromgeohash"></span>
''No comment''
===== st_pointfromtext =====
<span id="public.st_pointfromtext"></span>
''No comment''
===== st_pointfromtext =====
<span id="public.st_pointfromtext"></span>
''No comment''
===== st_pointfromwkb =====
<span id="public.st_pointfromwkb"></span>
''No comment''
===== st_pointfromwkb =====
<span id="public.st_pointfromwkb"></span>
''No comment''
===== st_pointinsidecircle =====
<span id="public.st_pointinsidecircle"></span>
''No comment''
===== st_pointm =====
<span id="public.st_pointm"></span>
''No comment''
===== st_pointn =====
<span id="public.st_pointn"></span>
''No comment''
===== st_pointonsurface =====
<span id="public.st_pointonsurface"></span>
''No comment''
===== st_points =====
<span id="public.st_points"></span>
''No comment''
===== st_pointz =====
<span id="public.st_pointz"></span>
''No comment''
===== st_pointzm =====
<span id="public.st_pointzm"></span>
''No comment''
===== st_polyfromtext =====
<span id="public.st_polyfromtext"></span>
''No comment''
===== st_polyfromtext =====
<span id="public.st_polyfromtext"></span>
''No comment''
===== st_polyfromwkb =====
<span id="public.st_polyfromwkb"></span>
''No comment''
===== st_polyfromwkb =====
<span id="public.st_polyfromwkb"></span>
''No comment''
===== st_polygon =====
<span id="public.st_polygon"></span>
''No comment''
===== st_polygonfromtext =====
<span id="public.st_polygonfromtext"></span>
''No comment''
===== st_polygonfromtext =====
<span id="public.st_polygonfromtext"></span>
''No comment''
===== st_polygonfromwkb =====
<span id="public.st_polygonfromwkb"></span>
''No comment''
===== st_polygonfromwkb =====
<span id="public.st_polygonfromwkb"></span>
''No comment''
===== st_polygonize =====
<span id="public.st_polygonize"></span>
''No comment''
===== st_polygonize =====
<span id="public.st_polygonize"></span>
''No comment''
===== st_project =====
<span id="public.st_project"></span>
''No comment''
===== st_project =====
<span id="public.st_project"></span>
''No comment''
===== st_project =====
<span id="public.st_project"></span>
''No comment''
===== st_project =====
<span id="public.st_project"></span>
''No comment''
===== st_quantizecoordinates =====
<span id="public.st_quantizecoordinates"></span>
''No comment''
===== st_reduceprecision =====
<span id="public.st_reduceprecision"></span>
''No comment''
===== st_relate =====
<span id="public.st_relate"></span>
''No comment''
===== st_relate =====
<span id="public.st_relate"></span>
''No comment''
===== st_relate =====
<span id="public.st_relate"></span>
''No comment''
===== st_relatematch =====
<span id="public.st_relatematch"></span>
''No comment''
===== st_removeirrelevantpointsforview =====
<span id="public.st_removeirrelevantpointsforview"></span>
''No comment''
===== st_removepoint =====
<span id="public.st_removepoint"></span>
''No comment''
===== st_removerepeatedpoints =====
<span id="public.st_removerepeatedpoints"></span>
''No comment''
===== st_removesmallparts =====
<span id="public.st_removesmallparts"></span>
''No comment''
===== st_reverse =====
<span id="public.st_reverse"></span>
''No comment''
===== st_rotate =====
<span id="public.st_rotate"></span>
''No comment''
===== st_rotate =====
<span id="public.st_rotate"></span>
''No comment''
===== st_rotate =====
<span id="public.st_rotate"></span>
''No comment''
===== st_rotatex =====
<span id="public.st_rotatex"></span>
''No comment''
===== st_rotatey =====
<span id="public.st_rotatey"></span>
''No comment''
===== st_rotatez =====
<span id="public.st_rotatez"></span>
''No comment''
===== st_scale =====
<span id="public.st_scale"></span>
''No comment''
===== st_scale =====
<span id="public.st_scale"></span>
''No comment''
===== st_scale =====
<span id="public.st_scale"></span>
''No comment''
===== st_scale =====
<span id="public.st_scale"></span>
''No comment''
===== st_scroll =====
<span id="public.st_scroll"></span>
''No comment''
===== st_segmentize =====
<span id="public.st_segmentize"></span>
''No comment''
===== st_segmentize =====
<span id="public.st_segmentize"></span>
''No comment''
===== st_seteffectivearea =====
<span id="public.st_seteffectivearea"></span>
''No comment''
===== st_setpoint =====
<span id="public.st_setpoint"></span>
''No comment''
===== st_setsrid =====
<span id="public.st_setsrid"></span>
''No comment''
===== st_setsrid =====
<span id="public.st_setsrid"></span>
''No comment''
===== st_sharedpaths =====
<span id="public.st_sharedpaths"></span>
''No comment''
===== st_shiftlongitude =====
<span id="public.st_shiftlongitude"></span>
''No comment''
===== st_shortestline =====
<span id="public.st_shortestline"></span>
''No comment''
===== st_shortestline =====
<span id="public.st_shortestline"></span>
''No comment''
===== st_shortestline =====
<span id="public.st_shortestline"></span>
''No comment''
===== st_simplify =====
<span id="public.st_simplify"></span>
''No comment''
===== st_simplify =====
<span id="public.st_simplify"></span>
''No comment''
===== st_simplifypolygonhull =====
<span id="public.st_simplifypolygonhull"></span>
''No comment''
===== st_simplifypreservetopology =====
<span id="public.st_simplifypreservetopology"></span>
''No comment''
===== st_simplifyvw =====
<span id="public.st_simplifyvw"></span>
''No comment''
===== st_snap =====
<span id="public.st_snap"></span>
''No comment''
===== st_snaptogrid =====
<span id="public.st_snaptogrid"></span>
''No comment''
===== st_snaptogrid =====
<span id="public.st_snaptogrid"></span>
''No comment''
===== st_snaptogrid =====
<span id="public.st_snaptogrid"></span>
''No comment''
===== st_snaptogrid =====
<span id="public.st_snaptogrid"></span>
''No comment''
===== st_split =====
<span id="public.st_split"></span>
''No comment''
===== st_square =====
<span id="public.st_square"></span>
''No comment''
===== st_squaregrid =====
<span id="public.st_squaregrid"></span>
''No comment''
===== st_srid =====
<span id="public.st_srid"></span>
''No comment''
===== st_srid =====
<span id="public.st_srid"></span>
''No comment''
===== st_startpoint =====
<span id="public.st_startpoint"></span>
''No comment''
===== st_subdivide =====
<span id="public.st_subdivide"></span>
''No comment''
===== st_summary =====
<span id="public.st_summary"></span>
''No comment''
===== st_summary =====
<span id="public.st_summary"></span>
''No comment''
===== st_swapordinates =====
<span id="public.st_swapordinates"></span>
''No comment''
===== st_symdifference =====
<span id="public.st_symdifference"></span>
''No comment''
===== st_symmetricdifference =====
<span id="public.st_symmetricdifference"></span>
''No comment''
===== st_tileenvelope =====
<span id="public.st_tileenvelope"></span>
''No comment''
===== st_touches =====
<span id="public.st_touches"></span>
''No comment''
===== st_transform =====
<span id="public.st_transform"></span>
''No comment''
===== st_transform =====
<span id="public.st_transform"></span>
''No comment''
===== st_transform =====
<span id="public.st_transform"></span>
''No comment''
===== st_transform =====
<span id="public.st_transform"></span>
''No comment''
===== st_transformpipeline =====
<span id="public.st_transformpipeline"></span>
''No comment''
===== st_translate =====
<span id="public.st_translate"></span>
''No comment''
===== st_translate =====
<span id="public.st_translate"></span>
''No comment''
===== st_transscale =====
<span id="public.st_transscale"></span>
''No comment''
===== st_triangulatepolygon =====
<span id="public.st_triangulatepolygon"></span>
''No comment''
===== st_unaryunion =====
<span id="public.st_unaryunion"></span>
''No comment''
===== st_union =====
<span id="public.st_union"></span>
''No comment''
===== st_union =====
<span id="public.st_union"></span>
''No comment''
===== st_union =====
<span id="public.st_union"></span>
''No comment''
===== st_union =====
<span id="public.st_union"></span>
''No comment''
===== st_union =====
<span id="public.st_union"></span>
''No comment''
===== st_voronoilines =====
<span id="public.st_voronoilines"></span>
''No comment''
===== st_voronoipolygons =====
<span id="public.st_voronoipolygons"></span>
''No comment''
===== st_within =====
<span id="public.st_within"></span>
''No comment''
===== st_wkbtosql =====
<span id="public.st_wkbtosql"></span>
''No comment''
===== st_wkttosql =====
<span id="public.st_wkttosql"></span>
''No comment''
===== st_wrapx =====
<span id="public.st_wrapx"></span>
''No comment''
===== st_x =====
<span id="public.st_x"></span>
''No comment''
===== st_xmax =====
<span id="public.st_xmax"></span>
''No comment''
===== st_xmin =====
<span id="public.st_xmin"></span>
''No comment''
===== st_y =====
<span id="public.st_y"></span>
''No comment''
===== st_ymax =====
<span id="public.st_ymax"></span>
''No comment''
===== st_ymin =====
<span id="public.st_ymin"></span>
''No comment''
===== st_z =====
<span id="public.st_z"></span>
''No comment''
===== st_zmax =====
<span id="public.st_zmax"></span>
''No comment''
===== st_zmflag =====
<span id="public.st_zmflag"></span>
''No comment''
===== st_zmin =====
<span id="public.st_zmin"></span>
''No comment''
===== strict_word_similarity =====
<span id="public.strict_word_similarity"></span>
''No comment''
===== strict_word_similarity_commutator_op =====
<span id="public.strict_word_similarity_commutator_op"></span>
''No comment''
===== strict_word_similarity_dist_commutator_op =====
<span id="public.strict_word_similarity_dist_commutator_op"></span>
''No comment''
===== strict_word_similarity_dist_op =====
<span id="public.strict_word_similarity_dist_op"></span>
''No comment''
===== strict_word_similarity_op =====
<span id="public.strict_word_similarity_op"></span>
''No comment''
===== strpos =====
<span id="public.strpos"></span>
''No comment''
===== text =====
<span id="public.text"></span>
''No comment''
===== texticlike =====
<span id="public.texticlike"></span>
''No comment''
===== texticlike =====
<span id="public.texticlike"></span>
''No comment''
===== texticnlike =====
<span id="public.texticnlike"></span>
''No comment''
===== texticnlike =====
<span id="public.texticnlike"></span>
''No comment''
===== texticregexeq =====
<span id="public.texticregexeq"></span>
''No comment''
===== texticregexeq =====
<span id="public.texticregexeq"></span>
''No comment''
===== texticregexne =====
<span id="public.texticregexne"></span>
''No comment''
===== texticregexne =====
<span id="public.texticregexne"></span>
''No comment''
===== time_dist =====
<span id="public.time_dist"></span>
''No comment''
===== translate =====
<span id="public.translate"></span>
''No comment''
===== trigger_compile_event_restriction_masks =====
<span id="public.trigger_compile_event_restriction_masks"></span>
Triggers compilation of [restriction](#shared.restriction) masks on the [event](#rov.event) table when it is updated.
===== ts_dist =====
<span id="public.ts_dist"></span>
''No comment''
===== tstz_dist =====
<span id="public.tstz_dist"></span>
''No comment''
===== update_biigle_fov =====
<span id="public.update_biigle_fov"></span>
Finds status events indicating a Laser Point and computes the laser distance in pixels and field of view in centimetres using the annotation points. Creates measurement events and deletes the status events.
===== updated_on_column =====
<span id="public.updated_on_column"></span>
Updates the updated_on column of a relation to the current time on update.
===== updategeometrysrid =====
<span id="public.updategeometrysrid"></span>
''No comment''
===== updategeometrysrid =====
<span id="public.updategeometrysrid"></span>
''No comment''
===== updategeometrysrid =====
<span id="public.updategeometrysrid"></span>
''No comment''
===== word_similarity =====
<span id="public.word_similarity"></span>
''No comment''
===== word_similarity_commutator_op =====
<span id="public.word_similarity_commutator_op"></span>
''No comment''
===== word_similarity_dist_commutator_op =====
<span id="public.word_similarity_dist_commutator_op"></span>
''No comment''
===== word_similarity_dist_op =====
<span id="public.word_similarity_dist_op"></span>
''No comment''
===== word_similarity_op =====
<span id="public.word_similarity_op"></span>
''No comment''
==== Procedures ====
===== _copy_habitat_events =====
<span id="public._copy_habitat_events"></span>
''No comment''
===== _copy_status_events =====
<span id="public._copy_status_events"></span>
''No comment''
===== cache_clear_cruise =====
<span id="public.cache_clear_cruise"></span>
Clear cached entities associated with the given cruise.
===== cache_refresh_cruise_stats =====
<span id="public.cache_refresh_cruise_stats"></span>
Refresh the [cruise stats](#cache.cruise_stats) table.
===== cache_refresh_cruise_track =====
<span id="public.cache_refresh_cruise_track"></span>
Stores a linestring representing the path of a platform over the course of a cruise.
===== cache_refresh_dive_track =====
<span id="public.cache_refresh_dive_track"></span>
Stores a linestring representing the path of a platform over the course of a dive.
===== cache_refresh_evt_depth =====
<span id="public.cache_refresh_evt_depth"></span>
Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true truncates the table before rebuilding it.
===== cache_refresh_evt_measurement =====
<span id="public.cache_refresh_evt_measurement"></span>
Populates the cache table with measurements corresponding to each event. For events that cover a time span, the timestamp and measurement will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true
===== cache_refresh_evt_pos =====
<span id="public.cache_refresh_evt_pos"></span>
Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. If the boolean parameter is true, the table is truncated before rebuilding.
===== cache_refresh_tables =====
<span id="public.cache_refresh_tables"></span>
Calls the cache refresh procedures stored in the [cache_table](#admin.cache_table) table. These procedures refresh or rebuild cache tables and other tables that need periodic compilation. Each procedure called by this procedure must have a boolean parameter to do with as it chooses. In most cases, the parameter clears or truncates the target table.
===== cache_refresh_tables =====
<span id="public.cache_refresh_tables"></span>
Refreshes all of the cache tables: event positions, event depths, event measurements, dive tracks, transect tracks and cruise tracks.
===== cache_refresh_transect_track =====
<span id="public.cache_refresh_transect_track"></span>
Stores a linestring representing the path of a platform over the course of a transect.
===== clean_event_duplicates =====
<span id="public.clean_event_duplicates"></span>
Deletes duplicate [events](#rov.event) over all cruises.
===== clean_event_duplicates =====
<span id="public.clean_event_duplicates"></span>
Deletes duplicate [events](#rov.event) for the given cruise by checking their time stamps, properties, [instrument configs](#rov.instrument_config) and dive IDs. Loops multiple times to capture multiple duplicates. Deletes duplicate measurements in a separate loop, looking at the type, timestamps, instrument configs and quantity.
===== clean_measurement_event_duplicates =====
<span id="public.clean_measurement_event_duplicates"></span>
Deletes duplicate [measurment events](#rov.event) for a specific [cruise](#rov.cruise).
===== clean_stream_duplicates =====
<span id="public.clean_stream_duplicates"></span>
''No comment''
===== clean_uploaded_files =====
<span id="public.clean_uploaded_files"></span>
Removes [uploaded file](#shared.uploaded_file) instances that are not referenced by any other entity. A server-side script must run which deletes files with no corresponding uploaded file record.
===== compile_event_restrictions =====
<span id="public.compile_event_restrictions"></span>
Compiles the [event group](#rov.event_group) table which links events to the [users](#public.auth_user) whose [groups](#public.auth_group) has access to the record based on [restriction](#shared.restriction) table
===== fix_comment_links =====
<span id="public.fix_comment_links"></span>
''No comment''
===== initial_import_groups =====
<span id="public.initial_import_groups"></span>
''No comment''
===== measurement_position_maintain_dive =====
<span id="public.measurement_position_maintain_dive"></span>
''No comment''
===== measurement_position_maintain_dives =====
<span id="public.measurement_position_maintain_dives"></span>
''No comment''
===== p_measurement_position_crosstab =====
<span id="public.p_measurement_position_crosstab"></span>
''No comment''
===== p_measurement_position_maintain_dive =====
<span id="public.p_measurement_position_maintain_dive"></span>
''No comment''
===== p_measurement_position_maintain_dives =====
<span id="public.p_measurement_position_maintain_dives"></span>
''No comment''
===== remove_duplicates =====
<span id="public.remove_duplicates"></span>
Removes duplicated [positions](#rov.position), [measurements](#rov.measurement) and [events](#rov.event) (not observations which cannot be deduplicated deterministically).
===== remove_event_duplicates =====
<span id="public.remove_event_duplicates"></span>
''No comment''
===== update_biigle_fov =====
<span id="public.update_biigle_fov"></span>
Finds status events indicating a Laser Point and computes the laser distance in pixels and field of view in centimetres using the annotation points. Creates measurement events and deletes the status events.
=== Schema: rov ===
<span id="rov"></span>
<span id="rov"></span>
== Schema: rov ==


The main schema of the ROV database, stores information about all relevant entities including cruise metadata, personnel, dives, transects, equipment configuration, telemetry, water properties and observations.
==== Tables ====


===== abundance =====
<span id="rov.abundance"></span>
<span id="rov.abundance"></span>
=== Table: abundance ===


Stores a list of abundance labels from the ACFOR scale.
Stores a list of abundance labels from the ACFOR scale.


{| class="wikitable"
====== Columns ======
|+ Columns in "abundance"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || A descriptive label for the abundance level.
|-
| note || text || YES || An optional note about the abundance level.
|-
| rank || integer || YES || A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
|-
| source || character varying || NO || A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
|}


* '''id''' — ''No comment''
* '''name''' — A descriptive label for the abundance level.
* '''rank''' — A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
* '''source''' — A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
* '''note''' — An optional note about the abundance level.
* '''short_code''' — Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
===== annotation_job =====
<span id="rov.annotation_job"></span>
<span id="rov.annotation_job"></span>
=== Table: annotation_job ===


Stores information about the annotation projects that generate information from photo and video media.
Stores information about the annotation projects that generate information from photo and video media.


{| class="wikitable"
====== Columns ======
|+ Columns in "annotation_job"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || YES || The date of creation of the entity.
|-
| end_date || date || YES || The ending date of the project.
|-
| name || character varying || NO || A name for the annotation project.
|-
| note || text || YES || Operational notes about the annotation project.
|-
| objective || text || YES || A statement of the objectives of the annotation project.
|-
| start_date || date || YES || The starting date of the project.
|-
| updated_on || timestamp without time zone || YES || The date of last modification of the entity.
|}


* '''id''' — ''No comment''
* '''name''' — A name for the annotation project.
* '''objective''' — A statement of the objectives of the annotation project.
* '''note''' — Operational notes about the annotation project.
* '''start_date''' — The starting date of the project.
* '''end_date''' — The ending date of the project.
* '''created_on''' — The date of creation of the entity.
* '''updated_on''' — The date of last modification of the entity.
===== annotation_job_annotation_protocol =====
<span id="rov.annotation_job_annotation_protocol"></span>
<span id="rov.annotation_job_annotation_protocol"></span>
=== Table: annotation_job_annotation_protocol ===


Associates the annotation job with one or more [[#rov.annotation_protocol|annotation protocols]], which are used to direct annotation activities.
Associates the annotation job with one or more [annotation protocols](#rov.annotation_protocol), which are used to direct annotation activities.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "annotation_job_annotation_protocol"
* '''annotation_job_id''' — The ID of the [annotation job](#rov.annotation_job).
|-
* '''annotation_protocol_id''' — The ID of the [annotation protocol](#rov.annotation_protocol).
! Name !! Type !! Nullable !! Documentation
|-
| annotation_job_id || integer || NO || The ID of the [[#rov.annotation_job|annotation job]].
|-
| annotation_protocol_id || integer || NO || The ID of the [[#rov.annotation_protocol|annotation protocol]].
|}


===== annotation_job_crew =====
<span id="rov.annotation_job_crew"></span>
<span id="rov.annotation_job_crew"></span>
=== Table: annotation_job_crew ===


Associates crew members with an [[#rov.annotation_job|annotation job]] with their respective [[#rov.annotation_job_role|roles]].
Associates crew members with an [annotation job](#rov.annotation_job) with their respective [roles](#rov.annotation_job_role).
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "annotation_job_crew"
* '''annotation_job_id''' — The ID of the [annotation job](#rov.annotation_job).
|-
* '''person_id''' — The ID of the [crew member](#shared.person).
! Name !! Type !! Nullable !! Documentation
* '''role_id''' — The ID of the [role](#rov.annotation_job_role).
|-
| annotation_job_id || integer || NO || The ID of the [[#rov.annotation_job|annotation job]].
|-
| person_id || integer || NO || The ID of the [[#shared.person|crew member]].
|-
| role_id || integer || NO || The ID of the [[#rov.annotation_job_role|role]].
|}


===== annotation_job_role =====
<span id="rov.annotation_job_role"></span>
<span id="rov.annotation_job_role"></span>
=== Table: annotation_job_role ===


Stores the possible roles one can perform on an [[#rov.annotation_job|annotation job]].
Stores the possible roles one can perform on an [annotation job](#rov.annotation_job).


{| class="wikitable"
====== Columns ======
|+ Columns in "annotation_job_role"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the role.
|-
| note || text || YES || A descript of the role.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the role.
* '''note''' — A descript of the role.
===== annotation_protocol =====
<span id="rov.annotation_protocol"></span>
<span id="rov.annotation_protocol"></span>
=== Table: annotation_protocol ===


A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.
A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.


{| class="wikitable"
====== Columns ======
|+ Columns in "annotation_protocol"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''medium_type_id''' — The type of media used for annotation. Looked up in [media type](#rov.medium_type) table.
|-
* '''annotation_software_id''' — Software used to annotate the video or images. Looked up in the [annotation software](#rov.annotation_software) table.
| algae_species || character varying || YES || Whether all algae species are identified: "all", "subset" or "none".
* '''name''' — The name of the annotation protocol. Should be unique.
|-
* '''is_template''' — If this is meant to be a template that is copied for use, mark this column `true`.
| annotation_software_id || integer || NO || Software used to annotate the video or images. Looked up in the [[#rov.annotation_software|annotation software]] table.
* '''image_interval''' The interval between images or frame grabs. Typically 3 to 10 seconds.
|-
* '''image_overlap''' Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
| biogenic_habitat || boolean || YES || True if any habitat categories include fauna (e.g., sponge reefs).
* '''habitat_only''' — Set to true if only habitat variables were recorded.
|-
* '''species_guide''' — A URL to the iNaturalist species guide that was used for annotation.
| created_on || timestamp without time zone || NO || The date of creation of this record.
* '''note''' — If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
|-
* '''created_on''' — The date of creation of this record.
| creator_id || integer || YES || Records the identity of the person who created this protocol.
* '''updated_on''' — The date of update of this record.
|-
* '''creator_id''' — Records the identity of the person who created this protocol.
| fish_species || character varying || YES || Whether all fish species are identified: "all", "subset" or "none".
* '''invertebrate_species''' — Whether all invertebrate species are identified: "all", "subset" or "none".
|-
* '''fish_species''' — Whether all fish species are identified: "all", "subset" or "none".
| fov_interval || real || YES || The time interval between field-of-view measurements.
* '''algae_species''' — Whether all algae species are identified: "all", "subset" or "none".
|-
* '''biogenic_habitat''' — True if any habitat categories include fauna (e.g., sponge reefs).
| fov_interval_unit || character varying || NO || A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
* '''protocol_document''' — Link, title, DOI, etc. of a document describing the protocol in full.
|-
* '''observation_interval''' — The time interval between species or anthropogenic observations.
| habitat_interval || real || YES || The time interval between habitat observations.
* '''habitat_interval''' — The time interval between habitat observations.
|-
* '''fov_interval''' — The time interval between field-of-view measurements.
| habitat_interval_unit || character varying || NO || A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
* '''image_interval_unit''' — A unit for the image interval, such as 's' for seconds or 'm' for metres.
|-
* '''observation_interval_unit''' — A unit for the observation interval, such as 's' for seconds or 'm' for metres.
| habitat_only || boolean || YES || Set to true if only habitat variables were recorded.
* '''habitat_interval_unit''' — A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
|-
* '''fov_interval_unit''' — A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
| image_interval || real || YES || The interval between images or frame grabs. Typically 3 to 10 seconds.
|-
| image_interval_unit || character varying || NO || A unit for the image interval, such as 's' for seconds or 'm' for metres.
|-
| image_overlap || boolean || YES || Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
|-
| invertebrate_species || character varying || YES || Whether all invertebrate species are identified: "all", "subset" or "none".
|-
| is_template || boolean || YES || If this is meant to be a template that is copied for use, mark this column `true`.
|-
| medium_type_id || integer || NO || The type of media used for annotation. Looked up in [[#rov.medium_type|media type]] table.
|-
| name || character varying || NO || The name of the annotation protocol. Should be unique.
|-
| note || text || YES || If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
|-
| observation_interval || real || YES || The time interval between species or anthropogenic observations.
|-
| observation_interval_unit || character varying || NO || A unit for the observation interval, such as 's' for seconds or 'm' for metres.
|-
| protocol_document || character varying || YES || Link, title, DOI, etc. of a document describing the protocol in full.
|-
| species_guide || character varying || YES || A URL to the iNaturalist species guide that was used for annotation.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


===== annotation_protocol_document =====
<span id="rov.annotation_protocol_document"></span>
<span id="rov.annotation_protocol_document"></span>
=== Table: annotation_protocol_document ===


Contains documents related to an [[#rov.annotation_protocol|annotation protocol]]. These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.
Contains documents related to an [annotation protocol](#rov.annotation_protocol). These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "annotation_protocol_document"
* '''annotation_protocol_id''' — A reference to the [annotation protocol](#rov.annotation_protocol).
|-
* '''note''' — An optional note about the document.
! Name !! Type !! Nullable !! Documentation
* '''title''' — The title of the document.
|-
* '''url''' — An optional URL for the document. If file data are not given, this field is required.
| annotation_protocol_id || integer || NO || A reference to the [[#rov.annotation_protocol|annotation protocol]].
* '''created_on''' — The time of creation of the record.
|-
* '''updated_on''' — The time of update of the record.
| created_on || timestamp without time zone || NO || The time of creation of the record.
* '''file_id''' — A reference to the [uploaded file](#shared.uploaded_file).
|-
| file_id || integer || YES || A reference to the [[#shared.uploaded_file|uploaded file]].
|-
| note || text || YES || An optional note about the document.
|-
| title || character varying || NO || The title of the document.
|-
| updated_on || timestamp without time zone || NO || The time of update of the record.
|-
| url || character varying || YES || An optional URL for the document. If file data are not given, this field is required.
|}


===== annotation_software =====
<span id="rov.annotation_software"></span>
<span id="rov.annotation_software"></span>
=== Table: annotation_software ===


The software used for annotation.
The software used for annotation.


{| class="wikitable"
====== Columns ======
|+ Columns in "annotation_software"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the annotation software.
|-
| note || text || YES || An optional note about the annotation software.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the annotation software.
* '''note''' — An optional note about the annotation software.
===== biigle_label_map =====
<span id="rov.biigle_label_map"></span>
<span id="rov.biigle_label_map"></span>
=== Table: biigle_label_map ===


Contains mappings from Biigle labels to properties that apply to events.
Contains mappings from Biigle labels to properties that apply to events.


{| class="wikitable"
====== Columns ======
|+ Columns in "biigle_label_map"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''label_tree_id''' — The ID of the Biigle label tree.
|-
* '''label_id''' — The ID of the Biigle label.
| created_on || timestamp without time zone || NO || The time of creation of the record.
* '''label_hierarchy''' — The full hierarchical text of the Biigle label.
|-
* '''label_text''' — The text of the final element of the label.
| label_hierarchy || text || NO || The full hierarchical text of the Biigle label.
* '''properties''' — Stores the properties of the observation.
|-
* '''note''' — A textual note or comment.
| label_id || integer || NO || The ID of the Biigle label.
* '''created_on''' — The time of creation of the record.
|-
* '''updated_on''' — Time of last update of the record.
| label_text || text || NO || The text of the final element of the label.
|-
| label_tree_id || integer || NO || The ID of the Biigle label tree.
|-
| note || text || YES || A textual note or comment.
|-
| properties || jsonb || NO || Stores the properties of the observation.
|-
| updated_on || timestamp without time zone || NO || Time of last update of the record.
|}


===== biigle_label_map_restriction =====
<span id="rov.biigle_label_map_restriction"></span>
<span id="rov.biigle_label_map_restriction"></span>
=== Table: biigle_label_map_restriction ===


Links a [[#rov.biigle_label_map|Biigle label map]] to a [restriction][#shared.restriction].
Links a [Biigle label map](#rov.biigle_label_map) to a [restriction][#shared.restriction].
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "biigle_label_map_restriction"
* '''restriction_id''' — A link to the [restriction](#shared.restriction).
|-
* '''biigle_label_map_id''' — A link to the [label map](#rov.biigle_label_map).
! Name !! Type !! Nullable !! Documentation
|-
| biigle_label_map_id || integer || NO || A link to the [[#rov.biigle_label_map|label map]].
|-
| restriction_id || integer || NO || A link to the [[#shared.restriction|restriction]].
|}


===== biocover =====
<span id="rov.biocover"></span>
<span id="rov.biocover"></span>
=== Table: biocover ===


A lookup table listing the available biocover types for the [[#rov.habitat_event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the [[#shared.taxon|taxon]] table.
A lookup table listing the available biocover types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the [taxon](#taxonomy.taxon) table.


{| class="wikitable"
====== Columns ======
|+ Columns in "biocover"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the biocover.
|-
| note || text || YES || An optional description of the biocover.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the biocover.
* '''note''' — An optional description of the biocover.
* '''short_code''' — Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
===== complexity =====
<span id="rov.complexity"></span>
<span id="rov.complexity"></span>
=== Table: complexity ===


A lookup table listing the available habitat complexity types for the [[#rov.habitat_event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available habitat complexity types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "complexity"
* '''name''' — The name of the complexity type.
|-
* '''note''' — An optional description of the complexity type.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
|-
| name || character varying || NO || The name of the complexity type.
|-
| note || text || YES || An optional description of the complexity type.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
|}


===== coverage =====
<span id="rov.coverage"></span>
<span id="rov.coverage"></span>
=== Table: coverage ===


A lookup table listing the percentage of coverage for the [[#rov.habitat_event|habitat_event]] table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.
A lookup table listing the percentage of coverage for the [habitat_event](#rov.event) table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "coverage"
* '''name''' — A characterization of percent coverage. Presented as a range of percentages.
|-
* '''minimum''' — The minimum value in the range.
! Name !! Type !! Nullable !! Documentation
* '''maximum''' — The minimum value in the range.
|-
* '''note''' — An optional note about the coverage percentage.
| maximum || real || NO || The minimum value in the range.
* '''short_code''' — Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
|-
| minimum || real || NO || The minimum value in the range.
|-
| name || character varying || NO || A characterization of percent coverage. Presented as a range of percentages.
|-
| note || text || YES || An optional note about the coverage percentage.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
|}


===== cruise =====
<span id="rov.cruise"></span>
<span id="rov.cruise"></span>
=== Table: cruise ===


Cruise legs occur within a [[#rov.cruise|cruise]] and are assigned specific [[#rov.cruise_leg_crew|crews]], [[#rov.program|scientific programs]], etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a [[#rov.program|scientific program]] or a [[#rov.cruise|cruise]] because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.
Cruise legs occur within a [cruise](#rov.cruise) and are assigned specific [crews](#rov.cruise_crew), [scientific programs](#rov.program), etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a [scientific program](#rov.program) or a [cruise](#rov.cruise) because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "cruise"
* '''name''' — A name for this leg of the cruise.
|-
* '''objective''' — A statement of the operational or scientific objectives of the cruise.
! Name !! Type !! Nullable !! Documentation
* '''start_time''' — The start time of the leg.
|-
* '''end_time''' — The end time of the leg.
| admin_note || text || YES || Notes by the database administrator about this entity.
* '''planned_track''' — A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
|-
* '''note''' — Notes about the cruise.
| approved || integer || NO || If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
* '''created_on''' — The date of creation of this record.
|-
* '''updated_on''' — The date of update of this record.
| created_on || timestamp without time zone || NO || The date of creation of this record.
* '''leg''' — Cruise legs are numbered from 1.
|-
* '''summary''' — A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
| end_time || timestamp without time zone || YES || The end time of the leg.
* '''approved''' — If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
|-
* '''ship_id''' — The ID of the [ship](#rov.platform) used on this cruise.
| leg || integer || NO || Cruise legs are numbered from 1.
* '''admin_note''' — Notes by the database administrator about this entity.
|-
* '''mark_for_delete''' — Marks the entity for asynchronous deletion by the runner.
| mark_for_delete || boolean || NO || Marks the entity for asynchronous deletion by the runner.
|-
| name || character varying || NO || A name for this leg of the cruise.
|-
| note || text || YES || Notes about the cruise.
|-
| objective || text || YES || A statement of the operational or scientific objectives of the cruise.
|-
| planned_track || USER-DEFINED || YES || A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
|-
| ship_id || integer || NO || The ID of the [[#rov.platform|ship]] used on this cruise.
|-
| start_time || timestamp without time zone || NO || The start time of the leg.
|-
| summary || text || YES || A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


===== cruise_crew =====
<span id="rov.cruise_crew"></span>
<span id="rov.cruise_crew"></span>
=== Table: cruise_crew ===


Associates [[#rov.person|crew members]] with a [[#rov.cruise_leg|cruise leg]] and their [[#rov.cruise_role|roles]]. A crew member can have multiple roles. Note: these roles are distinct from members of [[#rov.program|programs]], such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.
Associates [crew members](#shared.person) with a [cruise leg](#rov.cruise) and their [roles](#rov.cruise_role). A crew member can have multiple roles. Note: these roles are distinct from members of [programs](#rov.program), such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "cruise_crew"
* '''cruise_id''' — Reference to the [cruise leg](#rov.cruise) to which the member is assigned.
|-
* '''person_id''' — Reference to the [person](#shared.person) on the crew.
! Name !! Type !! Nullable !! Documentation
* '''cruise_role_id''' — Reference to the [cruise role](#rov.cruise_role).
|-
* '''note''' — An optional note about the crew member.
| cruise_id || integer || NO || Reference to the [[#rov.cruise_leg|cruise leg]] to which the member is assigned.
|-
| cruise_role_id || integer || NO || Reference to the [[#rov.cruise_role|cruise role]].
|-
| note || text || YES || An optional note about the crew member.
|-
| person_id || integer || NO || Reference to the [[#rov.person|person]] on the crew.
|}


===== cruise_document =====
<span id="rov.cruise_document"></span>
<span id="rov.cruise_document"></span>
=== Table: cruise_document ===


Stores information about documents related to a [[#rov.cruise|cruise]].
Stores information about documents related to a [cruise](#rov.cruise).


{| class="wikitable"
====== Columns ======
|+ Columns in "cruise_document"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || NO || The date and time of creation of the entity.
|-
| cruise_id || integer || NO || The ID of the [[#rov.cruise|cruise]].
|-
| file_id || integer || YES || [None]
|-
| note || text || YES || A note about the document.
|-
| title || character varying || NO || The title of the document.
|-
| updated_on || timestamp without time zone || NO || The date and time of the entity's last update.
|-
| url || character varying || YES || A URL for the online copy of the document. May be used when no file is available.
|}


* '''id''' — ''No comment''
* '''cruise_id''' — The ID of the [cruise](#rov.cruise).
* '''note''' — A note about the document.
* '''title''' — The title of the document.
* '''url''' — A URL for the online copy of the document. May be used when no file is available.
* '''created_on''' — The date and time of creation of the entity.
* '''updated_on''' — The date and time of the entity's last update.
* '''file_id''' — ''No comment''
===== cruise_fn_contact =====
<span id="rov.cruise_fn_contact"></span>
<span id="rov.cruise_fn_contact"></span>
=== Table: cruise_fn_contact ===


A table for associating First Nations contacts with a cruise.
A table for associating First Nations contacts with a cruise.


{| class="wikitable"
====== Columns ======
|+ Columns in "cruise_fn_contact"
|-
! Name !! Type !! Nullable !! Documentation
|-
| contact_name || character varying || NO || The full name of the contact.
|-
| cruise_id || integer || NO || A reference to the [[#rov.cruise|cruise]].
|-
| email || character varying || YES || The email address of the contact.
|-
| nation || text || YES || The name of the nation or group represented by the contact.
|-
| note || text || YES || A note about the contact.
|-
| phone || character varying || YES || The phone number of the contact.
|}


* '''id''' — ''No comment''
* '''cruise_id''' — A reference to the [cruise](#rov.cruise).
* '''contact_name''' — The full name of the contact.
* '''email''' — The email address of the contact.
* '''phone''' — The phone number of the contact.
* '''nation''' — The name of the nation or group represented by the contact.
* '''note''' — A note about the contact.
===== cruise_import =====
<span id="rov.cruise_import"></span>
<span id="rov.cruise_import"></span>
=== Table: cruise_import ===


Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.
Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.


{| class="wikitable"
====== Columns ======
|+ Columns in "cruise_import"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || YES || [None]
|-
| data || jsonb || NO || A JSON document containing the cruise import data.
|-
| logs || jsonb || NO || A JSON array containing the complete processing log.
|-
| name || character varying || NO || A unique name for the import job.
|-
| status || character varying || NO || A status message about processing.
|-
| updated_on || timestamp without time zone || YES || [None]
|-
| version || integer || NO || [None]
|}


<span id="rov.cruise_library"></span>
* '''id''' — ''No comment''
=== Table: cruise_library ===
* '''name''' — A unique name for the import job.
* '''data''' — A JSON document containing the cruise import data.
* '''status''' — A status message about processing.
* '''logs''' — A JSON array containing the complete processing log.
* '''created_on''' — ''No comment''
* '''updated_on''' — ''No comment''
* '''version''' — ''No comment''
* '''task_id''' — Stores the task ID for the asychrnonous task (i.e., a Celery task) used to process the import.


This table creates an association between a [[#rov.cruise_leg|cruise leg]] and [[#rov.library|documents in the library]] that may be relevant to its research objectives.
===== cruise_program =====
<span id="rov.cruise_program"></span>


{| class="wikitable"
A table to link [programs](#rov.program) and [cruises](#rov.cruise). A cruise can be under the auspices of more than one program or none.
|+ Columns in "cruise_library"
|-
! Name !! Type !! Nullable !! Documentation
|-
| cruiseleg_id || integer || NO || A reference to the [[#rov.cruise_leg|cruise leg]].
|-
| library_id || integer || NO || A reference to the document in the [[#rov.library|library]].
|-
| note || text || YES || An optional note about the document with respect to the cruise leg. May be used to reference points of interest in a paper, etc.
|}


<span id="rov.cruise_program"></span>
====== Columns ======
=== Table: cruise_program ===


A table to link [[#rov.program|programs]] and [[#rov.cruise|cruises]]. A cruise can be under the auspices of more than one program or none.
* '''id''' — ''No comment''
* '''cruise_id''' — The ID of a [cruise](#rov.cruise).
* '''program_id''' — The ID of a [program](#rov.program).


{| class="wikitable"
===== cruise_role =====
|+ Columns in "cruise_program"
<span id="rov.cruise_role"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| cruise_id || integer || NO || The ID of a [[#rov.cruise|cruise]].
|-
| program_id || integer || NO || The ID of a [[#rov.program|program]].
|}


<span id="rov.cruise_role"></span>
A lookup table of roles available to members of [cruise leg crews](#rov.cruise_crew).
=== Table: cruise_role ===


A lookup table of roles available to members of [[#rov.cruise_leg_crew|cruise leg crews]].
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "cruise_role"
* '''name''' — The name of the role.
|-
* '''note''' — An optional note about the role and its responsibilities.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — A short string used to identify the role.
|-
| name || character varying || NO || The name of the role.
|-
| note || text || YES || An optional note about the role and its responsibilities.
|-
| short_code || character varying || YES || A short string used to identify the role.
|}


===== disturbance =====
<span id="rov.disturbance"></span>
<span id="rov.disturbance"></span>
=== Table: disturbance ===


Provides a nominal level of disturbance for [[#rov.habitat_event|habitat events]].
Provides a nominal level of disturbance for [habitat events](#rov.event).
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "disturbance"
* '''name''' — The textual representation of the disturbance level.
|-
* '''note''' — A note about the disturbance level.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
|-
| name || character varying || NO || The textual representation of the disturbance level.
|-
| note || text || YES || A note about the disturbance level.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
|}


===== dive =====
<span id="rov.dive"></span>
<span id="rov.dive"></span>
=== Table: dive ===


A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a [[#rov.dive_crew|crew]] and possibly a name. [[#rov.transect|Transects]] occur during dives.
A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a [crew](#rov.dive_crew) and possibly a name. [Transects](#rov.transect) occur during dives.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "dive"
* '''cruise_id''' — A reference to the [cruise leg](#rov.cruise) during which the dive was performed.
|-
* '''name''' — A name for the dive.
! Name !! Type !! Nullable !! Documentation
* '''objective''' — A statement of the practical or research objectives for this dive.
|-
* '''start_time''' — The start of the dive. Not necessarily the time the vehicle is placed in the water.
| admin_note || text || YES || [None]
* '''end_time''' — The end of the dive.
|-
* '''note''' — An optional note about the dive.
| attributes || jsonb || YES || A JSON column used for recording structured attributes that do not fit with the regular table structure.
* '''attributes''' — A JSON column used for recording structured attributes that do not fit with the regular table structure.
|-
* '''created_on''' — The date of creation of this record.
| created_on || timestamp without time zone || NO || The date of creation of this record.
* '''updated_on''' — The date of update of this record.
|-
* '''summary''' — A summary of the [dive](#rov.dive); whether objectives were met, problems encountered, etc.
| cruise_id || integer || NO || A reference to the [[#rov.cruise_leg|cruise leg]] during which the dive was performed.
* '''sub_config_id''' — A reference to the [platform config](#rov.platform_config) for the submersible or ROV.
|-
* '''ship_config_id''' — A reference to the [platform config](#rov.platform_config) for the ship.
| end_time || timestamp without time zone || NO || The end of the dive.
* '''admin_note''' — ''No comment''
|-
* '''seatube_id''' — The ID of a dive on SeaTube corresponding to this dive.
| mark_for_delete || boolean || NO || Marks the entity for asynchronous deletion by the runner.
* '''mark_for_delete''' — Marks the entity for asynchronous deletion by the runner.
|-
* '''site''' — An optional name for the site.
| name || character varying || NO || A name for the dive.
|-
| note || text || YES || An optional note about the dive.
|-
| objective || text || YES || A statement of the practical or research objectives for this dive.
|-
| seatube_id || integer || YES || The ID of a dive on SeaTube corresponding to this dive.
|-
| ship_config_id || integer || NO || A reference to the [[#rov.platform_config|platform config]] for the ship.
|-
| site || character varying || YES || An optional name for the site.
|-
| start_time || timestamp without time zone || NO || The start of the dive. Not necessarily the time the vehicle is placed in the water.
|-
| sub_config_id || integer || NO || A reference to the [[#rov.platform_config|platform config]] for the submersible or ROV.
|-
| summary || text || YES || A summary of the [[#rov.dive|dive]]; whether objectives were met, problems encountered, etc.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


===== dive_crew =====
<span id="rov.dive_crew"></span>
<span id="rov.dive_crew"></span>
=== Table: dive_crew ===


Assigns roles to dive crew members. Crew members are selected from the [[#rov.person|person]].
Assigns roles to dive crew members. Crew members are selected from the [person](#shared.person).


{| class="wikitable"
====== Columns ======
|+ Columns in "dive_crew"
|-
! Name !! Type !! Nullable !! Documentation
|-
| dive_id || integer || NO || The [[#rov.dive|dive]] to which the crew member is assigned.
|-
| dive_role_id || integer || NO || A reference to the [[#rov.dive_role|dive role]].
|-
| note || text || YES || An optional note about the crew member.
|-
| person_id || integer || NO || A reference to the [[#rov.person|person]].
|}


* '''id''' — ''No comment''
* '''dive_id''' — The [dive](#rov.dive) to which the crew member is assigned.
* '''person_id''' — A reference to the [person](#shared.person).
* '''dive_role_id''' — A reference to the [dive role](#rov.dive_role).
* '''note''' — An optional note about the crew member.
===== dive_role =====
<span id="rov.dive_role"></span>
<span id="rov.dive_role"></span>
=== Table: dive_role ===


A list of roles available to crew members on a [[#rov.dive|dive]] via the [[#rov.dive_crew|dive_crew]] table.
A list of roles available to crew members on a [dive](#rov.dive) via the [dive_crew](#rov.dive_crew) table.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "dive_role"
* '''name''' — The name of the role.
|-
* '''note''' — An optional description of the role.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — A short string used to identify the role.
|-
| name || character varying || NO || The name of the role.
|-
| note || text || YES || An optional description of the role.
|-
| short_code || character varying || YES || A short string used to identify the role.
|}


===== equipment_type =====
<span id="rov.equipment_type"></span>
<span id="rov.equipment_type"></span>
=== Table: equipment_type ===


This is a lookup table to provide the names of types of equipment for the [[#rov.model_equipment_type|model_equipment_type]] table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.
This is a lookup table to provide the names of types of equipment for the [model](#rov.model) table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "equipment_type"
* '''name''' — A name for the equipment type.
|-
* '''note''' — An optional note about the equipment type.
! Name !! Type !! Nullable !! Documentation
* '''category''' — An enumeration column identifying the equipment as platform, instrument or some other type.
|-
| category || USER-DEFINED || YES || An enumeration column identifying the equipment as platform, instrument or some other type.
|-
| name || character varying || NO || A name for the equipment type.
|-
| note || text || YES || An optional note about the equipment type.
|}


===== event =====
<span id="rov.event"></span>
<span id="rov.event"></span>
=== Table: event ===


The event table, a schemaless table storing all recorded observations and statuses during operations.
The event table, a schemaless table storing all recorded observations and statuses during operations.


{| class="wikitable"
====== Columns ======
|+ Columns in "event"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''dive_id''' — A reference to the dive during which this event occurred.
|-
* '''annotation_job_id''' — ''No comment''
| annotation_job_id || integer || YES || [None]
* '''instrument_config_id''' — ''No comment''
|-
* '''start_time''' — The start time of the event.
| created_on || timestamp without time zone || NO || The time of creation of the event.
* '''end_time''' — The end time of the event. Null, if the event is discrete.
|-
* '''properties''' — A JSON object containing name-value pairs describing the event.
| dive_id || integer || NO || A reference to the dive during which this event occurred.
* '''note''' — An optional note about the event. Do not use to store event data.
|-
* '''created_on''' — The time of creation of the event.
| end_time || timestamp without time zone || YES || The end time of the event. Null, if the event is discrete.
* '''updated_on''' — The time of update of the event. Automatically updated by a trigger.
|-
* '''hidden''' — If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
| hidden || boolean || NO || If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
* '''import_group_id''' — A reference to the [import group](#rov.import_group), which tracks events which were imported at the same time, from the same file.
|-
 
| instrument_config_id || integer || YES || [None]
===== event_group =====
|-
<span id="rov.event_group"></span>
| note || text || YES || An optional note about the event. Do not use to store event data.
|-
| properties || jsonb || NO || A JSON object containing name-value pairs describing the event.
|-
| restriction_mask || bit || NO || [None]
|-
| start_time || timestamp without time zone || NO || The start time of the event.
|-
| updated_on || timestamp without time zone || NO || The time of update of the event. Automatically updated by a trigger.
|}


Links the [event](#rov.event) table to the [group](#public.auth_group) table to facilitate the [restriction](#shared.restriction) mechanism.
====== Columns ======
* '''event_id''' — Links to the [event](#rov.event) table.
* '''group_id''' — Links to the [group](#public.auth_group) table.
===== event_logger =====
<span id="rov.event_logger"></span>
<span id="rov.event_logger"></span>
=== Table: event_logger ===


This table tracks the [[#shared.person|people]] who contributed to annotation, which may be composed of a number of separate labels.
This table tracks the [people](#shared.person) who contributed to annotation, which may be composed of a number of separate labels.


{| class="wikitable"
====== Columns ======
|+ Columns in "event_logger"
|-
! Name !! Type !! Nullable !! Documentation
|-
| event_id || integer || NO || The [[#rov.event|event]] that was created from the annotation(s).
|-
| person_id || integer || NO || A [[#shared.person|person]] who contributed to the annotation.
|}


* '''id''' — ''No comment''
* '''person_id''' — A [person](#shared.person) who contributed to the annotation.
* '''event_id''' — The [event](#rov.event) that was created from the annotation(s).
===== flow =====
<span id="rov.flow"></span>
<span id="rov.flow"></span>
=== Table: flow ===


Stores categories of current flow for [[#rov.habitat_event|habitat]].
Stores categories of current flow for [habitat](#rov.event).


{| class="wikitable"
====== Columns ======
|+ Columns in "flow"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || A note about the flow category.
|-
| note || text || YES || [None]
|-
| short_code || character varying || YES || A short code for the flow category.
|}


* '''id''' — ''No comment''
* '''name''' — A note about the flow category.
* '''note''' — ''No comment''
* '''short_code''' — A short code for the flow category.
===== generic_label_map =====
<span id="rov.generic_label_map"></span>
<span id="rov.generic_label_map"></span>
=== Table: generic_label_map ===


A table for storing mappings from annotation labels to property sets.
A table for storing mappings from annotation labels to property sets.


{| class="wikitable"
====== Columns ======
|+ Columns in "generic_label_map"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || NO || The date of creation.
|-
| label_text || USER-DEFINED || NO || The text of the label.
|-
| note || text || YES || A note about the mapping.
|-
| properties || jsonb || NO || A dictionary of mapped properties.
|-
| updated_on || timestamp without time zone || NO || The date of last update.
|}


* '''id''' — ''No comment''
* '''label_text''' — The text of the label.
* '''properties''' — A dictionary of mapped properties.
* '''note''' — A note about the mapping.
* '''created_on''' — The date of creation.
* '''updated_on''' — The date of last update.
===== generic_label_map_restriction =====
<span id="rov.generic_label_map_restriction"></span>
<span id="rov.generic_label_map_restriction"></span>
=== Table: generic_label_map_restriction ===


Links a [[#rov.generic_label_map|generic label mapping]] to a [[#shared.restriction|restriction]].
Links a [generic label mapping](#rov.generic_label_map) to a [restriction](#shared.restriction).
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "generic_label_map_restriction"
* '''restriction_id''' — A reference to a [restriction](#shared.restriction).
|-
* '''generic_label_map_id''' — A reference to a [generic label mapping](#rov.generic_label_map).
! Name !! Type !! Nullable !! Documentation
|-
| generic_label_map_id || integer || NO || A reference to a [[#rov.generic_label_map|generic label mapping]].
|-
| restriction_id || integer || NO || A reference to a [[#shared.restriction|restriction]].
|}


===== image_quality =====
<span id="rov.image_quality"></span>
<span id="rov.image_quality"></span>
=== Table: image_quality ===


Nominal image quality levels, originally used by VideoMiner but applicable to new records.
Nominal image quality levels, originally used by VideoMiner but applicable to new records.


{| class="wikitable"
====== Columns ======
|+ Columns in "image_quality"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''name''' — A name for the quality level.
|-
* '''rank''' — An ordinal rank (zero is high) for the quality level.
| name || character varying || NO || A name for the quality level.
* '''note''' — An optional note.
|-
* '''short_code''' — Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
| note || text || YES || An optional note.
|-
| rank || integer || YES || An ordinal rank (zero is high) for the quality level.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
|}


===== import_group =====
<span id="rov.import_group"></span>
Stores information about a group of [measurements](#rov.measurement), [positions](#rov.position) or [events](#rov.event) so they can be distinguished by when or from what file they were imported. This provides the ability to delete a single stream of data at a finer resolution that just the [instrument config](#rov.instrument_config), [platform config](#rov.platform_config), [dive](#rov.dive), etc. The initial entries in the table are created retroactively, and contain undifferentiated records based on the instrument config and measurement type (measurements); the instrument config (positions) or the dive and instrument config (events).
====== Columns ======
* '''id''' — ''No comment''
* '''name''' — A name for the import or the name of the file from which the data were imported.
* '''note''' — ''No comment''
* '''created_on''' — The date and time that the import was initiated.
* '''source_file''' — ''No comment''
===== import_queue_annotator =====
<span id="rov.import_queue_annotator"></span>
<span id="rov.import_queue_annotator"></span>
=== Table: import_queue_annotator ===


Stores the import packages created by annotators. Some fields are transferred to the [[#rov.annotation_job|annotation job]] to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.
Stores the import packages created by annotators. Some fields are transferred to the [annotation job](#rov.annotation_job) to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "import_queue_annotator"
* '''user_id''' — A reference to the [MSEA user](#shared.mseauser) that created the record.
|-
* '''note''' — An optional note about the import package.
! Name !! Type !! Nullable !! Documentation
* '''created_on''' — The date of creation of the record.
|-
* '''updated_on''' — The date of update of the record.
| created_on || timestamp without time zone || NO || The date of creation of the record.
* '''name''' — A unique name for the import queue record.
|-
* '''status''' — A short description of the processing status of the job.
| cruise_name || character varying || NO || The name of the [[#rov.cruise|cruise]] to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
* '''cruise_name''' — The name of the [cruise](#rov.cruise) to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
|-
* '''data''' — Stores the JSON representation of the import job.
| data || jsonb || NO || Stores the JSON representation of the import job.
* '''hidden''' — ''No comment''
|-
* '''objective''' — ''No comment''
| end_date || date || YES || [None]
* '''start_date''' — ''No comment''
|-
* '''end_date''' — ''No comment''
| hidden || boolean || NO || [None]
|-
| name || character varying || NO || A unique name for the import queue record.
|-
| note || text || YES || An optional note about the import package.
|-
| objective || text || YES || [None]
|-
| start_date || date || YES || [None]
|-
| status || character varying || YES || A short description of the processing status of the job.
|-
| updated_on || timestamp without time zone || NO || The date of update of the record.
|-
| user_id || integer || NO || A reference to the [[#shared.mseauser|MSEA user]] that created the record.
|}


===== import_queue_annotator_label_map_prefill =====
<span id="rov.import_queue_annotator_label_map_prefill"></span>
<span id="rov.import_queue_annotator_label_map_prefill"></span>
=== Table: import_queue_annotator_label_map_prefill ===


A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.
A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.


{| class="wikitable"
====== Columns ======
|+ Columns in "import_queue_annotator_label_map_prefill"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || YES || The date and time of creation of the entity.
|-
| event_type || jsonb || YES || [None]
|-
| label_tree_name || character varying || YES || The label tree name. If given identifies the label uniquely with the tree name.
|-
| name || character varying || NO || The text of the label.
|-
| properties || jsonb || NO || The the tag data.
|-
| tags || jsonb || NO || The list of tags.
|-
| updated_on || timestamp without time zone || YES || The date and time of the entity's last update.
|}


* '''id''' — ''No comment''
* '''tags''' — The list of tags.
* '''properties''' — The the tag data.
* '''created_on''' — The date and time of creation of the entity.
* '''updated_on''' — The date and time of the entity's last update.
* '''name''' — The text of the label.
* '''label_tree_name''' — The label tree name. If given identifies the label uniquely with the tree name.
* '''event_type''' — ''No comment''
===== import_queue_pi =====
<span id="rov.import_queue_pi"></span>
<span id="rov.import_queue_pi"></span>
=== Table: import_queue_pi ===


Stores the import packages created by principal investigators.
Stores the import packages created by principal investigators.


{| class="wikitable"
====== Columns ======
|+ Columns in "import_queue_pi"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || NO || The date of creation of the record.
|-
| cruise_id || integer || NO || A reference to the [[#rov.cruise|cruise]].
|-
| hidden || boolean || NO || [None]
|-
| name || character varying || NO || A name of the import job
|-
| note || text || YES || An optional note about the import package.
|-
| status || character varying || YES || A short description of the processing status of the job.
|-
| updated_on || timestamp without time zone || NO || The date of update of the record.
|-
| user_id || integer || NO || A reference to the [[#shared.mseauser|MSEA user]] that created the record.
|}


* '''id''' — ''No comment''
* '''user_id''' — A reference to the [MSEA user](#shared.mseauser) that created the record.
* '''name''' — A name of the import job
* '''note''' — An optional note about the import package.
* '''status''' — A short description of the processing status of the job.
* '''created_on''' — The date of creation of the record.
* '''updated_on''' — The date of update of the record.
* '''cruise_id''' — A reference to the [cruise](#rov.cruise).
* '''hidden''' — ''No comment''
===== instrument =====
<span id="rov.instrument"></span>
<span id="rov.instrument"></span>
=== Table: instrument ===


This table represents instruments, which are concrete instances of the types represented in the [[#rov.model|model]] table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a [[#rov.platform|platform]].
This table represents instruments, which are concrete instances of the types represented in the [model](#rov.model) table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a [platform](#rov.platform).


{| class="wikitable"
====== Columns ======
|+ Columns in "instrument"
|-
! Name !! Type !! Nullable !! Documentation
|-
| attributes || jsonb || YES || A freeform list of attributes for this instrument.
|-
| created_on || timestamp without time zone || NO || The date of creation of this record.
|-
| model_id || integer || NO || A reference to the instrument [[#rov.model|model]].
|-
| name || character varying || YES || A name for the instrument to distinguish it from others of the same model.
|-
| note || text || YES || An optional note about this instrument.
|-
| organisation_id || integer || NO || A reference to the organisation that owns and operates the instrument.
|-
| retired || date || YES || If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
|-
| serial_number || character varying || NO || The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


* '''id''' — ''No comment''
* '''model_id''' — A reference to the instrument [model](#rov.model).
* '''serial_number''' — The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
* '''retired''' — If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
* '''attributes''' — A freeform list of attributes for this instrument.
* '''note''' — An optional note about this instrument.
* '''created_on''' — The date of creation of this record.
* '''updated_on''' — The date of update of this record.
* '''organisation_id''' — A reference to the organisation that owns and operates the instrument.
* '''name''' — A name for the instrument to distinguish it from others of the same model.
===== instrument_config =====
<span id="rov.instrument_config"></span>
<span id="rov.instrument_config"></span>
=== Table: instrument_config ===


This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.
This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.


{| class="wikitable"
====== Columns ======
|+ Columns in "instrument_config"
|-
! Name !! Type !! Nullable !! Documentation
|-
| configuration || jsonb || YES || Configuration information about the instrument config.
|-
| created_on || timestamp without time zone || NO || The date of creation of this record.
|-
| instrument_id || integer || NO || Reference to the [[#rov.instrument|instrument]] targeted by the configuration.
|-
| mark_for_delete || boolean || NO || Marks the entity for asynchronous deletion by the runner.
|-
| note || text || YES || An optional note about this configuration.
|-
| platform_config_id || integer || YES || The ID of the [[#rov.platform|platform]] upon which the instrument is used.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


* '''id''' — ''No comment''
* '''configuration''' — Configuration information about the instrument config.
* '''note''' — An optional note about this configuration.
* '''created_on''' — The date of creation of this record.
* '''updated_on''' — The date of update of this record.
* '''platform_config_id''' — The ID of the [platform](#rov.platform) upon which the instrument is used.
* '''instrument_id''' — Reference to the [instrument](#rov.instrument) targeted by the configuration.
* '''mark_for_delete''' — Marks the entity for asynchronous deletion by the runner.
===== measurement =====
<span id="rov.measurement"></span>
<span id="rov.measurement"></span>
=== Table: measurement ===


This table preserves time-stamped measurements generated by [[#rov.instrument_config|instruments]]. Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.
This table preserves time-stamped measurements generated by [instruments](#rov.instrument_config). Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.


{| class="wikitable"
====== Columns ======
|+ Columns in "measurement"
|-
! Name !! Type !! Nullable !! Documentation
|-
| instrument_config_id || integer || NO || The [[#rov.instrument_config|configured instrument]] used to generate this item.
|-
| is_modelled || boolean || NO || A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| measurement_type_id || integer || NO || A reference to the [[#rov.measurement_type|type]] of this measurement.
|-
| quantity || real || NO || The scalar quantity or magnitude of the measurement.
|-
| signal_quality || real || YES || A quality of the measurement as reported by the instrument. TODO: Requires clarification.
|-
| timestamp || timestamp without time zone || NO || The time that the measurement was recorded.
|}


* '''id''' — ''No comment''
* '''measurement_type_id''' — A reference to the [type](#rov.measurement_type) of this measurement.
* '''timestamp''' — The time that the measurement was recorded.
* '''quantity''' — The scalar quantity or magnitude of the measurement.
* '''signal_quality''' — A quality of the measurement as reported by the instrument. TODO: Requires clarification.
* '''is_modelled''' — A flag to indicate whether the value is derived from measurements by some modelling process.
* '''instrument_config_id''' — The [configured instrument](#rov.instrument_config) used to generate this item.
* '''import_group_id''' — A reference to the [import group](#rov.import_group), which tracks measurements which were imported at the same time, from the same file.
===== measurement_type =====
<span id="rov.measurement_type"></span>
<span id="rov.measurement_type"></span>
=== Table: measurement_type ===


This is a lookup table of types of measurement types for the [[#rov.measurement|measurement]] or [[#rov.measurement_event|measurement_event]] tables. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.
This is a lookup table of types of measurement types for the [measurement](#rov.measurement) table. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.


{| class="wikitable"
====== Columns ======
|+ Columns in "measurement_type"
|-
! Name !! Type !! Nullable !! Documentation
|-
| maximum || real || YES || An optional upper bound on the value of the measurement. Null implies no limit.
|-
| minimum || real || YES || An optional lower bound on the value of the measurement. Null implies no limit.
|-
| name || character varying || NO || The type of measurement. E.g., "Density" or "Salinity."
|-
| note || text || YES || An optional note about this measurement type.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
|-
| unit || character varying || NO || The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
|}


* '''id''' — ''No comment''
* '''name''' — The type of measurement. E.g., "Density" or "Salinity."
* '''unit''' — The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
* '''minimum''' — An optional lower bound on the value of the measurement. Null implies no limit.
* '''maximum''' — An optional upper bound on the value of the measurement. Null implies no limit.
* '''note''' — An optional note about this measurement type.
* '''short_code''' — Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
===== medium_format =====
<span id="rov.medium_format"></span>
<span id="rov.medium_format"></span>
=== Table: medium_format ===


A lookup table for data formats for the [[#rov.medium|medium]] table. This will include things like video, photo and acoustic. TODO: To be determined whether medium formats should be discriminated more granularly than this. TODO: Should maybe be categorised into video/photo/acoustic/etc. along with things like the format (JPG, MP4, AAC) and possibly more specific encoding parameters.
A lookup table for data formats. This will include things like video, photo and acoustic. Medium formats can be discriminated as granularly as desired: as video/photo/acoustic/etc. or by format (JPG, MP4, AAC) and possibly more specific encoding parameters.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "medium_format"
* '''medium_type_id''' — A reference to the [medium type](#rov.medium_type) (e.g., video or photo).
|-
* '''name''' — The name of the format.
! Name !! Type !! Nullable !! Documentation
* '''extensions''' — A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
|-
* '''note''' — An optional note about the format.
| extensions || jsonb || NO || A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
* '''short_code''' — Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
|-
| medium_type_id || integer || NO || A reference to the [[#rov.medium_type|medium type]] (e.g., video or photo).
|-
| name || character varying || NO || The name of the format.
|-
| note || text || YES || An optional note about the format.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
|}


===== medium_type =====
<span id="rov.medium_type"></span>
<span id="rov.medium_type"></span>
=== Table: medium_type ===


A simple lookup to provide media types to the [[#rov.annotation_protocol|annotation_protocol]] table. These are not specific media formats (as stored in [[#rov.medium_format|medium_format]]), but provided a higher-level distinction.
A simple lookup to provide media types to the [annotation_protocol](#rov.annotation_protocol) table. These are not specific media formats (as stored in [medium_format](#rov.medium_format)), but provided a higher-level distinction.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "medium_type"
* '''name''' — The name of the media type.
|-
* '''note''' — An optional note about the media type.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — Provides a short code for looking up the entity.
|-
| name || character varying || NO || The name of the media type.
|-
| note || text || YES || An optional note about the media type.
|-
| short_code || character || YES || Provides a short code for looking up the entity.
|}


===== model =====
<span id="rov.model"></span>
<span id="rov.model"></span>
=== Table: model ===


This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the [[#rov.instrument|instrument]] table. The model table stores both [[#rov.instrument|instruments]] and [[#rov.platform|platforms]].
This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the [instrument](#rov.instrument) table. The model table stores both [instruments](#rov.instrument) and [platforms](#rov.platform).


{| class="wikitable"
====== Columns ======
|+ Columns in "model"
|-
! Name !! Type !! Nullable !! Documentation
|-
| attributes || jsonb || YES || A free-form JSON field for attributes of this model.
|-
| brand_name || character varying || NO || The brand name.
|-
| equipment_type_id || integer || NO || A reference to the [[#rov.equipment_type|equipment type]].
|-
| model_name || character varying || NO || The model name.
|-
| note || text || YES || An optional note about the model.
|}


<span id="rov.model_documentation"></span>
* '''id''' — ''No comment''
=== Table: model_documentation ===
* '''brand_name''' — The brand name.
* '''model_name''' — The model name.
* '''attributes''' — A free-form JSON field for attributes of this model.
* '''note''' — An optional note about the model.
* '''equipment_type_id''' — A reference to the [equipment type](#rov.equipment_type).


This table creates an association between a [[#rov.model|model]] and [[#rov.library|documentation in the library]].
===== observation_confidence =====
<span id="rov.observation_confidence"></span>


{| class="wikitable"
Provides a nominal observation confidence level for [observation events](#rov.event).
|+ Columns in "model_documentation"
|-
! Name !! Type !! Nullable !! Documentation
|-
| library_id || integer || NO || A reference to the document in the [[#rov.library|library]].
|-
| model_id || integer || NO || A reference to the [[#rov.model|model]].
|-
| note || text || YES || An optional note about the document with respect to the cruise leg. May be used to reference points of interest in a paper, etc.
|}


<span id="rov.model_equipment_type"></span>
====== Columns ======
=== Table: model_equipment_type ===


This table associates an equipment [[#rov.model|model]] with the abstract type of equipment it represents. For example, a GoPro Hero4 is both a digital video camera and a digital still camera. These values are taken from the [[#rov.equipment_type|equipment_type]] table.
* '''id''' — ''No comment''
* '''name''' — The textual representation of the confidence level.
* '''rank''' — This field is a way of ranking confidence levels so that an ordering can be established.
* '''note''' — A note about the confidence level.
* '''short_code''' — Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.


{| class="wikitable"
===== orientation =====
|+ Columns in "model_equipment_type"
<span id="rov.orientation"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| equipment_type_id || integer || NO || The [[#rov.equipment_type|equipment type]] ID.
|-
| model_id || integer || NO || A reference to the [[#rov.model|model]].
|}


<span id="rov.observation_confidence"></span>
This table preserves time-stamped orientation measurements from [instruments](#rov.instrument_config). These are interpreted according to a [specified type](#rov.orientation_type). Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.
=== Table: observation_confidence ===


Provides a nominal observation confidence level for [[#rov.observation_event|observation events]].
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "observation_confidence"
* '''orientation_type_id''' — A reference to the [orientation type](#rov.orientation_type) of this orientation.
|-
* '''timestamp''' — The time the position was recorded.
! Name !! Type !! Nullable !! Documentation
* '''orientation''' — The orientation vector.
|-
* '''signal_quality''' — The signal quality of the position as reported by the instrument. TODO: Requires clarification.
| name || character varying || NO || The textual representation of the confidence level.
* '''is_modelled''' — A flag to indicate whether the value is derived from measurements by some modelling process.
|-
* '''instrument_config_id''' — The [configured instrument](#rov.instrument_config) used to generate this item.
| note || text || YES || A note about the confidence level.
|-
| rank || integer || NO || This field is a way of ranking confidence levels so that an ordering can be established.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.
|}


<span id="rov.orientation"></span>
===== orientation_type =====
=== Table: orientation ===
<span id="rov.orientation_type"></span>
 
This table preserves time-stamped orientation measurements from [[#rov.instrument_config|instruments]]. These are interpreted according to a [[#rov.orientation_type|specified type]]. Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.


{| class="wikitable"
These entities describe the interpretation of the orientation vector in the [instrument_config](#rov.instrument_config) and [orientation](#rov.orientation) tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.
|+ Columns in "orientation"
|-
! Name !! Type !! Nullable !! Documentation
|-
| instrument_config_id || integer || NO || The [[#rov.instrument_config|configured instrument]] used to generate this item.
|-
| is_modelled || boolean || NO || A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| orientation || jsonb || NO || The orientation vector.
|-
| orientation_type_id || integer || NO || A reference to the [[#rov.orientation_type|orientation type]] of this orientation.
|-
| signal_quality || real || YES || The signal quality of the position as reported by the instrument. TODO: Requires clarification.
|-
| timestamp || timestamp without time zone || NO || The time the position was recorded.
|}
 
<span id="rov.orientation_type"></span>
=== Table: orientation_type ===


These entities describe the interpretation of the orientation vector in the [[#rov.instrument_config|instrument_config]] and [[#rov.orientation|orientation]] tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "orientation_type"
* '''name''' — The name of the orientation type (e.g., "Quaternion").
|-
* '''unit''' — The units used to interpret the elements of the vector.
! Name !! Type !! Nullable !! Documentation
* '''note''' — An optional note about the orientation type.
|-
* '''short_code''' — Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
| name || character varying || NO || The name of the orientation type (e.g., "Quaternion").
|-
| note || text || YES || An optional note about the orientation type.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
|-
| unit || character varying || NO || The units used to interpret the elements of the vector.
|}


===== platform =====
<span id="rov.platform"></span>
<span id="rov.platform"></span>
=== Table: platform ===


This table maintains the inventory of vehicles, that is, ships and ROVs.
This table maintains the inventory of vehicles, that is, ships and ROVs.


{| class="wikitable"
====== Columns ======
|+ Columns in "platform"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''model_id''' — A reference to the [model](#rov.model) of the platform.
|-
* '''name''' — The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
| attributes || jsonb || YES || A freeform list of attributes for this platform.
* '''serial_number''' — The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
|-
* '''retired''' — If the platform is retired, this records the date. If null, the platform is assumed to be active.
| created_on || timestamp without time zone || NO || The date of creation of this record.
* '''attributes''' — A freeform list of attributes for this platform.
|-
* '''note''' — An optional note about this platform.
| model_id || integer || NO || A reference to the [[#rov.model|model]] of the platform.
* '''created_on''' — The date of creation of this record.
|-
* '''updated_on''' — The date of update of this record.
| name || character varying || NO || The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
* '''short_code''' — Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
|-
* '''organisation_id''' — A reference to the organisation that owns and operates the platform.
| note || text || YES || An optional note about this platform.
|-
| organisation_id || integer || NO || A reference to the organisation that owns and operates the platform.
|-
| retired || date || YES || If the platform is retired, this records the date. If null, the platform is assumed to be active.
|-
| serial_number || character varying || YES || The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
|-
| short_code || character || YES || Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


===== platform_config =====
<span id="rov.platform_config"></span>
<span id="rov.platform_config"></span>
=== Table: platform_config ===


This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the [[#rov.platform|platform]] table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.
This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the [platform](#rov.platform) table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.


{| class="wikitable"
====== Columns ======
|+ Columns in "platform_config"
|-
! Name !! Type !! Nullable !! Documentation
|-
| configuration || jsonb || YES || The configuration data as a JSON object.
|-
| created_on || timestamp without time zone || NO || The date of creation of this record.
|-
| mark_for_delete || boolean || NO || Marks the entity for asynchronous deletion by the runner.
|-
| note || text || YES || An optional note about the configuration record.
|-
| platform_id || integer || NO || A reference to the [[#rov.platform|platform]].
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


* '''id''' — ''No comment''
* '''platform_id''' — A reference to the [platform](#rov.platform).
* '''configuration''' — The configuration data as a JSON object.
* '''note''' — An optional note about the configuration record.
* '''created_on''' — The date of creation of this record.
* '''updated_on''' — The date of update of this record.
* '''mark_for_delete''' — Marks the entity for asynchronous deletion by the runner.
===== position =====
<span id="rov.position"></span>
<span id="rov.position"></span>
=== Table: position ===


This table preserves time-stamped position measurements from [[#rov.instrument_config|instruments]]. These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a [[#rov.position_type|specified unit]]. Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?
This table preserves time-stamped position measurements from [instruments](#rov.instrument_config). These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a [specified unit](#rov.position_type). Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "position"
* '''position_type_id''' — A reference to the [position type](#rov.position_type) of this position.
|-
* '''timestamp''' — The time the position was recorded.
! Name !! Type !! Nullable !! Documentation
* '''signal_quality''' — The signal quality of the position as reported by the instrument. TODO: Requires clarification.
|-
* '''geom''' — The point geometry.
| geom || geometry || YES || The point geometry.
* '''is_modelled''' — A flag to indicate whether the value is derived from measurements by some modelling process.
|-
* '''instrument_config_id''' — The [configured instrument](#rov.instrument_config) used to generate this item.
| instrument_config_id || integer || NO || The [[#rov.instrument_config|configured instrument]] used to generate this item.
* '''import_group_id''' — A reference to the [import group](#rov.import_group), which tracks positions which were imported at the same time, from the same file.
|-
| is_modelled || boolean || NO || A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| position_type_id || integer || NO || A reference to the [[#rov.position_type|position type]] of this position.
|-
| signal_quality || real || YES || The signal quality of the position as reported by the instrument. TODO: Requires clarification.
|-
| timestamp || timestamp without time zone || NO || The time the position was recorded.
|}


===== position_type =====
<span id="rov.position_type"></span>
<span id="rov.position_type"></span>
=== Table: position_type ===


Describes the interpretation of a coordinate vector in the [[#rov.position|position]] table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.
Describes the interpretation of a coordinate vector in the [position](#rov.position) table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "position_type"
* '''name''' — The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
|-
* '''unit''' — The unit. Linear or angular. E.g., "m" or "radians."
! Name !! Type !! Nullable !! Documentation
* '''note''' — An optional note about this position type.
|-
* '''short_code''' — Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
| name || character varying || NO || The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
|-
| note || text || YES || An optional note about this position type.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
|-
| unit || character varying || NO || The unit. Linear or angular. E.g., "m" or "radians."
|}


===== program =====
<span id="rov.program"></span>
<span id="rov.program"></span>
=== Table: program ===


This is a listing of scientific programs that can be associated with [[#rov.cruise_leg|cruise legs]], and gives information about the governorship and funding of specific research activities. [[#rov.label_tree|Label trees]] and [[#shared.taxonomy|taxonomies]] may be associated with programs, since some trees are relevant to specific research objectives and not others. TODO: Currently a lable tree/taxonomy can only be linked to one program. Need to study further.
This is a listing of scientific or other programs that can be associated with [cruises](#rov.cruise).


{| class="wikitable"
====== Columns ======
|+ Columns in "program"
|-
! Name !! Type !! Nullable !! Documentation
|-
| created_on || timestamp without time zone || NO || The date of creation of this item.
|-
| end_date || date || YES || The optional end date of the program.
|-
| name || character varying || NO || The name of the program.
|-
| note || text || YES || An optional note about the program.
|-
| objective || character varying || YES || The objective or mandate of the program.
|-
| start_date || date || NO || The starting date of the program.
|-
| summary || text || YES || A summary of the [[#rov.program|program]]; whether objectives were met, problems encountered, etc.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


<span id="rov.program_library"></span>
* '''id''' — ''No comment''
=== Table: program_library ===
* '''name''' — The name of the program.
* '''objective''' — The objective or mandate of the program.
* '''start_date''' — The starting date of the program.
* '''end_date''' — The optional end date of the program.
* '''note''' — An optional note about the program.
* '''created_on''' — The date of creation of this item.
* '''updated_on''' — The date of update of this record.
* '''summary''' — A summary of the [program](#rov.program); whether objectives were met, problems encountered, etc.


A table to associate [[#rov.program|programs]] with [[#shared.library|library]] documents.
===== program_member =====
<span id="rov.program_member"></span>


{| class="wikitable"
Assigns [user](#shared.person) [roles](#rov.program_role) to a [program](#rov.program).
|+ Columns in "program_library"
|-
! Name !! Type !! Nullable !! Documentation
|-
| library_id || integer || NO || A reference to the [[#shared.library|library]] item.
|-
| program_id || integer || NO || A reference to the [[#rov.program|program]] item.
|}


<span id="rov.program_member"></span>
====== Columns ======
=== Table: program_member ===


Assigns [[#rov.person|user]] [[#rov.program_role|roles]] to a [[#rov.program|program]].
* '''id''' — ''No comment''
* '''program_id''' — The reference to the [program](#rov.program).
* '''person_id''' — A reference to the [person](#shared.person).
* '''role_id''' — A reference to the [program role](#rov.program_role).


{| class="wikitable"
===== program_role =====
|+ Columns in "program_member"
<span id="rov.program_role"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| person_id || integer || NO || A reference to the [[#rov.person|person]].
|-
| program_id || integer || NO || The reference to the [[#rov.program|program]].
|-
| role_id || integer || NO || A reference to the [[#rov.program_role|program role]].
|}


<span id="rov.program_role"></span>
Represents the roles a [person](#shared.person) might perform in respect to a [program](#rov.program). A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.
=== Table: program_role ===


Represents the roles a [[#rov.person|person]] might perform in respect to a [[#rov.program|program]]. A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "program_role"
* '''name''' — The name of the role. E.g., "Chief Scientist."
|-
* '''note''' — An optional note about the role.
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the role. E.g., "Chief Scientist."
|-
| note || text || YES || An optional note about the role.
|}


===== protocol =====
<span id="rov.protocol"></span>
<span id="rov.protocol"></span>
=== Table: protocol ===


This table stores "(survey) protocol" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.
This table stores "(survey) protocol" entries from the source data. TODO: Used by [events](#rov.event) though it's not yet clear if it should stay this way.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "protocol"
* '''name''' — A name for the survey protocol.
|-
* '''note''' — An optional note about the protocol.
! Name !! Type !! Nullable !! Documentation
* '''short_code''' — Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
|-
| name || character varying || NO || A name for the survey protocol.
|-
| note || text || YES || An optional note about the protocol.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
|}


===== relief =====
<span id="rov.relief"></span>
<span id="rov.relief"></span>
=== Table: relief ===


Provides a nominal level of terrain relief for [[#rov.habitat_event|habitat events]].
Provides a nominal level of terrain relief for [habitat events](#rov.event).


{| class="wikitable"
====== Columns ======
|+ Columns in "relief"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The textual representation of the relief level.
|-
| note || text || YES || A note about the relief level.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
|}


* '''id''' — ''No comment''
* '''name''' — The textual representation of the relief level.
* '''note''' — A note about the relief level.
* '''short_code''' — Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
===== signup_area =====
<span id="rov.signup_area"></span>
<span id="rov.signup_area"></span>
=== Table: signup_area ===


Stores the region within which sign-ups are permitted, generally North America.
Stores the region within which sign-ups are permitted, generally North America.


{| class="wikitable"
====== Columns ======
|+ Columns in "signup_area"
|-
! Name !! Type !! Nullable !! Documentation
|-
| geom || geometry || YES || The geometry of the sign-up region.
|-
| name || character varying || NO || The name of the sign-up region.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the sign-up region.
* '''geom''' — The geometry of the sign-up region.
===== status_type =====
<span id="rov.status_type"></span>
<span id="rov.status_type"></span>
=== Table: status_type ===


This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the [[#rov.status_type_detail|status_type_detail]] table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.
This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the [status_type_detail](#rov.status_type_detail) table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.


{| class="wikitable"
====== Columns ======
|+ Columns in "status_type"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the status event.
|-
| note || text || YES || An optional description of the status type.
|-
| short_code || character || YES || A short code for referencing the status type in import documents.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the status event.
* '''note''' — An optional description of the status type.
* '''short_code''' — A short code for referencing the status type in import documents.
===== status_type_detail =====
<span id="rov.status_type_detail"></span>
<span id="rov.status_type_detail"></span>
=== Table: status_type_detail ===


This table associates a [[#rov.status_type|status type]] with a [[#rov.status_event|status event]]. The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The [[#rov.status_type|status type]] value is the discriminator for the event, but the detail adds context the doesn't interfere with it.
This table associates a [status type](#rov.status_type) with a [status event](#rov.event). The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The [status type](#rov.status_type) value is the discriminator for the event, but the detail adds context the doesn't interfere with it.


{| class="wikitable"
====== Columns ======
|+ Columns in "status_type_detail"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The status type detail. This field distinguishes different uses for [[#rov.status_type|status types]]. For example, there can be more than one reason to record an "Off Transect" event.
|-
| note || text || YES || Optional extended description of detail.
|-
| short_code || character || YES || Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
|-
| status_type_id || integer || NO || A reference to the [[#rov.status_type|status type]].
|}


* '''id''' — ''No comment''
* '''status_type_id''' — A reference to the [status type](#rov.status_type).
* '''name''' — The status type detail. This field distinguishes different uses for [status types](#rov.status_type). For example, there can be more than one reason to record an "Off Transect" event.
* '''note''' — Optional extended description of detail.
* '''short_code''' — Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
===== substrate =====
<span id="rov.substrate"></span>
<span id="rov.substrate"></span>
=== Table: substrate ===


A lookup table listing the available substrate types for the [[#rov.habitat_event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available substrate types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.


{| class="wikitable"
====== Columns ======
|+ Columns in "substrate"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the substrate.
|-
| note || text || YES || An optional description of the substrate.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the substrate.
* '''note''' — An optional description of the substrate.
* '''short_code''' — Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
===== survey_mode =====
<span id="rov.survey_mode"></span>
<span id="rov.survey_mode"></span>
=== Table: survey_mode ===


This table stores "survey mode" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.
This table stores "survey mode" entries from the source data. TODO: Used by [events](#rov.event) though it's not yet clear if it should stay this way.


{| class="wikitable"
====== Columns ======
|+ Columns in "survey_mode"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the survey mode.
|-
| note || text || YES || An optional note about the survey mode.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
|}


* '''id''' — ''No comment''
* '''name''' — The name of the survey mode.
* '''note''' — An optional note about the survey mode.
* '''short_code''' — Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
===== thickness =====
<span id="rov.thickness"></span>
<span id="rov.thickness"></span>
=== Table: thickness ===


A lookup table listing the available substrate thicknesses for the [[#rov.habitat_event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available substrate thicknesses for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "thickness"
* '''name''' — A characterization of biocover thickness.
|-
* '''minimum''' — The minimum value in the range.
! Name !! Type !! Nullable !! Documentation
* '''maximum''' — The maximum value in the range.
|-
* '''note''' — An optional note about the biocover thickness.
| maximum || real || YES || The maximum value in the range.
* '''short_code''' — Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
|-
| minimum || real || YES || The minimum value in the range.
|-
| name || character varying || NO || A characterization of biocover thickness.
|-
| note || text || YES || An optional note about the biocover thickness.
|-
| short_code || character varying || YES || Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
|}


===== transect =====
<span id="rov.transect"></span>
<span id="rov.transect"></span>
=== Table: transect ===


A transect is a section of a [[#rov.dive|dive]] during which interesting data are collected. Every transect is associated with a [[#rov.dive|dive]].
A transect is a section of a [dive](#rov.dive) during which interesting data are collected. Every transect is associated with a [dive](#rov.dive).
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "transect"
* '''dive_id''' — A reference to the [dive](#rov.dive) during which this transect occurred.
|-
* '''name''' — The name of the transect.
! Name !! Type !! Nullable !! Documentation
* '''objective''' — A statement of the practical or research objectives for this true.
|-
* '''start_time''' — The start time of the transect.
| admin_note || text || YES || [None]
* '''end_time''' — The end time of the transect.
|-
* '''note''' — An optional note about the transect.
| attributes || jsonb || YES || A JSON column used for recording structured attributes that do not fit with the regular table structure.
* '''attributes''' — A JSON column used for recording structured attributes that do not fit with the regular table structure.
|-
* '''summary''' — A summary of the [transect](#rov.transect); whether objectives were met, problems encountered, etc.
| dive_id || integer || NO || A reference to the [[#rov.dive|dive]] during which this transect occurred.
* '''admin_note''' — ''No comment''
|-
| end_time || timestamp without time zone || YES || The end time of the transect.
|-
| name || character varying || NO || The name of the transect.
|-
| note || text || YES || An optional note about the transect.
|-
| objective || text || YES || A statement of the practical or research objectives for this true.
|-
| start_time || timestamp without time zone || NO || The start time of the transect.
|-
| summary || text || YES || A summary of the [[#rov.transect|transect]]; whether objectives were met, problems encountered, etc.
|}


===== weather_observation =====
<span id="rov.weather_observation"></span>
<span id="rov.weather_observation"></span>
=== Table: weather_observation ===


Surface weather observations can be recorded by any [[#rov.cruise_leg_crew|crew member]] aboard a ship during a [[#rov.cruise_leg|cruise leg]].
Surface weather observations can be recorded by any [crew member](#rov.cruise_crew) aboard a ship during a [cruise leg](#rov.cruise).
 
====== Columns ======
 
* '''id''' — ''No comment''
* '''cruise_crew_id''' — A reference to the [cruise leg crew](#rov.cruise_crew) member who is making the report.
* '''temperature''' — The air temperature.
* '''pressure''' — The air pressure.
* '''wind_speed''' — The wind speed.
* '''wind_direction''' — The wind direction.
* '''swell''' — Description of swell.
* '''time''' — An optional note about the weather.
* '''note''' — An optional note about the observation
* '''cruise_id''' — A link to the [cruise](#rov.cruise) during which this record was recorded.
 
==== Indexes ====
 
===== abundance_name_key =====
<span id="rov.abundance_name_key"></span>
 
''No comment''
 
===== abundance_pkey =====
<span id="rov.abundance_pkey"></span>
 
''No comment''
 
===== annotation_job_annotation_protocol_pkey =====
<span id="rov.annotation_job_annotation_protocol_pkey"></span>
 
''No comment''
 
===== annotation_job_annotation_protocol_unique =====
<span id="rov.annotation_job_annotation_protocol_unique"></span>
 
''No comment''
 
===== annotation_job_annotation_protocol_unique_idx =====
<span id="rov.annotation_job_annotation_protocol_unique_idx"></span>
 
''No comment''
 
===== annotation_job_crew_annotation_job_id_person_id_role_id_key =====
<span id="rov.annotation_job_crew_annotation_job_id_person_id_role_id_key"></span>
 
''No comment''
 
===== annotation_job_crew_pkey =====
<span id="rov.annotation_job_crew_pkey"></span>
 
''No comment''


{| class="wikitable"
===== annotation_job_pkey =====
|+ Columns in "weather_observation"
<span id="rov.annotation_job_pkey"></span>
|-
! Name !! Type !! Nullable !! Documentation
|-
| cruise_crew_id || integer || YES || A reference to the [[#rov.cruise_leg_crew|cruise leg crew]] member who is making the report.
|-
| cruise_id || integer || NO || A link to the [[#rov.cruise|cruise]] during which this record was recorded.
|-
| note || text || YES || An optional note about the observation
|-
| pressure || real || YES || The air pressure.
|-
| swell || character varying || YES || Description of swell.
|-
| temperature || real || YES || The air temperature.
|-
| time || timestamp without time zone || NO || An optional note about the weather.
|-
| wind_direction || real || YES || The wind direction.
|-
| wind_speed || real || YES || The wind speed.
|}


''No comment''
===== annotation_job_role_pkey =====
<span id="rov.annotation_job_role_pkey"></span>
''No comment''
===== annotation_protocol_document_pkey =====
<span id="rov.annotation_protocol_document_pkey"></span>
''No comment''
===== annotation_protocol_name_idx =====
<span id="rov.annotation_protocol_name_idx"></span>
''No comment''
===== annotation_protocol_name_key =====
<span id="rov.annotation_protocol_name_key"></span>
''No comment''
===== annotation_protocol_pkey =====
<span id="rov.annotation_protocol_pkey"></span>
''No comment''
===== annotation_software_name_key =====
<span id="rov.annotation_software_name_key"></span>
''No comment''
===== annotation_software_pkey =====
<span id="rov.annotation_software_pkey"></span>
''No comment''
===== biigle_label_map_label_id_unique =====
<span id="rov.biigle_label_map_label_id_unique"></span>
''No comment''
===== biigle_label_map_pkey =====
<span id="rov.biigle_label_map_pkey"></span>
''No comment''
===== biigle_label_map_restriction_pkey =====
<span id="rov.biigle_label_map_restriction_pkey"></span>
''No comment''
===== biocover_name_key =====
<span id="rov.biocover_name_key"></span>
''No comment''
===== biocover_pkey =====
<span id="rov.biocover_pkey"></span>
''No comment''
===== complexity_name_key =====
<span id="rov.complexity_name_key"></span>
''No comment''
===== complexity_pkey =====
<span id="rov.complexity_pkey"></span>
''No comment''
===== cov_unique_range =====
<span id="rov.cov_unique_range"></span>
''No comment''
===== coverage_name_key =====
<span id="rov.coverage_name_key"></span>
''No comment''
===== coverage_pkey =====
<span id="rov.coverage_pkey"></span>
''No comment''
===== cruise_crew_pkey =====
<span id="rov.cruise_crew_pkey"></span>
''No comment''
===== cruise_crew_unique_idx =====
<span id="rov.cruise_crew_unique_idx"></span>
''No comment''
===== cruise_document_pkey =====
<span id="rov.cruise_document_pkey"></span>
''No comment''
===== cruise_end_time_idx =====
<span id="rov.cruise_end_time_idx"></span>
''No comment''
===== cruise_fn_contact_pkey =====
<span id="rov.cruise_fn_contact_pkey"></span>
''No comment''
===== cruise_import_pkey =====
<span id="rov.cruise_import_pkey"></span>
''No comment''
===== cruise_leg_idx =====
<span id="rov.cruise_leg_idx"></span>
''No comment''
===== cruise_leg_unique_idx =====
<span id="rov.cruise_leg_unique_idx"></span>
''No comment''
===== cruise_name_idx =====
<span id="rov.cruise_name_idx"></span>
''No comment''
===== cruise_pkey =====
<span id="rov.cruise_pkey"></span>
''No comment''
===== cruise_program_pkey =====
<span id="rov.cruise_program_pkey"></span>
''No comment''
===== cruise_program_unique =====
<span id="rov.cruise_program_unique"></span>
''No comment''
===== cruise_role_name_key =====
<span id="rov.cruise_role_name_key"></span>
''No comment''
===== cruise_role_pkey =====
<span id="rov.cruise_role_pkey"></span>
''No comment''
===== cruise_start_time_idx =====
<span id="rov.cruise_start_time_idx"></span>
''No comment''
===== d_unique_cruiseleg_name =====
<span id="rov.d_unique_cruiseleg_name"></span>
''No comment''
===== disturbance_name_key =====
<span id="rov.disturbance_name_key"></span>
''No comment''
===== disturbance_pkey =====
<span id="rov.disturbance_pkey"></span>
''No comment''
===== dive_crew_pkey =====
<span id="rov.dive_crew_pkey"></span>
''No comment''
===== dive_crew_unique_idx =====
<span id="rov.dive_crew_unique_idx"></span>
''No comment''
===== dive_cruise_id_idx =====
<span id="rov.dive_cruise_id_idx"></span>
''No comment''
===== dive_end_time_idx =====
<span id="rov.dive_end_time_idx"></span>
''No comment''
===== dive_name_idx =====
<span id="rov.dive_name_idx"></span>
''No comment''
===== dive_pkey =====
<span id="rov.dive_pkey"></span>
''No comment''
===== dive_role_name_key =====
<span id="rov.dive_role_name_key"></span>
''No comment''
===== dive_role_pkey =====
<span id="rov.dive_role_pkey"></span>
''No comment''
===== dive_ship_config_id_idx =====
<span id="rov.dive_ship_config_id_idx"></span>
''No comment''
===== dive_start_time_idx =====
<span id="rov.dive_start_time_idx"></span>
''No comment''
===== dive_sub_config_id_idx =====
<span id="rov.dive_sub_config_id_idx"></span>
''No comment''
===== equipment_type_name_key =====
<span id="rov.equipment_type_name_key"></span>
''No comment''
===== equipment_type_pkey =====
<span id="rov.equipment_type_pkey"></span>
''No comment''
===== event_biotope_idx =====
<span id="rov.event_biotope_idx"></span>
''No comment''
===== event_cf_idx =====
<span id="rov.event_cf_idx"></span>
''No comment''
===== event_comment_idx =====
<span id="rov.event_comment_idx"></span>
''No comment''
===== event_comname_idx =====
<span id="rov.event_comname_idx"></span>
''No comment''
===== event_desc_idx =====
<span id="rov.event_desc_idx"></span>
''No comment''
===== event_dive_id_idx =====
<span id="rov.event_dive_id_idx"></span>
''No comment''
===== event_end_time_gist_idx =====
<span id="rov.event_end_time_gist_idx"></span>
''No comment''
===== event_group_event_id_group_id_key =====
<span id="rov.event_group_event_id_group_id_key"></span>
''No comment''
===== event_group_event_id_idx =====
<span id="rov.event_group_event_id_idx"></span>
''No comment''
===== event_group_group_id_idx =====
<span id="rov.event_group_group_id_idx"></span>
''No comment''
===== event_import_group_id_idx =====
<span id="rov.event_import_group_id_idx"></span>
''No comment''
===== event_instrument_config_id_idx =====
<span id="rov.event_instrument_config_id_idx"></span>
''No comment''
===== event_logger_person_id_event_id_key =====
<span id="rov.event_logger_person_id_event_id_key"></span>
''No comment''
===== event_logger_pkey =====
<span id="rov.event_logger_pkey"></span>
''No comment''
===== event_logger_unique =====
<span id="rov.event_logger_unique"></span>
''No comment''
===== event_ls_idx =====
<span id="rov.event_ls_idx"></span>
''No comment''
===== event_morpho_idx =====
<span id="rov.event_morpho_idx"></span>
''No comment''
===== event_ol_idx =====
<span id="rov.event_ol_idx"></span>
''No comment''
===== event_on_idx =====
<span id="rov.event_on_idx"></span>
''No comment''
===== event_otu_idx =====
<span id="rov.event_otu_idx"></span>
''No comment''
===== event_pkey1 =====
<span id="rov.event_pkey1"></span>
''No comment''
===== event_props_idx =====
<span id="rov.event_props_idx"></span>
''No comment''
===== event_sciname_idx =====
<span id="rov.event_sciname_idx"></span>
''No comment''
===== event_sp_idx =====
<span id="rov.event_sp_idx"></span>
''No comment''
===== event_spp_idx =====
<span id="rov.event_spp_idx"></span>
''No comment''
===== event_start_time_gist_idx =====
<span id="rov.event_start_time_gist_idx"></span>
''No comment''
===== event_tags_idx =====
<span id="rov.event_tags_idx"></span>
''No comment''
===== event_times_idx =====
<span id="rov.event_times_idx"></span>
Lookup index for cache procedure.
===== flow_pkey =====
<span id="rov.flow_pkey"></span>
''No comment''
===== generic_label_map_label_text =====
<span id="rov.generic_label_map_label_text"></span>
''No comment''
===== generic_label_map_label_text_unique =====
<span id="rov.generic_label_map_label_text_unique"></span>
''No comment''
===== generic_label_map_pkey =====
<span id="rov.generic_label_map_pkey"></span>
''No comment''
===== generic_label_map_restriction_pkey =====
<span id="rov.generic_label_map_restriction_pkey"></span>
''No comment''
===== image_quality_pkey =====
<span id="rov.image_quality_pkey"></span>
''No comment''
===== import_group_name_unique =====
<span id="rov.import_group_name_unique"></span>
''No comment''
===== import_group_pkey =====
<span id="rov.import_group_pkey"></span>
''No comment''
===== import_queue_annotation_name_key =====
<span id="rov.import_queue_annotation_name_key"></span>
''No comment''
===== import_queue_annotation_pkey =====
<span id="rov.import_queue_annotation_pkey"></span>
''No comment''
===== import_queue_annotator_label_map_prefill_pkey =====
<span id="rov.import_queue_annotator_label_map_prefill_pkey"></span>
''No comment''
===== import_queue_annotator_label_map_prefill_tree_name_unique =====
<span id="rov.import_queue_annotator_label_map_prefill_tree_name_unique"></span>
''No comment''
===== import_queue_pi_pkey =====
<span id="rov.import_queue_pi_pkey"></span>
''No comment''
===== inst_unique_model_serial_number =====
<span id="rov.inst_unique_model_serial_number"></span>
''No comment''
===== instrument_config_pkey =====
<span id="rov.instrument_config_pkey"></span>
''No comment''
===== instrument_config_platform_config_id =====
<span id="rov.instrument_config_platform_config_id"></span>
''No comment''
===== instrument_pkey =====
<span id="rov.instrument_pkey"></span>
''No comment''
===== iqpi_unique =====
<span id="rov.iqpi_unique"></span>
''No comment''
===== measurement_import_group_id_idx =====
<span id="rov.measurement_import_group_id_idx"></span>
''No comment''
===== measurement_inst_meas_time_idx =====
<span id="rov.measurement_inst_meas_time_idx"></span>
Lookup index for cache procedure.
===== measurement_instrument_config_id_idx =====
<span id="rov.measurement_instrument_config_id_idx"></span>
''No comment''
===== measurement_lookup_idx =====
<span id="rov.measurement_lookup_idx"></span>
Lookup index for cache procedure.
===== measurement_measurement_type_id_idx =====
<span id="rov.measurement_measurement_type_id_idx"></span>
''No comment''
===== measurement_pkey =====
<span id="rov.measurement_pkey"></span>
''No comment''
===== measurement_timestamp_gist_idx =====
<span id="rov.measurement_timestamp_gist_idx"></span>
''No comment''
===== measurement_timestamp_idx =====
<span id="rov.measurement_timestamp_idx"></span>
''No comment''
===== measurement_type_name_id =====
<span id="rov.measurement_type_name_id"></span>
''No comment''
===== measurement_type_pkey =====
<span id="rov.measurement_type_pkey"></span>
''No comment''
===== medium_format_name_key =====
<span id="rov.medium_format_name_key"></span>
''No comment''
===== medium_format_pkey =====
<span id="rov.medium_format_pkey"></span>
''No comment''
===== medium_type_name_key =====
<span id="rov.medium_type_name_key"></span>
''No comment''
===== medium_type_pkey =====
<span id="rov.medium_type_pkey"></span>
''No comment''
===== model_pkey =====
<span id="rov.model_pkey"></span>
''No comment''
===== mt_unique_name_unit =====
<span id="rov.mt_unique_name_unit"></span>
''No comment''
===== observation_confidence_name_key =====
<span id="rov.observation_confidence_name_key"></span>
''No comment''
===== observation_confidence_pkey =====
<span id="rov.observation_confidence_pkey"></span>
''No comment''
===== orientation_instrument_config_id_idx =====
<span id="rov.orientation_instrument_config_id_idx"></span>
''No comment''
===== orientation_orientation_type_id_idx =====
<span id="rov.orientation_orientation_type_id_idx"></span>
''No comment''
===== orientation_pkey =====
<span id="rov.orientation_pkey"></span>
''No comment''
===== orientation_timestamp_idx =====
<span id="rov.orientation_timestamp_idx"></span>
''No comment''
===== orientation_type_pkey =====
<span id="rov.orientation_type_pkey"></span>
''No comment''
===== ot_unique_name_unit =====
<span id="rov.ot_unique_name_unit"></span>
''No comment''
===== plat_model_serial_number =====
<span id="rov.plat_model_serial_number"></span>
''No comment''
===== platform_config_pkey =====
<span id="rov.platform_config_pkey"></span>
''No comment''
===== platform_config_platform_id_idx =====
<span id="rov.platform_config_platform_id_idx"></span>
''No comment''
===== platform_pkey =====
<span id="rov.platform_pkey"></span>
''No comment''
===== position_geom_geography_idx =====
<span id="rov.position_geom_geography_idx"></span>
''No comment''
===== position_import_group_id_idx =====
<span id="rov.position_import_group_id_idx"></span>
''No comment''
===== position_instrument_config_id_idx =====
<span id="rov.position_instrument_config_id_idx"></span>
''No comment''
===== position_lookup_idx =====
<span id="rov.position_lookup_idx"></span>
Lookup index for cache procedure.
===== position_pkey =====
<span id="rov.position_pkey"></span>
''No comment''
===== position_timestamp_gist_idx =====
<span id="rov.position_timestamp_gist_idx"></span>
''No comment''
===== position_timestamp_idx =====
<span id="rov.position_timestamp_idx"></span>
''No comment''
===== position_type_pkey =====
<span id="rov.position_type_pkey"></span>
''No comment''
===== program_end_date_idx =====
<span id="rov.program_end_date_idx"></span>
''No comment''
===== program_member_pkey =====
<span id="rov.program_member_pkey"></span>
''No comment''
===== program_name_idx =====
<span id="rov.program_name_idx"></span>
''No comment''
===== program_name_key =====
<span id="rov.program_name_key"></span>
''No comment''
===== program_pkey =====
<span id="rov.program_pkey"></span>
''No comment''
===== program_role_name_key =====
<span id="rov.program_role_name_key"></span>
''No comment''
===== program_role_pkey =====
<span id="rov.program_role_pkey"></span>
''No comment''
===== program_start_date_idx =====
<span id="rov.program_start_date_idx"></span>
''No comment''
===== protocol_pkey =====
<span id="rov.protocol_pkey"></span>
''No comment''
===== pt_unique_name_unit =====
<span id="rov.pt_unique_name_unit"></span>
''No comment''
===== relief_name_key =====
<span id="rov.relief_name_key"></span>
''No comment''
===== relief_pkey =====
<span id="rov.relief_pkey"></span>
''No comment''
===== rov_annotation_job_unique_name =====
<span id="rov.rov_annotation_job_unique_name"></span>
''No comment''
===== rov_event_import_group_idx =====
<span id="rov.rov_event_import_group_idx"></span>
''No comment''
===== rov_instrument_config_platform_config_instrument_unique =====
<span id="rov.rov_instrument_config_platform_config_instrument_unique"></span>
''No comment''
===== rov_measurement_import_group_idx =====
<span id="rov.rov_measurement_import_group_idx"></span>
''No comment''
===== rov_position_import_group_idx =====
<span id="rov.rov_position_import_group_idx"></span>
''No comment''
===== signup_area_idx =====
<span id="rov.signup_area_idx"></span>
''No comment''
===== signup_area_name_key =====
<span id="rov.signup_area_name_key"></span>
''No comment''
===== signup_area_pkey =====
<span id="rov.signup_area_pkey"></span>
''No comment''
===== st_unique_type_detail =====
<span id="rov.st_unique_type_detail"></span>
''No comment''
===== status_type_detail_pkey =====
<span id="rov.status_type_detail_pkey"></span>
''No comment''
===== status_type_pkey =====
<span id="rov.status_type_pkey"></span>
''No comment''
===== substrate_name_key =====
<span id="rov.substrate_name_key"></span>
''No comment''
===== substrate_pkey =====
<span id="rov.substrate_pkey"></span>
''No comment''
===== survey_mode_pkey =====
<span id="rov.survey_mode_pkey"></span>
''No comment''
===== thickness_name_key =====
<span id="rov.thickness_name_key"></span>
''No comment''
===== thickness_pkey =====
<span id="rov.thickness_pkey"></span>
''No comment''
===== tr_unique_dive_name =====
<span id="rov.tr_unique_dive_name"></span>
''No comment''
===== transect_end_time_idx =====
<span id="rov.transect_end_time_idx"></span>
''No comment''
===== transect_name_idx =====
<span id="rov.transect_name_idx"></span>
''No comment''
===== transect_pkey =====
<span id="rov.transect_pkey"></span>
''No comment''
===== transect_start_time_idx =====
<span id="rov.transect_start_time_idx"></span>
''No comment''
===== unique_biigle_label_map_restriction =====
<span id="rov.unique_biigle_label_map_restriction"></span>
''No comment''
===== unique_brand_model =====
<span id="rov.unique_brand_model"></span>
''No comment''
===== weather_observation_pkey =====
<span id="rov.weather_observation_pkey"></span>
''No comment''
=== Schema: shared ===
<span id="shared"></span>
<span id="shared"></span>
== Schema: shared ==


Stores data that are shared between other schemas, such as personnel information, taxonomy, etc.
==== Tables ====


===== db_version =====
<span id="shared.db_version"></span>
<span id="shared.db_version"></span>
=== Table: db_version ===


Stores the current database version so that upgrade scripts can perform migrations appropriately.
Stores the current database version so that upgrade scripts can perform migrations appropriately.


{| class="wikitable"
====== Columns ======
|+ Columns in "db_version"
|-
! Name !! Type !! Nullable !! Documentation
|-
| revision || integer || NO || The revision number.
|-
| updated_on || timestamp without time zone || NO || The time the upgrade was performed.
|-
| version_major || integer || NO || The major version.
|-
| version_minor || integer || NO || The minor version number.
|}


* '''id''' — ''No comment''
* '''version_major''' — The major version.
* '''version_minor''' — The minor version number.
* '''updated_on''' — The time the upgrade was performed.
* '''revision''' — The revision number.
===== file =====
<span id="shared.file"></span>
<span id="shared.file"></span>
=== Table: file ===


Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.
Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.


{| class="wikitable"
====== Columns ======
|+ Columns in "file"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''file_type_id''' — An optional reference to the [file type](#shared.file_type).
|-
* '''name''' — The name for the file.
| blob_url || character varying || YES || A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
* '''description''' — An optional description for the file.
|-
* '''metadata''' — A JSON dictionary containing metadata relating to the file.
| created_on || timestamp without time zone || NO || The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
* '''path''' — A path of the file, relative to the root directory where files are stored.
|-
* '''created_on''' — The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
| description || text || YES || An optional description for the file.
* '''updated_on''' — The update time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
* '''hash''' — And MD5 hash of the file data. Used to compare files and search for identical versions.
| file_type_id || integer || YES || An optional reference to the [[#shared.file_type|file type]].
* '''blob_url''' — A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
|-
| hash || character varying || NO || And MD5 hash of the file data. Used to compare files and search for identical versions.
|-
| metadata || jsonb || YES || A JSON dictionary containing metadata relating to the file.
|-
| name || character varying || NO || The name for the file.
|-
| path || character varying || NO || A path of the file, relative to the root directory where files are stored.
|-
| updated_on || timestamp without time zone || NO || The update time of the file record, not necessarily the file itself (this should be stored in metadata).
|}


===== file_type =====
<span id="shared.file_type"></span>
<span id="shared.file_type"></span>
=== Table: file_type ===


A list of file types.
A list of file types.


{| class="wikitable"
====== Columns ======
|+ Columns in "file_type"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || The name of the file type.
|-
| short_code || character varying || NO || A short code for referencing the file type in import documents.
|}
 
<span id="shared.library"></span>
=== Table: library ===


This table stores a partial record of documents, books and papers that can be referenced by other entities. The ISBN and DOI fields are set to unique, but these may vary (in representation, at least) for a single document so care should be taken not to add duplicates. However, updated papers with the same title and author, but different date, are not disallowed.
* '''id''' — ''No comment''
 
* '''name''' — The name of the file type.
{| class="wikitable"
* '''short_code''' — A short code for referencing the file type in import documents.
|+ Columns in "library"
|-
! Name !! Type !! Nullable !! Documentation
|-
| abstract || text || YES || The abstract of the entry.
|-
| authors || jsonb || YES || The (list of) author(s) of the document. This is a JSON list of objects containing whatever information is necessary. Authors should be listed with at least first_name and last_name, and any other relevant information, such as email or institution.
|-
| created_on || timestamp without time zone || YES || The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
| doi || character varying || YES || The DOI of the document.
|-
| file_id || integer || NO || An optional reference to a [[#shared.file|file]].
|-
| institution || character varying || YES || The name of the institution or publisher responsible for the document.
|-
| isbn || character varying || YES || The ISBN of the book, if it is a book.
|-
| issn || character varying || YES || The ISSN of the entry.
|-
| keywords || jsonb || YES || A list of keywords relating to the entry.
|-
| mendeley_id || character varying || YES || The ID of the record in Mendeley.
|-
| publication || character varying || YES || The name of the publication in which the document appeared.
|-
| title || text || NO || The title of the book, paper, or other document.
|-
| type || character varying || YES || Describes the type of entry: book, article, etc.
|-
| updated_on || timestamp without time zone || YES || The update time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
| year || character varying || YES || The publishing date of the document.
|}


===== mseauser =====
<span id="shared.mseauser"></span>
<span id="shared.mseauser"></span>
=== Table: mseauser ===


Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.
Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.


{| class="wikitable"
====== Columns ======
|+ Columns in "mseauser"
|-
! Name !! Type !! Nullable !! Documentation
|-
| allowed || boolean || NO || If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
|-
| biigle_api_key || character varying || YES || The Biigle API key.
|-
| biigle_username || character varying || YES || The Biigle username.
|-
| bio || text || YES || Biographical information about the user.
|-
| ip_in_region || boolean || YES || Set to true if the user's IP is within the signup region. False positives and negatives are possible.
|-
| org_type || character varying || YES || The the type of organization with which the user is affiliated.
|-
| organization || character varying || YES || The organization with which a user is affiliated.
|-
| pg_role || character varying || YES || The name of the PostgreSQL role that the user will use to log in directly to the database.
|-
| registration_ip || inet || YES || The IP used by the user to register.
|-
| registration_note || text || YES || Administrator notes about the user's registration status.
|-
| registration_reason || text || YES || A short note about why the user registered.
|-
| user_id || integer || NO || A reference to the [[#public.auth_user|Django user]].
|-
| verification_code || character || YES || An auto-generated string used to identify the user for verification purposes.
|-
| verification_expiry || timestamp without time zone || YES || The time of expiration of the verification code.
|-
| verification_time || timestamp without time zone || YES || The date and time at which the user was verified.
|}


* '''id''' — ''No comment''
* '''user_id''' — A reference to the [Django user](#public.auth_user).
* '''biigle_username''' — The Biigle username.
* '''biigle_api_key''' — The Biigle API key.
* '''pg_role''' — The name of the PostgreSQL role that the user will use to log in directly to the database.
* '''organization''' — The organization with which a user is affiliated.
* '''org_type''' — The the type of organization with which the user is affiliated.
* '''registration_reason''' — A short note about why the user registered.
* '''bio''' — Biographical information about the user.
* '''verification_code''' — An auto-generated string used to identify the user for verification purposes.
* '''verification_expiry''' — The time of expiration of the verification code.
* '''verification_time''' — The date and time at which the user was verified.
* '''registration_ip''' — The IP used by the user to register.
* '''ip_in_region''' — Set to true if the user's IP is within the signup region. False positives and negatives are possible.
* '''registration_note''' — Administrator notes about the user's registration status.
* '''allowed''' — If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
===== organisation =====
<span id="shared.organisation"></span>
<span id="shared.organisation"></span>
=== Table: organisation ===


Convenient storage for organisations involved in MSEA activities.
Convenient storage for organisations involved in MSEA activities.


{| class="wikitable"
====== Columns ======
|+ Columns in "organisation"
|-
! Name !! Type !! Nullable !! Documentation
|-
| country || character varying || NO || The code for the country where the organisation is based (e.g., "CA" for Canada).
|-
| name || character varying || NO || The full name of the organisation.
|-
| note || text || YES || An optional note about the organisation.
|}


* '''id''' — ''No comment''
* '''name''' — The full name of the organisation.
* '''country''' — The code for the country where the organisation is based (e.g., "CA" for Canada).
* '''note''' — An optional note about the organisation.
===== person =====
<span id="shared.person"></span>
<span id="shared.person"></span>
=== Table: person ===


Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.
Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.


{| class="wikitable"
====== Columns ======
|+ Columns in "person"
|-
! Name !! Type !! Nullable !! Documentation
|-
| affiliation || character varying || YES || The organization with which this user is currently affiliated.
|-
| biigle_user_id || integer || YES || The Biigle database ID of a user. The UUID should be used instead.
|-
| biigle_uuid || character || YES || The Biigle UUID is used to identify the user in Biigle apps.
|-
| bio || text || YES || A brief biography of the person.
|-
| email || USER-DEFINED || YES || Email address.
|-
| first_name || character varying || NO || First name.
|-
| last_name || character varying || NO || Last name.
|-
| photo || bytea || YES || A photo of the person.
|}


* '''id''' — ''No comment''
* '''biigle_user_id''' — The Biigle database ID of a user. The UUID should be used instead.
* '''first_name''' — First name.
* '''last_name''' — Last name.
* '''email''' — Email address.
* '''photo''' — A photo of the person.
* '''bio''' — A brief biography of the person.
* '''biigle_uuid''' — The Biigle UUID is used to identify the user in Biigle apps.
* '''affiliation''' — The organization with which this user is currently affiliated.
===== restriction =====
<span id="shared.restriction"></span>
<span id="shared.restriction"></span>
=== Table: restriction ===


The restriction table provides restrictions for [[#rov.event|events]], based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.
The restriction table provides restrictions for [events](#rov.event), based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "restriction"
* '''name''' — The name of the restriction.
|-
* '''key''' — The top-level property name or key.
! Name !! Type !! Nullable !! Documentation
* '''pattern''' — A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
|-
* '''note''' — An optional note about the restriction.
| created_on || timestamp without time zone || NO || The date of creation of the restriction.
* '''created_on''' — The date of creation of the restriction.
|-
* '''updated_on''' — The date of last update of the restriction.
| key || character varying || NO || The top-level property name or key.
|-
| name || character varying || NO || The name of the restriction.
|-
| note || text || YES || An optional note about the restriction.
|-
| pattern || text || NO || A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
|-
| updated_on || timestamp without time zone || NO || The date of last update of the restriction.
|}


===== restriction_group =====
<span id="shared.restriction_group"></span>
<span id="shared.restriction_group"></span>
=== Table: restriction_group ===


Links the restriction to a group. Members of linked groups are able to view the restricted items.
Links the restriction to a group. Members of linked groups are able to view the restricted items.


{| class="wikitable"
====== Columns ======
|+ Columns in "restriction_group"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''restriction_id''' — The ID of the [restriction](#shared.restriction).
|-
* '''group_id''' — The ID of the Django authentication group.
| group_id || integer || NO || The ID of the Django authentication group.
|-
| restriction_id || integer || NO || The ID of the [[#rov.restriction|restriction]].
|}


===== site =====
<span id="shared.site"></span>
<span id="shared.site"></span>
=== Table: site ===


Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.
Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.


{| class="wikitable"
====== Columns ======
|+ Columns in "site"
|-
! Name !! Type !! Nullable !! Documentation
|-
| name || character varying || NO || A name for the site.
|-
| note || text || YES || An optional note about the site.
|-
| spatial_library_id || integer || YES || A reference to the [[#shared.spatial_library|spatial library]] entry.
|}


* '''id''' — ''No comment''
* '''spatial_library_id''' — A reference to the [spatial library](#shared.spatial_library) entry.
* '''name''' — A name for the site.
* '''note''' — An optional note about the site.
===== spatial_library =====
<span id="shared.spatial_library"></span>
<span id="shared.spatial_library"></span>
=== Table: spatial_library ===


Maintains a library of spatial data.
Maintains a library of spatial data.


{| class="wikitable"
====== Columns ======
|+ Columns in "spatial_library"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''file_id''' — A reference to a related [file](#shared.file).
|-
* '''name''' — A name for the entry.
| created_on || timestamp without time zone || NO || The time when this record was created.
* '''note''' — A note about this library item.
|-
* '''thumbnail''' — A small thumbnail in binary (JPG) form.
| file_id || integer || YES || A reference to a related [[#shared.file|file]].
* '''created_on''' — The time when this record was created.
|-
* '''updated_on''' — The date of update of this record.
| geom || geometry || YES || A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
* '''geom''' — A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
|-
* '''metadata''' — A JSON object containing metadata related to the spatial object.
| metadata || jsonb || YES || A JSON object containing metadata related to the spatial object.
* '''rast''' — A raster.
|-
| name || character varying || NO || A name for the entry.
|-
| note || text || YES || A note about this library item.
|-
| rast || bytea || YES || A raster.
|-
| thumbnail || bytea || YES || A small thumbnail in binary (JPG) form.
|-
| updated_on || timestamp without time zone || NO || The date of update of this record.
|}


===== spatial_library_file =====
<span id="shared.spatial_library_file"></span>
<span id="shared.spatial_library_file"></span>
=== Table: spatial_library_file ===


Allows a [[#shared.spatial_library|spatial library]] entity to own more than one file.
Allows a [spatial library](#shared.spatial_library) entity to own more than one file.
 
====== Columns ======


{| class="wikitable"
* '''id''' — ''No comment''
|+ Columns in "spatial_library_file"
* '''spatial_library_id''' — A link to the [spatial library](#shared.spatial_library).
|-
* '''file_id''' — A link to the [file](#shared.file).
! Name !! Type !! Nullable !! Documentation
|-
| file_id || integer || NO || A link to the [[#shared.file|file]].
|-
| spatial_library_id || integer || NO || A link to the [[#shared.spatial_library|spatial library]].
|}


===== uploaded_file =====
<span id="shared.uploaded_file"></span>
<span id="shared.uploaded_file"></span>
=== Table: uploaded_file ===


A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.
A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.


{| class="wikitable"
====== Columns ======
|+ Columns in "uploaded_file"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''path''' — The path to the temporary location of the file.
|-
* '''type''' — The guessed MIME type of the file.
| created_on || timestamp without time zone || NO || The time of creation of the record.
* '''name''' — The original name of the file.
|-
* '''created_on''' — The time of creation of the record.
| expires_on || timestamp without time zone || NO || The expiry time of the file. It may be deleted by a maintenance script after this time.
* '''expires_on''' — The expiry time of the file. It may be deleted by a maintenance script after this time.
|-
* '''marked_for_delete''' — If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.
| marked_for_delete || boolean || NO || If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.
 
|-
==== Indexes ====
| name || character varying || NO || The original name of the file.
 
|-
===== db_version_pkey =====
| path || character varying || NO || The path to the temporary location of the file.
<span id="shared.db_version_pkey"></span>
|-
 
| type || character varying || NO || The guessed MIME type of the file.
''No comment''
|}
 
===== file_pkey =====
<span id="shared.file_pkey"></span>
 
''No comment''
 
===== file_type_name_key =====
<span id="shared.file_type_name_key"></span>
 
''No comment''
 
===== file_type_pkey =====
<span id="shared.file_type_pkey"></span>
 
''No comment''
 
===== file_type_short_code_key =====
<span id="shared.file_type_short_code_key"></span>
 
''No comment''
 
===== mseauser_pg_role_key =====
<span id="shared.mseauser_pg_role_key"></span>
 
''No comment''
 
===== mseauser_pkey =====
<span id="shared.mseauser_pkey"></span>
 
''No comment''
 
===== mseauser_user_id_key =====
<span id="shared.mseauser_user_id_key"></span>
 
''No comment''
 
===== organisation_pkey =====
<span id="shared.organisation_pkey"></span>
 
''No comment''
 
===== person_biigle_user_id_key =====
<span id="shared.person_biigle_user_id_key"></span>
 
''No comment''
 
===== person_biigle_uuid_key =====
<span id="shared.person_biigle_uuid_key"></span>
 
''No comment''
 
===== person_email_idx =====
<span id="shared.person_email_idx"></span>
 
''No comment''
 
===== person_email_unique =====
<span id="shared.person_email_unique"></span>
 
''No comment''
 
===== person_first_name_idx =====
<span id="shared.person_first_name_idx"></span>
 
''No comment''
 
===== person_last_name_idx =====
<span id="shared.person_last_name_idx"></span>
 
''No comment''
 
===== person_name_unique =====
<span id="shared.person_name_unique"></span>
 
''No comment''
 
===== person_pkey =====
<span id="shared.person_pkey"></span>
 
''No comment''
 
===== person_unique =====
<span id="shared.person_unique"></span>
 
''No comment''
 
===== restriction_group_pkey =====
<span id="shared.restriction_group_pkey"></span>
 
''No comment''
 
===== restriction_pkey =====
<span id="shared.restriction_pkey"></span>
 
''No comment''
 
===== shared_restriction_group_unique =====
<span id="shared.shared_restriction_group_unique"></span>
 
''No comment''
 
===== shared_restriction_name_unique =====
<span id="shared.shared_restriction_name_unique"></span>
 
''No comment''
 
===== shared_restriction_unique =====
<span id="shared.shared_restriction_unique"></span>
 
''No comment''
 
===== site_name_idx =====
<span id="shared.site_name_idx"></span>
 
''No comment''
 
===== site_name_key =====
<span id="shared.site_name_key"></span>
 
''No comment''
 
===== site_name_unique =====
<span id="shared.site_name_unique"></span>
 
''No comment''
 
===== site_pkey =====
<span id="shared.site_pkey"></span>
 
''No comment''
 
===== spatial_library_file_pkey =====
<span id="shared.spatial_library_file_pkey"></span>
 
''No comment''


===== spatial_library_geom_idx =====
<span id="shared.spatial_library_geom_idx"></span>
''No comment''
===== spatial_library_name_idx =====
<span id="shared.spatial_library_name_idx"></span>
''No comment''
===== spatial_library_pkey =====
<span id="shared.spatial_library_pkey"></span>
''No comment''
===== uploads_pkey =====
<span id="shared.uploads_pkey"></span>
''No comment''
=== Schema: taxonomy ===
<span id="taxonomy"></span>
<span id="taxonomy"></span>
== Schema: taxonomy ==


==== Tables ====
===== taxon =====
<span id="taxonomy.taxon"></span>
<span id="taxonomy.taxon"></span>
=== Table: taxon ===


Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.
Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.


{| class="wikitable"
====== Columns ======
|+ Columns in "taxon"
 
|-
* '''id''' — ''No comment''
! Name !! Type !! Nullable !! Documentation
* '''taxon_id''' — The taxonomic ID from the source database.
|-
* '''source''' — The name of the source database: "inaturalist", "worms", "obis", etc.
| accepted_taxon_id || integer || YES || The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
* '''rank''' — The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
|-
* '''scientific_name''' — The scientific name of the species.
| class || character varying || YES || The "class" name.
* '''common_name''' — The common name of the species.
|-
* '''superdomain''' — The superdomain name.
| common_name || character varying || YES || The common name of the species.
* '''domain''' — The domain name.
|-
* '''kingdom''' — The kingdom name.
| domain || character varying || YES || The domain name.
* '''subkingdom''' — The subkingdom name.
|-
* '''infrakingdom''' — The infrakingdom name.
| family || character varying || YES || The family name.
* '''phylum''' — The phylum name.
|-
* '''phylum_division''' — The phylum division name.
| form || character varying || YES || The form name.
* '''subphylum_subdivision''' — The subphylum division name.
|-
* '''subphylum''' — The subphylum name.
| genus || character varying || YES || The genus name.
* '''infraphylum''' — The infraphylum name.
|-
* '''parvphylum''' — The parvphylum name.
| genus_hybrid || character varying || YES || The genus hybrid name.
* '''gigaclass''' — The gigaclass name.
|-
* '''megaclass''' — The megaclass name.
| gigaclass || character varying || YES || The gigaclass name.
* '''superclass''' — The superclass name.
|-
* '''class''' — The "class" name.
| hybrid || character varying || YES || The hybrid name.
* '''subclass''' — The subclass name.
|-
* '''infraclass''' — The infraclass name.
| infraclass || character varying || YES || The infraclass name.
* '''subterclass''' — The subterclass name.
|-
* '''superorder''' — The superorder name.
| infrakingdom || character varying || YES || The infrakingdom name.
* '''order''' — The "order" name.
|-
* '''suborder''' — The suborder name.
| infraorder || character varying || YES || The infraorder name.
* '''infraorder''' — The infraorder name.
|-
* '''parvorder''' — The parvorder name.
| infraphylum || character varying || YES || The infraphylum name.
* '''superfamily''' — The superfamily name.
|-
* '''family''' — The family name.
| kingdom || character varying || YES || The kingdom name.
* '''subfamily''' — The subfamily name.
|-
* '''supertribe''' — The supertribe name.
| megaclass || character varying || YES || The megaclass name.
* '''tribe''' — The tribe name.
|-
* '''subtribe''' — The subtribe name.
| natio || character varying || YES || The natio name.
* '''genus''' — The genus name.
|-
* '''genus_hybrid''' — The genus hybrid name.
| no_common_name || boolean || YES || If a search has been performed for a common name and none was found, this prevents the processor from trying again.
* '''subgenus''' — The subgenus name.
|-
* '''section''' — The section name.
| order || character varying || YES || The "order" name.
* '''subsection''' — The subsection name.
|-
* '''series''' — The series name.
| parent_taxon_id || integer || YES || The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.
* '''species''' — The species name.
|-
* '''hybrid''' — The hybrid name.
| parvorder || character varying || YES || The parvorder name.
* '''subspecies''' — The subspecies name.
|-
* '''natio''' — The natio name.
| parvphylum || character varying || YES || The parvphylum name.
* '''variety''' — The variety name.
|-
* '''subvariety''' — The subvariety name.
| phylum || character varying || YES || The phylum name.
* '''form''' — The form name.
|-
* '''subform''' — The subform name.
| phylum_division || character varying || YES || The phylum division name.
* '''no_common_name''' — If a search has been performed for a common name and none was found, this prevents the processor from trying again.
|-
* '''accepted_taxon_id''' — The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
| rank || character varying || YES || The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
* '''parent_taxon_id''' — The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.
|-
 
| scientific_name || character varying || YES || The scientific name of the species.
==== Indexes ====
|-
 
| section || character varying || YES || The section name.
===== taxon_common_name_idx =====
|-
<span id="taxonomy.taxon_common_name_idx"></span>
| series || character varying || YES || The series name.
 
|-
''No comment''
| source || character varying || NO || The name of the source database: "inaturalist", "worms", "obis", etc.
 
|-
===== taxon_pkey =====
| species || character varying || YES || The species name.
<span id="taxonomy.taxon_pkey"></span>
|-
 
| subclass || character varying || YES || The subclass name.
''No comment''
|-
 
| subfamily || character varying || YES || The subfamily name.
===== taxon_rank_idx =====
|-
<span id="taxonomy.taxon_rank_idx"></span>
| subform || character varying || YES || The subform name.
 
|-
''No comment''
| subgenus || character varying || YES || The subgenus name.
 
|-
===== taxon_scientific_name_idx =====
| subkingdom || character varying || YES || The subkingdom name.
<span id="taxonomy.taxon_scientific_name_idx"></span>
|-
 
| suborder || character varying || YES || The suborder name.
''No comment''
|-
 
| subphylum || character varying || YES || The subphylum name.
===== taxon_source_idx =====
|-
<span id="taxonomy.taxon_source_idx"></span>
| subphylum_subdivision || character varying || YES || The subphylum division name.
 
|-
''No comment''
| subsection || character varying || YES || The subsection name.
 
|-
===== taxon_source_taxon_id_key =====
| subspecies || character varying || YES || The subspecies name.
<span id="taxonomy.taxon_source_taxon_id_key"></span>
|-
| subterclass || character varying || YES || The subterclass name.
|-
| subtribe || character varying || YES || The subtribe name.
|-
| subvariety || character varying || YES || The subvariety name.
|-
| superclass || character varying || YES || The superclass name.
|-
| superdomain || character varying || YES || The superdomain name.
|-
| superfamily || character varying || YES || The superfamily name.
|-
| superorder || character varying || YES || The superorder name.
|-
| supertribe || character varying || YES || The supertribe name.
|-
| taxon_id || character varying || NO || The taxonomic ID from the source database.
|-
| tribe || character varying || YES || The tribe name.
|-
| variety || character varying || YES || The variety name.
|}


''No comment''


<!-- END GENERATED CONTENT -->
<!-- END GENERATED CONTENT -->

Revision as of 21:29, 20 September 2025

The database is large, complex and relational with a lot of entities describing many facets of ROV operations, measurements and observations.

Notes About Specific Entities

These notes about specific entities complement the generated documentation below.

rov.dive and rov.transect

Dives represent the span of time during which an ROV, submersible or drop camera is in the water, but may also represent the time during which the instruments are operating. In cases when the instrument data are contained entirely within the time span logged by the operator, the times are recorded unchanged. When the instrument data extend beyond the recorded times of the dive, they may be extended. Occasionally, the operator will record an erroneous time, or omit a time altogether. The instrument times can help to reconstruct this history. Dives also relate to important configuration information, objectives, crew and operational notes.

Transects are defined by their start and end times, contained entirely within dives and do not cross the boundaries between dives. They do not have any related entities and function mainly as accounting items. However, they are extremely important in the analysis of observations and measurements collected during the dive. For example, if one is calculating the density of a particular population of organisms, one must know the precise geographic extent of the region. Transects accomplish this and store objectives and operational notes.

In instances where the times of transects are not recorded, or lost, they can sometimes be reconstructed from status events in the observation record (e.g., a VideoMiner database may have transect start/end events). Otherwise, they are not recorded at all. Ideally, transect records are present and their start and end times are recorded without modification, so long as they are reasonable (i.e., the end time occurs after the start time).

Generated Documentation

Database entity documentation is generated from the production database by the script, db_generate_docs.py. The script outputs a file whose contents can be copied into this page after the <!-- BEGIN GENERATED CONTENT --> tag.

The documentation is arranged into conceptual groupings with the following structure.

  • Schema
    • Table
    • Materialized View
    • View

System and Django tables aren't included. The ID column of each table is also excluded.

Database Comments

Documentation resides in the database itself, in the form of comments on the relations and columns. Documentations can be created by executing SQL statements in the form,

   COMMENT ON SHCEMA [schema] IS 'This is a schema comment.'
   COMMENT ON TABLE [schema].[table name] IS 'This is a table comment.'
   COMMENT ON COLUMN [schema].[table name].[column name] IS 'This is a column comment.'

Comments are managed using DDL, as described on the Database Upgrades page.

Generated Entity Documentation

Note: this page is auto-generated from the documentation comments in the actual database. Do not edit it directly.


Schema: admin

Tables

cache_table

A table containing information about cache refreshment procedures and the tables they impact. The cache_refresh_tables procedure will read this table and execute the procedures stored therein.

Columns
  • idNo comment
  • table_name — Stores the name of the table impacted by the associated cache procedure. Triggers will be disabled on the table, then re-enabled.
  • proc_name — The name of the cache refresh procedure to be called.
  • created_onNo comment
  • updated_onNo comment

Indexes

cache_table_pkey

No comment

cache_table_proc_name_key

No comment

Schema: cache

Tables

cruise_stats

Stores compiled statistics for [cruises](#rov.cruise).

Columns
  • idNo comment
  • cruise_id — The ID of the [cruise](#rov.cruise).
  • name — The name of the [cruise](#rov.cruise).
  • leg — The [cruise](#rov.cruise) leg.
  • start_date — The start date of the [cruise](#rov.cruise).
  • end_date — The end date of the [cruise](#rov.cruise).
  • num_dives — The number of dives performed during the [cruise](#rov.cruise).
  • num_measurements — The number measurements collected during the [cruise](#rov.cruise).
  • num_positions — The number positions collected during the [cruise](#rov.cruise).
  • num_habitats — The number habitats annotated during the [cruise](#rov.cruise).
  • num_observations — The number observations annotated during the [cruise](#rov.cruise).
  • is_approvedNo comment
  • num_transects — The number of [transects](#rov.transect) that occurred during this [cruise](#rov.cruise).
  • num_taxa — The number of [taxa](#taxonomy.taxon) observed during this [cruise](#rov.cruise).
  • num_cruise_crew — The number of [crew members](#rov.cruise_crew) configured for this [cruise](#rov.cruise).
  • num_dive_crew — The number of [crew members](#rov.dive_crew) configured for the [dives](#rov.dive) of this [cruise](#rov.cruise).
  • num_ap_docs — The number of [documents](#rov.annotation_protocol_document) attached to an [annotation protocol](#rov.annotation_protocol) used to annotate this [cruise's](#rov.cruise) data.
  • num_cruise_docs — True if there is at least one [document](#rov.cruise_document) attached this [cruise](#rov.cruise).
  • has_fov — True if the cruise has field of view measurements.
cruise_track

Constructs a geometry for each [cruise](#rov.cruise) which describes the path of the ship.

Columns
  • cruise_id — The reference to the [cruise](#rov.cruise).
  • cruise_name — The [cruise](#rov.cruise) name and leg.
  • colour — The a colour code generated from the cruise's ID used for cartography.
  • geom — The cruise track geometry.
dive_track

Constructs a geometry for each [dive](#rov.dive) which describes the path of the submersible.

Columns
  • dive_id — The reference to the [dive](#rov.dive).
  • cruise_id — The reference to the [cruise](#rov.cruise).
  • dive_name — The [dive](#rov.dive) name.
  • cruise_name — The [cruise](#rov.cruise) name.
  • colour — The a colour code generated from the cruise's ID. Used for cartography.
  • geom — The dive track geometry.
evt_depth

Creates a relation between an [event](#rov.event) and the [depth](#rov.measurement) nearest the start and end times of the event.

Columns
  • event_id — The link to the [event's](#rov.event) event ID.
  • instrument_config_id — The link to the [instrument configuration](#rov.instrument_config).
  • timestamps — The array of timestamps corresponding to the depths.
  • depths — The array of [depths](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple depths are returned.
evt_measurement

Creates a relation between an [event](#rov.event) and the [measurement](#rov.measurement) nearest the start and end times of the event.

Columns
  • event_id — The link to the [event's](#rov.event) event ID.
  • instrument_config_id — The link to the [instrument configuration](#rov.instrument_config).
  • measurement_type_id — The link to the [measurement type](#rov.measurement_type).
  • timestamps — The array of timestamps corresponding to the measurements.
  • measurements — The array of [measurements](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple measurements are returned.
evt_pos

Creates a relation between an [event](#rov.event) and the [positions](#rov.position) within the span of the event, as a MultiPoint.

Columns
  • event_id — The link to the [event's](#rov.event)'s event ID.
  • instrument_config_id — The link to the [instrument configuration](#rov.instrument_config).
  • timestamps — The list of timestamps corresponding to the geometries in the geoms column.
  • geoms — The list of positions comprising the ROV track during the time span of the event. A MultiPoint.
transect_track

Constructs a geometry for each [transect](#rov.transect) which describes the path of the submersible.

Columns
  • transect_id — The reference to the [transect](#rov.transect).
  • dive_id — The reference to the [dive](#rov.dive).
  • cruise_id — The reference to the [cruise](#rov.cruise).
  • transect_name — The [transect](#rov.transect) name.
  • dive_name — The [dive](#rov.dive) name.
  • cruise_name — The [cruise](#rov.cruise) name.
  • colour — The a colour code generated from the cruise's ID. Used for cartography.
  • geom — The transect track geometry.

Indexes

cache_evt_depth_depth_idx

No comment

cache_evt_depth_event_id_idx

No comment

cache_evt_depth_instrument_config_id_idx

No comment

cache_evt_depth_timestamp_idx

No comment

cache_evt_measurement_event_id_idx

No comment

cache_evt_measurement_instrument_config_id_idx

No comment

cache_evt_measurement_measurement_idx

No comment

cache_evt_measurement_measurement_type_id_idx

No comment

cache_evt_measurement_timestamp_idx

No comment

cache_evt_pos_event_id_idx

No comment

cache_evt_pos_geom_idx

No comment

cache_evt_pos_geom_idx_cast

No comment

cache_evt_pos_instrument_config_id_idx

No comment

cache_evt_pos_timestamps_idx

No comment

cruise_stats_pkey

No comment

cruise_track_index_geom

No comment

cruise_track_pkey

No comment

dive_track_index_geom

No comment

dive_track_pkey

No comment

evt_measurement_event_idx

Lookup index for cache procedure

evt_pos_event_idx

Lookup index for cache procedure.

pk_evt_depth

No comment

pk_evt_measurement

No comment

pk_evt_pos

No comment

transect_track_index_geom

No comment

transect_track_pkey

No comment

Schema: geo

Tables

area

Stores area geometries linked to [area groups](#geo.area_group).

Columns
  • idNo comment
  • area_group_idNo comment
  • name_en — The english name of the area.
  • name_fr — The french name of the area.
  • properties — A JSON object containing properties of the area.
  • geom — The area geometry, a MultiPolygon.
area_group

Stores groups of similar areas, such as MPAs, seamounts, etc. Linked by [areas](#geo.area).

Columns
  • idNo comment
  • name_en — The english name of the area group.
  • name_fr — The french name of the area group.
  • description_en — The english description of the area group.
  • description_fr — The french description of the area group.

Indexes

area_group_name_en_key

No comment

area_group_pkey

No comment

area_pkey

No comment

geo_area_geom_idx

No comment

Schema: maxmind

Tables

geoip_city_blocks

Contains both IPv4 and IPv6 network addresses, which reference locations in the [geoip_city_locations](#maxmind.geoip_city_locations) table.

Columns
  • network — The network address, IPv4 or IPv6.
  • geoname_id — References the location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table.
  • registered_country_geoname_id — The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table which is registered to the network address.
  • represented_country_geoname_id — The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table from which the IP comes.
  • is_anonymous_proxy — True if the address is of an anonymous proxy.
  • is_satellite_provider — True if the address is used by a satellite network provider.
  • postal_code — The postal code of the location.
  • latitude — The latitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
  • longitude — The longitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
  • accuracy_radius — The radius (m) of a circle within which the location is located.
  • is_anycast — True if the address is that of an Anycast network.
  • locationNo comment
  • regionNo comment
geoip_city_locations

Stores the country, region and city data for GeoIP.

Columns
  • geoname_id — The internal GeoIP city ID.
  • locale_code — The two-character local code.
  • continent_code — The two-character ISO continent code.
  • continent_name — The continent name
  • country_iso_code — The two-character ISO country code.
  • country_name — The country name
  • subdivision_1_iso_code — The ISO subdivision 1 code.
  • subdivision_1_name — The ISO subdivision 1 name.
  • subdivision_2_iso_code — The ISO subdivision 2 code.
  • subdivision_2_name — The ISO subdivision 2 name.
  • city_name — The city name.
  • metro_code — The three-digit metro code.
  • time_zone — The name of the time zone.
  • is_in_european_union — True if the location is within the European Union.
geoip_last_update

Stores the time of last update of the database.

Columns
  • last_update — The time of last update of the database.

Indexes

geoip_city_blocks_location_idx

No comment

geoip_city_blocks_network_idx

No comment

geoip_city_blocks_pkey

No comment

geoip_city_blocks_region_idx

No comment

geoip_city_locations_pkey

No comment

Schema: ndst

Tables

cruise

Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the [cruise](#rov.cruise) table.

Columns
  • row_id — A UUID providing a universally-unique identifier for the cruise.
  • name — The name of the cruise.
  • leg — The leg of the cruise. Should start at 1 and increase.
  • objectiveNo comment
  • summary — A summary of the cruise, its accomplishments, problems, etc.
  • note — The objective of the cruise.
  • status — The current status of the cruise viz. database import.
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
  • idNo comment
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • hide — True if the entity should be hidden in the UI.
diveconfig

Stores configurations for each dive, including the submersible, ship and any instruments on either.

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • name — The name of the dive config.
  • ship_config — Stores the name of the [ship configuration](#ndst.equipconfig) during the dive.
  • sub_config — Stores the name of the [submersible configuration](#ndst.equipconfig) during the dive.
  • ship_instrument_configs — Stores the names of the [instruments](#ndst.equipconfig) on the ship during the dive.
  • sub_instrument_configs — Stores the names of the [instruments](#ndst.equipconfig) on the sub during the dive.
  • note — A note about the dive config.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
dives

Stores information about each dive.

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • cruise_name — The name of the [cruise](#ndst.cruise).
  • leg — The leg of the [cruise](#ndst.cruise).
  • name — The name of the dive.
  • pilot — The [pilot](#shared.person)(s) of the dive.
  • start_time — The time of dive start.
  • end_time — The time of dive ending.
  • site_name — The name of the dive site.
  • dive_config — The name of the [dive configuration](#ndst.diveconfig).
  • objective — The objective of the dive.
  • summary — A summary of the dive, its accomplishments, problems, etc.
  • note — A note about the dive.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • hide — True if the entity should be hidden in the UI.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
equipconfig

Stores configurations for [equipment](#ndst.equipment), including instruments and platforms.

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • name — The name of the equipment config.
  • short_code — A short, easy-to-use identifier for the configuration.
  • type — The type of equipment.
  • configuration — A JSON object containing configuration properties.
  • note — A note about the equipment config.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
equipment

Stores equipment, including instruments and platforms.

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • short_code — The short code for the equipment as used in the [ROV database equipment table](#ndst.equipment).
  • brand — The brand name of the equipment.
  • model — The model name of the equipment.
  • serial_number — The serial number.
  • type — The type of equipment.
  • note — A note about the equipment.
  • instrument_id — The ID of the [instrument](#rov.instrument) in the ROV database. Mutually exclusive with platform_id.
  • platform_id — The ID of the [platform](#rov.platform) in the ROV database. Mutually exclusive with instrument_id.
  • short_code_mapped — An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
people

Stores the people who worked on the [cruise](#ndst.cruise).

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • initials — The initials. Used like a short code for the person.
  • first_name — The first name.
  • last_name — The last name.
  • email — The email address.
  • person_id — The ID of the [person](#shared.person) in the ROV database.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
transects

Stores information about each transect.

Columns
  • row_id — A UUID providing a universally-unique identifier for the entity.
  • cruise_name — The name of the [cruise](#ndst.cruise).
  • leg — The leg of the [cruise](#ndst.cruise).
  • dive_name — The name of the dive.
  • name — The name of the transect.
  • start_time — The time of transect start.
  • end_time — The time of transect ending.
  • objective — The objective of the transect.
  • summary — A summary of the transect, its accomplishments, problems, etc.
  • note — A note about the transect.
  • active — Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
  • hide — True if the entity should be hidden in the UI.
  • idNo comment
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.

Indexes

cruise_pkey

No comment

cruise_row_id_key

No comment

diveconfig_pkey

No comment

diveconfig_row_id_key

No comment

dives_pkey

No comment

dives_row_id_key

No comment

equipconfig_pkey

No comment

equipconfig_row_id_key

No comment

equipment_pkey

No comment

equipment_row_id_key

No comment

people_pkey

No comment

people_row_id_key

No comment

transects_pkey

No comment

transects_row_id_key

No comment

Schema: public

Tables

auth_group

A Django table for authorization groups.

Columns
  • idNo comment
  • nameNo comment
auth_group_permissions

A Django table for permissions on authorization groups.

Columns
  • idNo comment
  • group_idNo comment
  • permission_idNo comment
auth_permission

A Django table for available permissions.

Columns
  • idNo comment
  • nameNo comment
  • content_type_idNo comment
  • codenameNo comment
auth_user

A Django table for users.

Columns
  • idNo comment
  • passwordNo comment
  • last_loginNo comment
  • is_superuserNo comment
  • first_nameNo comment
  • last_nameNo comment
  • emailNo comment
  • is_staffNo comment
  • is_activeNo comment
  • date_joinedNo comment
  • biigle_usernameNo comment
  • biigle_api_keyNo comment
  • organizationNo comment
  • org_typeNo comment
  • registration_reasonNo comment
  • bioNo comment
  • verification_codeNo comment
  • verification_expiryNo comment
  • verification_timeNo comment
  • registration_ipNo comment
  • ip_in_regionNo comment
  • registration_noteNo comment
  • allowedNo comment
  • password_reset_codeNo comment
  • password_reset_expiryNo comment
  • registration_locationNo comment
auth_user_groups

A Django table to relate users to groups.

Columns
  • idNo comment
  • user_idNo comment
  • group_idNo comment
auth_user_user_permissions

A Django for user permissions.

Columns
  • idNo comment
  • user_idNo comment
  • permission_idNo comment
django_admin_log

A Django table for admin logging.

Columns
  • idNo comment
  • action_timeNo comment
  • object_idNo comment
  • object_reprNo comment
  • action_flagNo comment
  • change_messageNo comment
  • content_type_idNo comment
  • user_idNo comment
django_celery_beat_clockedschedule

No comment

Columns
  • idNo comment
  • clocked_timeNo comment
django_celery_beat_crontabschedule

No comment

Columns
  • idNo comment
  • minuteNo comment
  • hourNo comment
  • day_of_weekNo comment
  • day_of_monthNo comment
  • month_of_yearNo comment
  • timezoneNo comment
django_celery_beat_intervalschedule

No comment

Columns
  • idNo comment
  • everyNo comment
  • periodNo comment
django_celery_beat_periodictask

No comment

Columns
  • idNo comment
  • nameNo comment
  • taskNo comment
  • argsNo comment
  • kwargsNo comment
  • queueNo comment
  • exchangeNo comment
  • routing_keyNo comment
  • expiresNo comment
  • enabledNo comment
  • last_run_atNo comment
  • total_run_countNo comment
  • date_changedNo comment
  • descriptionNo comment
  • crontab_idNo comment
  • interval_idNo comment
  • solar_idNo comment
  • one_offNo comment
  • start_timeNo comment
  • priorityNo comment
  • headersNo comment
  • clocked_idNo comment
  • expire_secondsNo comment
django_celery_beat_periodictasks

No comment

Columns
  • identNo comment
  • last_updateNo comment
django_celery_beat_solarschedule

No comment

Columns
  • idNo comment
  • eventNo comment
  • latitudeNo comment
  • longitudeNo comment
django_celery_results_chordcounter

No comment

Columns
  • idNo comment
  • group_idNo comment
  • sub_tasksNo comment
  • countNo comment
django_celery_results_groupresult

No comment

Columns
  • idNo comment
  • group_idNo comment
  • date_createdNo comment
  • date_doneNo comment
  • content_typeNo comment
  • content_encodingNo comment
  • resultNo comment
django_celery_results_taskresult

No comment

Columns
  • idNo comment
  • task_idNo comment
  • statusNo comment
  • content_typeNo comment
  • content_encodingNo comment
  • resultNo comment
  • date_doneNo comment
  • tracebackNo comment
  • metaNo comment
  • task_argsNo comment
  • task_kwargsNo comment
  • task_nameNo comment
  • workerNo comment
  • date_createdNo comment
  • periodic_task_nameNo comment
  • date_startedNo comment
django_content_type

A Django table for content types.

Columns
  • idNo comment
  • app_labelNo comment
  • modelNo comment
django_migrations

Records migrations applied to database.

Columns
  • idNo comment
  • appNo comment
  • nameNo comment
  • appliedNo comment
django_session

Django session management.

Columns
  • session_keyNo comment
  • session_dataNo comment
  • expire_dateNo comment
django_site

No comment

Columns
  • idNo comment
  • domainNo comment
  • nameNo comment
event_group

No comment

Columns
  • event_idNo comment
  • group_idNo comment
knox_authtoken

No comment

Columns
  • digestNo comment
  • createdNo comment
  • user_idNo comment
  • expiryNo comment
  • token_keyNo comment
spatial_ref_sys

No comment

Columns
  • sridNo comment
  • auth_nameNo comment
  • auth_sridNo comment
  • srtextNo comment
  • proj4textNo comment
thumbnail_kvstore

No comment

Columns
  • keyNo comment
  • valueNo comment

Views

geography_columns

No comment

Columns
  • f_table_catalogNo comment
  • f_table_schemaNo comment
  • f_table_nameNo comment
  • f_geography_columnNo comment
  • coord_dimensionNo comment
  • sridNo comment
  • typeNo comment
geometry_columns

No comment

Columns
  • f_table_catalogNo comment
  • f_table_schemaNo comment
  • f_table_nameNo comment
  • f_geometry_columnNo comment
  • coord_dimensionNo comment
  • sridNo comment
  • typeNo comment

Indexes

auth_group_name_a6ea08ec_like

No comment

auth_group_name_key

No comment

auth_group_permissions_group_id_b120cbf9

No comment

auth_group_permissions_group_id_permission_id_0cd325b0_uniq

No comment

auth_group_permissions_permission_id_84c5c92e

No comment

auth_group_permissions_pkey

No comment

auth_group_pkey

No comment

auth_permission_content_type_id_2f476e4b

No comment

auth_permission_content_type_id_codename_01ab375a_uniq

No comment

auth_permission_pkey

No comment

auth_user_email_unique

No comment

auth_user_groups_group_id_97559544

No comment

auth_user_groups_pkey

No comment

auth_user_groups_user_id_6a12ed8b

No comment

auth_user_groups_user_id_group_id_94350c0c_uniq

No comment

auth_user_pkey

No comment

auth_user_user_permissions_permission_id_1fbb5f2c

No comment

auth_user_user_permissions_pkey

No comment

auth_user_user_permissions_user_id_a95ead1b

No comment

auth_user_user_permissions_user_id_permission_id_14a6b632_uniq

No comment

django_admin_log_content_type_id_c4bce8eb

No comment

django_admin_log_pkey

No comment

django_admin_log_user_id_c564eba6

No comment

django_cele_date_cr_bd6c1d_idx

No comment

django_cele_date_cr_f04a50_idx

No comment

django_cele_date_do_caae0e_idx

No comment

django_cele_date_do_f59aad_idx

No comment

django_cele_periodi_1993cf_idx

No comment

django_cele_status_9b6201_idx

No comment

django_cele_task_na_08aec9_idx

No comment

django_cele_worker_d54dd8_idx

No comment

django_celery_beat_clockedschedule_pkey

No comment

django_celery_beat_crontabschedule_pkey

No comment

django_celery_beat_intervalschedule_pkey

No comment

django_celery_beat_periodictask_clocked_id_47a69f82

No comment

django_celery_beat_periodictask_crontab_id_d3cba168

No comment

django_celery_beat_periodictask_interval_id_a8ca27da

No comment

django_celery_beat_periodictask_name_265a36b7_like

No comment

django_celery_beat_periodictask_name_key

No comment

django_celery_beat_periodictask_pkey

No comment

django_celery_beat_periodictask_solar_id_a87ce72c

No comment

django_celery_beat_periodictasks_pkey

No comment

django_celery_beat_solar_event_latitude_longitude_ba64999a_uniq

No comment

django_celery_beat_solarschedule_pkey

No comment

django_celery_results_chordcounter_group_id_1f70858c_like

No comment

django_celery_results_chordcounter_group_id_key

No comment

django_celery_results_chordcounter_pkey

No comment

django_celery_results_groupresult_group_id_a085f1a9_like

No comment

django_celery_results_groupresult_group_id_key

No comment

django_celery_results_groupresult_pkey

No comment

django_celery_results_taskresult_pkey

No comment

django_celery_results_taskresult_task_id_de0d95bf_like

No comment

django_celery_results_taskresult_task_id_key

No comment

django_content_type_app_label_model_76bd3d3b_uniq

No comment

django_content_type_pkey

No comment

django_migrations_pkey

No comment

django_session_expire_date_a5c62663

No comment

django_session_pkey

No comment

django_session_session_key_c0390e0f_like

No comment

django_site_domain_a2e37b91_like

No comment

django_site_domain_a2e37b91_uniq

No comment

django_site_pkey

No comment

event_group_event_id_group_id_key

No comment

knox_authtoken_digest_188c7e77_like

No comment

knox_authtoken_pkey

No comment

knox_authtoken_token_key_8f4f7d47

No comment

knox_authtoken_token_key_8f4f7d47_like

No comment

knox_authtoken_user_id_e5a5d899

No comment

spatial_ref_sys_pkey

No comment

thumbnail_kvstore_key_3f850178_like

No comment

thumbnail_kvstore_pkey

No comment

Functions

_copy_habitat_events

No comment

_copy_status_events

No comment

_postgis_deprecate

No comment

_postgis_index_extent

No comment

_postgis_join_selectivity

No comment

_postgis_pgsql_version

No comment

_postgis_scripts_pgsql_version

No comment

_postgis_selectivity

No comment

_postgis_stats

No comment

_st_3ddfullywithin

No comment

_st_3ddwithin

No comment

_st_3dintersects

No comment

_st_asgml

No comment

_st_asx3d

No comment

_st_bestsrid

No comment

_st_bestsrid

No comment

_st_concavehull

No comment

_st_contains

No comment

_st_containsproperly

No comment

_st_coveredby

No comment

_st_coveredby

No comment

_st_covers

No comment

_st_covers

No comment

_st_crosses

No comment

_st_dfullywithin

No comment

_st_distancetree

No comment

_st_distancetree

No comment

_st_distanceuncached

No comment

_st_distanceuncached

No comment

_st_distanceuncached

No comment

_st_dwithin

No comment

_st_dwithin

No comment

_st_dwithinuncached

No comment

_st_dwithinuncached

No comment

_st_equals

No comment

_st_expand

No comment

_st_geomfromgml

No comment

_st_intersects

No comment

_st_linecrossingdirection

No comment

_st_longestline

No comment

_st_maxdistance

No comment

_st_orderingequals

No comment

_st_overlaps

No comment

_st_pointoutside

No comment

_st_sortablehash

No comment

_st_touches

No comment

_st_voronoi

No comment

_st_within

No comment

addgeometrycolumn

No comment

addgeometrycolumn

No comment

addgeometrycolumn

No comment

box

No comment

box

No comment

box2d

No comment

box2d

No comment

box2d_in

No comment

box2d_out

No comment

box2df_in

No comment

box2df_out

No comment

box3d

No comment

box3d

No comment

box3d_in

No comment

box3d_out

No comment

box3dtobox

No comment

bytea

No comment

bytea

No comment

cache_clear_cruise

Clear cached entities associated with the given cruise.

cache_refresh_cruise_stats

Refresh the [cruise stats](#cache.cruise_stats) table.

cache_refresh_cruise_track

Stores a linestring representing the path of a platform over the course of a cruise.

cache_refresh_dive_track

Stores a linestring representing the path of a platform over the course of a dive.

cache_refresh_evt_depth

Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true truncates the table before rebuilding it.

cache_refresh_evt_measurement

Populates the cache table with measurements corresponding to each event. For events that cover a time span, the timestamp and measurement will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true

cache_refresh_evt_pos

Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. If the boolean parameter is true, the table is truncated before rebuilding.

cache_refresh_tables

Refreshes all of the cache tables: event positions, event depths, event measurements, dive tracks, transect tracks and cruise tracks.

cache_refresh_tables

Calls the cache refresh procedures stored in the [cache_table](#admin.cache_table) table. These procedures refresh or rebuild cache tables and other tables that need periodic compilation. Each procedure called by this procedure must have a boolean parameter to do with as it chooses. In most cases, the parameter clears or truncates the target table.

cache_refresh_transect_track

Stores a linestring representing the path of a platform over the course of a transect.

cash_dist

No comment

citext

No comment

citext

No comment

citext

No comment

citext_cmp

No comment

citext_eq

No comment

citext_ge

No comment

citext_gt

No comment

citext_hash

No comment

citext_hash_extended

No comment

citext_larger

No comment

citext_le

No comment

citext_lt

No comment

citext_ne

No comment

citext_pattern_cmp

No comment

citext_pattern_ge

No comment

citext_pattern_gt

No comment

citext_pattern_le

No comment

citext_pattern_lt

No comment

citext_smaller

No comment

citextin

No comment

citextout

No comment

citextrecv

No comment

citextsend

No comment

clean_event_duplicates

Deletes duplicate [events](#rov.event) over all cruises.

clean_event_duplicates

Deletes duplicate [events](#rov.event) for the given cruise by checking their time stamps, properties, [instrument configs](#rov.instrument_config) and dive IDs. Loops multiple times to capture multiple duplicates. Deletes duplicate measurements in a separate loop, looking at the type, timestamps, instrument configs and quantity.

clean_measurement_event_duplicates

Deletes duplicate [measurment events](#rov.event) for a specific [cruise](#rov.cruise).

clean_stream_duplicates

No comment

clean_uploaded_files

Removes [uploaded file](#shared.uploaded_file) instances that are not referenced by any other entity. A server-side script must run which deletes files with no corresponding uploaded file record.

compile_event_restrictions

Compiles the [event group](#rov.event_group) table which links events to the [users](#public.auth_user) whose [groups](#public.auth_group) has access to the record based on [restriction](#shared.restriction) table

connectby

No comment

connectby

No comment

connectby

No comment

connectby

No comment

contains_2d

No comment

contains_2d

No comment

contains_2d

No comment

crosstab

No comment

crosstab

No comment

crosstab

No comment

crosstab2

No comment

crosstab3

No comment

crosstab4

No comment

date_dist

No comment

dblink

No comment

dblink

No comment

dblink

No comment

dblink

No comment

dblink_build_sql_delete

No comment

dblink_build_sql_insert

No comment

dblink_build_sql_update

No comment

dblink_cancel_query

No comment

dblink_close

No comment

dblink_close

No comment

dblink_close

No comment

dblink_close

No comment

dblink_connect

No comment

dblink_connect

No comment

dblink_connect_u

No comment

dblink_connect_u

No comment

dblink_current_query

No comment

dblink_disconnect

No comment

dblink_disconnect

No comment

dblink_error_message

No comment

dblink_exec

No comment

dblink_exec

No comment

dblink_exec

No comment

dblink_exec

No comment

dblink_fdw_validator

No comment

dblink_fetch

No comment

dblink_fetch

No comment

dblink_fetch

No comment

dblink_fetch

No comment

dblink_get_connections

No comment

dblink_get_notify

No comment

dblink_get_notify

No comment

dblink_get_pkey

No comment

dblink_get_result

No comment

dblink_get_result

No comment

dblink_is_busy

No comment

dblink_open

No comment

dblink_open

No comment

dblink_open

No comment

dblink_open

No comment

dblink_send_query

No comment

dropgeometrycolumn

No comment

dropgeometrycolumn

No comment

dropgeometrycolumn

No comment

dropgeometrytable

No comment

dropgeometrytable

No comment

dropgeometrytable

No comment

equals

No comment

f_geoip_update_geoms

No comment

find_srid

No comment

fix_comment_links

No comment

float4_dist

No comment

float8_dist

No comment

gbt_bit_compress

No comment

gbt_bit_consistent

No comment

gbt_bit_penalty

No comment

gbt_bit_picksplit

No comment

gbt_bit_same

No comment

gbt_bit_union

No comment

gbt_bool_compress

No comment

gbt_bool_consistent

No comment

gbt_bool_fetch

No comment

gbt_bool_penalty

No comment

gbt_bool_picksplit

No comment

gbt_bool_same

No comment

gbt_bool_union

No comment

gbt_bpchar_compress

No comment

gbt_bpchar_consistent

No comment

gbt_bytea_compress

No comment

gbt_bytea_consistent

No comment

gbt_bytea_penalty

No comment

gbt_bytea_picksplit

No comment

gbt_bytea_same

No comment

gbt_bytea_union

No comment

gbt_cash_compress

No comment

gbt_cash_consistent

No comment

gbt_cash_distance

No comment

gbt_cash_fetch

No comment

gbt_cash_penalty

No comment

gbt_cash_picksplit

No comment

gbt_cash_same

No comment

gbt_cash_union

No comment

gbt_date_compress

No comment

gbt_date_consistent

No comment

gbt_date_distance

No comment

gbt_date_fetch

No comment

gbt_date_penalty

No comment

gbt_date_picksplit

No comment

gbt_date_same

No comment

gbt_date_union

No comment

gbt_decompress

No comment

gbt_enum_compress

No comment

gbt_enum_consistent

No comment

gbt_enum_fetch

No comment

gbt_enum_penalty

No comment

gbt_enum_picksplit

No comment

gbt_enum_same

No comment

gbt_enum_union

No comment

gbt_float4_compress

No comment

gbt_float4_consistent

No comment

gbt_float4_distance

No comment

gbt_float4_fetch

No comment

gbt_float4_penalty

No comment

gbt_float4_picksplit

No comment

gbt_float4_same

No comment

gbt_float4_union

No comment

gbt_float8_compress

No comment

gbt_float8_consistent

No comment

gbt_float8_distance

No comment

gbt_float8_fetch

No comment

gbt_float8_penalty

No comment

gbt_float8_picksplit

No comment

gbt_float8_same

No comment

gbt_float8_union

No comment

gbt_inet_compress

No comment

gbt_inet_consistent

No comment

gbt_inet_penalty

No comment

gbt_inet_picksplit

No comment

gbt_inet_same

No comment

gbt_inet_union

No comment

gbt_int2_compress

No comment

gbt_int2_consistent

No comment

gbt_int2_distance

No comment

gbt_int2_fetch

No comment

gbt_int2_penalty

No comment

gbt_int2_picksplit

No comment

gbt_int2_same

No comment

gbt_int2_union

No comment

gbt_int4_compress

No comment

gbt_int4_consistent

No comment

gbt_int4_distance

No comment

gbt_int4_fetch

No comment

gbt_int4_penalty

No comment

gbt_int4_picksplit

No comment

gbt_int4_same

No comment

gbt_int4_union

No comment

gbt_int8_compress

No comment

gbt_int8_consistent

No comment

gbt_int8_distance

No comment

gbt_int8_fetch

No comment

gbt_int8_penalty

No comment

gbt_int8_picksplit

No comment

gbt_int8_same

No comment

gbt_int8_union

No comment

gbt_intv_compress

No comment

gbt_intv_consistent

No comment

gbt_intv_decompress

No comment

gbt_intv_distance

No comment

gbt_intv_fetch

No comment

gbt_intv_penalty

No comment

gbt_intv_picksplit

No comment

gbt_intv_same

No comment

gbt_intv_union

No comment

gbt_macad8_compress

No comment

gbt_macad8_consistent

No comment

gbt_macad8_fetch

No comment

gbt_macad8_penalty

No comment

gbt_macad8_picksplit

No comment

gbt_macad8_same

No comment

gbt_macad8_union

No comment

gbt_macad_compress

No comment

gbt_macad_consistent

No comment

gbt_macad_fetch

No comment

gbt_macad_penalty

No comment

gbt_macad_picksplit

No comment

gbt_macad_same

No comment

gbt_macad_union

No comment

gbt_numeric_compress

No comment

gbt_numeric_consistent

No comment

gbt_numeric_penalty

No comment

gbt_numeric_picksplit

No comment

gbt_numeric_same

No comment

gbt_numeric_union

No comment

gbt_oid_compress

No comment

gbt_oid_consistent

No comment

gbt_oid_distance

No comment

gbt_oid_fetch

No comment

gbt_oid_penalty

No comment

gbt_oid_picksplit

No comment

gbt_oid_same

No comment

gbt_oid_union

No comment

gbt_text_compress

No comment

gbt_text_consistent

No comment

gbt_text_penalty

No comment

gbt_text_picksplit

No comment

gbt_text_same

No comment

gbt_text_union

No comment

gbt_time_compress

No comment

gbt_time_consistent

No comment

gbt_time_distance

No comment

gbt_time_fetch

No comment

gbt_time_penalty

No comment

gbt_time_picksplit

No comment

gbt_time_same

No comment

gbt_time_union

No comment

gbt_timetz_compress

No comment

gbt_timetz_consistent

No comment

gbt_ts_compress

No comment

gbt_ts_consistent

No comment

gbt_ts_distance

No comment

gbt_ts_fetch

No comment

gbt_ts_penalty

No comment

gbt_ts_picksplit

No comment

gbt_ts_same

No comment

gbt_ts_union

No comment

gbt_tstz_compress

No comment

gbt_tstz_consistent

No comment

gbt_tstz_distance

No comment

gbt_uuid_compress

No comment

gbt_uuid_consistent

No comment

gbt_uuid_fetch

No comment

gbt_uuid_penalty

No comment

gbt_uuid_picksplit

No comment

gbt_uuid_same

No comment

gbt_uuid_union

No comment

gbt_var_decompress

No comment

gbt_var_fetch

No comment

gbtreekey16_in

No comment

gbtreekey16_out

No comment

gbtreekey2_in

No comment

gbtreekey2_out

No comment

gbtreekey32_in

No comment

gbtreekey32_out

No comment

gbtreekey4_in

No comment

gbtreekey4_out

No comment

gbtreekey8_in

No comment

gbtreekey8_out

No comment

gbtreekey_var_in

No comment

gbtreekey_var_out

No comment

geog_brin_inclusion_add_value

No comment

geog_brin_inclusion_merge

No comment

geography

No comment

geography

No comment

geography

No comment

geography_analyze

No comment

geography_cmp

No comment

geography_distance_knn

No comment

geography_eq

No comment

geography_ge

No comment

geography_gist_compress

No comment

geography_gist_consistent

No comment

geography_gist_decompress

No comment

geography_gist_distance

No comment

geography_gist_penalty

No comment

geography_gist_picksplit

No comment

geography_gist_same

No comment

geography_gist_union

No comment

geography_gt

No comment

geography_in

No comment

geography_le

No comment

geography_lt

No comment

geography_out

No comment

geography_overlaps

No comment

geography_recv

No comment

geography_send

No comment

geography_spgist_choose_nd

No comment

geography_spgist_compress_nd

No comment

geography_spgist_config_nd

No comment

geography_spgist_inner_consistent_nd

No comment

geography_spgist_leaf_consistent_nd

No comment

geography_spgist_picksplit_nd

No comment

geography_typmod_in

No comment

geography_typmod_out

No comment

geom2d_brin_inclusion_add_value

No comment

geom2d_brin_inclusion_merge

No comment

geom3d_brin_inclusion_add_value

No comment

geom3d_brin_inclusion_merge

No comment

geom4d_brin_inclusion_add_value

No comment

geom4d_brin_inclusion_merge

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry

No comment

geometry_above

No comment

geometry_analyze

No comment

geometry_below

No comment

geometry_cmp

No comment

geometry_contained_3d

No comment

geometry_contains

No comment

geometry_contains_3d

No comment

geometry_contains_nd

No comment

geometry_distance_box

No comment

geometry_distance_centroid

No comment

geometry_distance_centroid_nd

No comment

geometry_distance_cpa

No comment

geometry_eq

No comment

geometry_ge

No comment

geometry_gist_compress_2d

No comment

geometry_gist_compress_nd

No comment

geometry_gist_consistent_2d

No comment

geometry_gist_consistent_nd

No comment

geometry_gist_decompress_2d

No comment

geometry_gist_decompress_nd

No comment

geometry_gist_distance_2d

No comment

geometry_gist_distance_nd

No comment

geometry_gist_penalty_2d

No comment

geometry_gist_penalty_nd

No comment

geometry_gist_picksplit_2d

No comment

geometry_gist_picksplit_nd

No comment

geometry_gist_same_2d

No comment

geometry_gist_same_nd

No comment

geometry_gist_sortsupport_2d

No comment

geometry_gist_union_2d

No comment

geometry_gist_union_nd

No comment

geometry_gt

No comment

geometry_hash

No comment

geometry_in

No comment

geometry_le

No comment

geometry_left

No comment

geometry_lt

No comment

geometry_neq

No comment

geometry_out

No comment

geometry_overabove

No comment

geometry_overbelow

No comment

geometry_overlaps

No comment

geometry_overlaps_3d

No comment

geometry_overlaps_nd

No comment

geometry_overleft

No comment

geometry_overright

No comment

geometry_recv

No comment

geometry_right

No comment

geometry_same

No comment

geometry_same_3d

No comment

geometry_same_nd

No comment

geometry_send

No comment

geometry_sortsupport

No comment

geometry_spgist_choose_2d

No comment

geometry_spgist_choose_3d

No comment

geometry_spgist_choose_nd

No comment

geometry_spgist_compress_2d

No comment

geometry_spgist_compress_3d

No comment

geometry_spgist_compress_nd

No comment

geometry_spgist_config_2d

No comment

geometry_spgist_config_3d

No comment

geometry_spgist_config_nd

No comment

geometry_spgist_inner_consistent_2d

No comment

geometry_spgist_inner_consistent_3d

No comment

geometry_spgist_inner_consistent_nd

No comment

geometry_spgist_leaf_consistent_2d

No comment

geometry_spgist_leaf_consistent_3d

No comment

geometry_spgist_leaf_consistent_nd

No comment

geometry_spgist_picksplit_2d

No comment

geometry_spgist_picksplit_3d

No comment

geometry_spgist_picksplit_nd

No comment

geometry_typmod_in

No comment

geometry_typmod_out

No comment

geometry_within

No comment

geometry_within_nd

No comment

geometrytype

No comment

geometrytype

No comment

geomfromewkb

No comment

geomfromewkt

No comment

get_proj4_from_srid

No comment

get_restricted_events

Return the [events](#rov.event) that are either unrestricted, or subject to [restrictions](#shared.restriction) for which at least one of the user's [groups](#public.auth_group) is permitted.

gidx_in

No comment

gidx_out

No comment

gin_extract_query_trgm

No comment

gin_extract_value_trgm

No comment

gin_trgm_consistent

No comment

gin_trgm_triconsistent

No comment

gserialized_gist_joinsel_2d

No comment

gserialized_gist_joinsel_nd

No comment

gserialized_gist_sel_2d

No comment

gserialized_gist_sel_nd

No comment

gtrgm_compress

No comment

gtrgm_consistent

No comment

gtrgm_decompress

No comment

gtrgm_distance

No comment

gtrgm_in

No comment

gtrgm_options

No comment

gtrgm_out

No comment

gtrgm_penalty

No comment

gtrgm_picksplit

No comment

gtrgm_same

No comment

gtrgm_union

No comment

inat_taxon_level

No comment

initial_import_groups

No comment

int2_dist

No comment

int4_dist

No comment

int8_dist

No comment

interval_dist

No comment

is_contained_2d

No comment

is_contained_2d

No comment

is_contained_2d

No comment

json

No comment

jsonb

No comment

lookup_position

No comment

max

No comment

measurement_position_maintain_dive

No comment

measurement_position_maintain_dives

No comment

min

No comment

normal_rand

No comment

oid_dist

No comment

overlaps_2d

No comment

overlaps_2d

No comment

overlaps_2d

No comment

overlaps_geog

No comment

overlaps_geog

No comment

overlaps_geog

No comment

overlaps_nd

No comment

overlaps_nd

No comment

overlaps_nd

No comment

p_measurement_position_crosstab

No comment

p_measurement_position_maintain_dive

No comment

p_measurement_position_maintain_dives

No comment

path

No comment

pgis_asflatgeobuf_finalfn

No comment

pgis_asflatgeobuf_transfn

No comment

pgis_asflatgeobuf_transfn

No comment

pgis_asflatgeobuf_transfn

No comment

pgis_asgeobuf_finalfn

No comment

pgis_asgeobuf_transfn

No comment

pgis_asgeobuf_transfn

No comment

pgis_asmvt_combinefn

No comment

pgis_asmvt_deserialfn

No comment

pgis_asmvt_finalfn

No comment

pgis_asmvt_serialfn

No comment

pgis_asmvt_transfn

No comment

pgis_asmvt_transfn

No comment

pgis_asmvt_transfn

No comment

pgis_asmvt_transfn

No comment

pgis_asmvt_transfn

No comment

pgis_geometry_accum_transfn

No comment

pgis_geometry_accum_transfn

No comment

pgis_geometry_accum_transfn

No comment

pgis_geometry_clusterintersecting_finalfn

No comment

pgis_geometry_clusterwithin_finalfn

No comment

pgis_geometry_collect_finalfn

No comment

pgis_geometry_coverageunion_finalfn

No comment

pgis_geometry_makeline_finalfn

No comment

pgis_geometry_polygonize_finalfn

No comment

pgis_geometry_union_parallel_combinefn

No comment

pgis_geometry_union_parallel_deserialfn

No comment

pgis_geometry_union_parallel_finalfn

No comment

pgis_geometry_union_parallel_serialfn

No comment

pgis_geometry_union_parallel_transfn

No comment

pgis_geometry_union_parallel_transfn

No comment

point

No comment

polygon

No comment

populate_geometry_columns

No comment

populate_geometry_columns

No comment

postgis_addbbox

No comment

postgis_cache_bbox

No comment

postgis_constraint_dims

No comment

postgis_constraint_srid

No comment

postgis_constraint_type

No comment

postgis_dropbbox

No comment

postgis_extensions_upgrade

No comment

postgis_full_version

No comment

postgis_geos_compiled_version

No comment

postgis_geos_noop

No comment

postgis_geos_version

No comment

postgis_getbbox

No comment

postgis_hasbbox

No comment

postgis_index_supportfn

No comment

postgis_lib_build_date

No comment

postgis_lib_revision

No comment

postgis_lib_version

No comment

postgis_libjson_version

No comment

postgis_liblwgeom_version

No comment

postgis_libprotobuf_version

No comment

postgis_libxml_version

No comment

postgis_noop

No comment

postgis_proj_compiled_version

No comment

postgis_proj_version

No comment

postgis_scripts_build_date

No comment

postgis_scripts_installed

No comment

postgis_scripts_released

No comment

postgis_srs

No comment

postgis_srs_all

No comment

postgis_srs_codes

No comment

postgis_srs_search

No comment

postgis_svn_version

No comment

postgis_transform_geometry

No comment

postgis_transform_pipeline_geometry

No comment

postgis_type_name

No comment

postgis_typmod_dims

No comment

postgis_typmod_srid

No comment

postgis_typmod_type

No comment

postgis_version

No comment

postgis_wagyu_version

No comment

regexp_match

No comment

regexp_match

No comment

regexp_matches

No comment

regexp_matches

No comment

regexp_replace

No comment

regexp_replace

No comment

regexp_split_to_array

No comment

regexp_split_to_array

No comment

regexp_split_to_table

No comment

regexp_split_to_table

No comment

remove_duplicates

Removes duplicated [positions](#rov.position), [measurements](#rov.measurement) and [events](#rov.event) (not observations which cannot be deduplicated deterministically).

remove_event_duplicates

No comment

replace

No comment

restriction_group_set_admin

When a [restriction](#shared.restriction) is inserted, automatically inserts a record into [restriction_group](#shared.restriction) group to give admins permission to see the restricted record. Other groups can be added manualy.

set_limit

No comment

show_limit

No comment

show_trgm

No comment

similarity

No comment

similarity_dist

No comment

similarity_op

No comment

spheroid_in

No comment

spheroid_out

No comment

split_part

No comment

st_3dclosestpoint

No comment

st_3ddfullywithin

No comment

st_3ddistance

No comment

st_3ddwithin

No comment

st_3dextent

No comment

st_3dintersects

No comment

st_3dlength

No comment

st_3dlineinterpolatepoint

No comment

st_3dlongestline

No comment

st_3dmakebox

No comment

st_3dmaxdistance

No comment

st_3dperimeter

No comment

st_3dshortestline

No comment

st_addmeasure

No comment

st_addpoint

No comment

st_addpoint

No comment

st_affine

No comment

st_affine

No comment

st_angle

No comment

st_angle

No comment

st_area

No comment

st_area

No comment

st_area

No comment

st_area2d

No comment

st_asbinary

No comment

st_asbinary

No comment

st_asbinary

No comment

st_asbinary

No comment

st_asencodedpolyline

No comment

st_asewkb

No comment

st_asewkb

No comment

st_asewkt

No comment

st_asewkt

No comment

st_asewkt

No comment

st_asewkt

No comment

st_asewkt

No comment

st_asflatgeobuf

No comment

st_asflatgeobuf

No comment

st_asflatgeobuf

No comment

st_asgeobuf

No comment

st_asgeobuf

No comment

st_asgeojson

No comment

st_asgeojson

No comment

st_asgeojson

No comment

st_asgeojson

No comment

st_asgml

No comment

st_asgml

No comment

st_asgml

No comment

st_asgml

No comment

st_asgml

No comment

st_ashexewkb

No comment

st_ashexewkb

No comment

st_askml

No comment

st_askml

No comment

st_askml

No comment

st_aslatlontext

No comment

st_asmarc21

No comment

st_asmvt

No comment

st_asmvt

No comment

st_asmvt

No comment

st_asmvt

No comment

st_asmvt

No comment

st_asmvtgeom

No comment

st_assvg

No comment

st_assvg

No comment

st_assvg

No comment

st_astext

No comment

st_astext

No comment

st_astext

No comment

st_astext

No comment

st_astext

No comment

st_astwkb

No comment

st_astwkb

No comment

st_asx3d

No comment

st_azimuth

No comment

st_azimuth

No comment

st_bdmpolyfromtext

No comment

st_bdpolyfromtext

No comment

st_boundary

No comment

st_boundingdiagonal

No comment

st_box2dfromgeohash

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buffer

No comment

st_buildarea

No comment

st_centroid

No comment

st_centroid

No comment

st_centroid

No comment

st_chaikinsmoothing

No comment

st_cleangeometry

No comment

st_clipbybox2d

No comment

st_closestpoint

No comment

st_closestpoint

No comment

st_closestpoint

No comment

st_closestpointofapproach

No comment

st_clusterdbscan

No comment

st_clusterintersecting

No comment

st_clusterintersecting

No comment

st_clusterintersectingwin

No comment

st_clusterkmeans

No comment

st_clusterwithin

No comment

st_clusterwithin

No comment

st_clusterwithinwin

No comment

st_collect

No comment

st_collect

No comment

st_collect

No comment

st_collectionextract

No comment

st_collectionextract

No comment

st_collectionhomogenize

No comment

st_combinebbox

No comment

st_combinebbox

No comment

st_combinebbox

No comment

st_concavehull

No comment

st_contains

No comment

st_containsproperly

No comment

st_convexhull

No comment

st_coorddim

No comment

st_coverageinvalidedges

No comment

st_coveragesimplify

No comment

st_coverageunion

No comment

st_coverageunion

No comment

st_coveredby

No comment

st_coveredby

No comment

st_coveredby

No comment

st_covers

No comment

st_covers

No comment

st_covers

No comment

st_cpawithin

No comment

st_crosses

No comment

st_curven

No comment

st_curvetoline

No comment

st_delaunaytriangles

No comment

st_dfullywithin

No comment

st_difference

No comment

st_dimension

No comment

st_disjoint

No comment

st_distance

No comment

st_distance

No comment

st_distance

No comment

st_distancecpa

No comment

st_distancesphere

No comment

st_distancesphere

No comment

st_distancespheroid

No comment

st_distancespheroid

No comment

st_dump

No comment

st_dumppoints

No comment

st_dumprings

No comment

st_dumpsegments

No comment

st_dwithin

No comment

st_dwithin

No comment

st_dwithin

No comment

st_endpoint

No comment

st_envelope

No comment

st_equals

No comment

st_estimatedextent

No comment

st_estimatedextent

No comment

st_estimatedextent

No comment

st_expand

No comment

st_expand

No comment

st_expand

No comment

st_expand

No comment

st_expand

No comment

st_expand

No comment

st_extent

No comment

st_exteriorring

No comment

st_filterbym

No comment

st_findextent

No comment

st_findextent

No comment

st_flipcoordinates

No comment

st_force2d

No comment

st_force3d

No comment

st_force3dm

No comment

st_force3dz

No comment

st_force4d

No comment

st_forcecollection

No comment

st_forcecurve

No comment

st_forcepolygonccw

No comment

st_forcepolygoncw

No comment

st_forcerhr

No comment

st_forcesfs

No comment

st_forcesfs

No comment

st_frechetdistance

No comment

st_fromflatgeobuf

No comment

st_fromflatgeobuftotable

No comment

st_generatepoints

No comment

st_generatepoints

No comment

st_geogfromtext

No comment

st_geogfromwkb

No comment

st_geographyfromtext

No comment

st_geohash

No comment

st_geohash

No comment

st_geomcollfromtext

No comment

st_geomcollfromtext

No comment

st_geomcollfromwkb

No comment

st_geomcollfromwkb

No comment

st_geometricmedian

No comment

st_geometryfromtext

No comment

st_geometryfromtext

No comment

st_geometryn

No comment

st_geometrytype

No comment

st_geomfromewkb

No comment

st_geomfromewkt

No comment

st_geomfromgeohash

No comment

st_geomfromgeojson

No comment

st_geomfromgeojson

No comment

st_geomfromgeojson

No comment

st_geomfromgml

No comment

st_geomfromgml

No comment

st_geomfromkml

No comment

st_geomfrommarc21

No comment

st_geomfromtext

No comment

st_geomfromtext

No comment

st_geomfromtwkb

No comment

st_geomfromwkb

No comment

st_geomfromwkb

No comment

st_gmltosql

No comment

st_gmltosql

No comment

st_hasarc

No comment

st_hasm

No comment

st_hasz

No comment

st_hausdorffdistance

No comment

st_hausdorffdistance

No comment

st_hexagon

No comment

st_hexagongrid

No comment

st_interiorringn

No comment

st_interpolatepoint

No comment

st_intersection

No comment

st_intersection

No comment

st_intersection

No comment

st_intersects

No comment

st_intersects

No comment

st_intersects

No comment

st_inversetransformpipeline

No comment

st_isclosed

No comment

st_iscollection

No comment

st_isempty

No comment

st_ispolygonccw

No comment

st_ispolygoncw

No comment

st_isring

No comment

st_issimple

No comment

st_isvalid

No comment

st_isvalid

No comment

st_isvaliddetail

No comment

st_isvalidreason

No comment

st_isvalidreason

No comment

st_isvalidtrajectory

No comment

st_largestemptycircle

No comment

st_length

No comment

st_length

No comment

st_length

No comment

st_length2d

No comment

st_length2dspheroid

No comment

st_lengthspheroid

No comment

st_letters

No comment

st_linecrossingdirection

No comment

st_lineextend

No comment

st_linefromencodedpolyline

No comment

st_linefrommultipoint

No comment

st_linefromtext

No comment

st_linefromtext

No comment

st_linefromwkb

No comment

st_linefromwkb

No comment

st_lineinterpolatepoint

No comment

st_lineinterpolatepoint

No comment

st_lineinterpolatepoint

No comment

st_lineinterpolatepoints

No comment

st_lineinterpolatepoints

No comment

st_lineinterpolatepoints

No comment

st_linelocatepoint

No comment

st_linelocatepoint

No comment

st_linelocatepoint

No comment

st_linemerge

No comment

st_linemerge

No comment

st_linestringfromwkb

No comment

st_linestringfromwkb

No comment

st_linesubstring

No comment

st_linesubstring

No comment

st_linesubstring

No comment

st_linetocurve

No comment

st_locatealong

No comment

st_locatebetween

No comment

st_locatebetweenelevations

No comment

st_longestline

No comment

st_m

No comment

st_makebox2d

No comment

st_makeenvelope

No comment

st_makeline

No comment

st_makeline

No comment

st_makeline

No comment

st_makepoint

No comment

st_makepoint

No comment

st_makepoint

No comment

st_makepointm

No comment

st_makepolygon

No comment

st_makepolygon

No comment

st_makevalid

No comment

st_makevalid

No comment

st_maxdistance

No comment

st_maximuminscribedcircle

No comment

st_memcollect

No comment

st_memsize

No comment

st_memunion

No comment

st_minimumboundingcircle

No comment

st_minimumboundingradius

No comment

st_minimumclearance

No comment

st_minimumclearanceline

No comment

st_mlinefromtext

No comment

st_mlinefromtext

No comment

st_mlinefromwkb

No comment

st_mlinefromwkb

No comment

st_mpointfromtext

No comment

st_mpointfromtext

No comment

st_mpointfromwkb

No comment

st_mpointfromwkb

No comment

st_mpolyfromtext

No comment

st_mpolyfromtext

No comment

st_mpolyfromwkb

No comment

st_mpolyfromwkb

No comment

st_multi

No comment

st_multilinefromwkb

No comment

st_multilinestringfromtext

No comment

st_multilinestringfromtext

No comment

st_multipointfromtext

No comment

st_multipointfromwkb

No comment

st_multipointfromwkb

No comment

st_multipolyfromwkb

No comment

st_multipolyfromwkb

No comment

st_multipolygonfromtext

No comment

st_multipolygonfromtext

No comment

st_ndims

No comment

st_node

No comment

st_normalize

No comment

st_npoints

No comment

st_nrings

No comment

st_numcurves

No comment

st_numgeometries

No comment

st_numinteriorring

No comment

st_numinteriorrings

No comment

st_numpatches

No comment

st_numpoints

No comment

st_offsetcurve

No comment

st_orderingequals

No comment

st_orientedenvelope

No comment

st_overlaps

No comment

st_patchn

No comment

st_perimeter

No comment

st_perimeter

No comment

st_perimeter2d

No comment

st_point

No comment

st_point

No comment

st_pointfromgeohash

No comment

st_pointfromtext

No comment

st_pointfromtext

No comment

st_pointfromwkb

No comment

st_pointfromwkb

No comment

st_pointinsidecircle

No comment

st_pointm

No comment

st_pointn

No comment

st_pointonsurface

No comment

st_points

No comment

st_pointz

No comment

st_pointzm

No comment

st_polyfromtext

No comment

st_polyfromtext

No comment

st_polyfromwkb

No comment

st_polyfromwkb

No comment

st_polygon

No comment

st_polygonfromtext

No comment

st_polygonfromtext

No comment

st_polygonfromwkb

No comment

st_polygonfromwkb

No comment

st_polygonize

No comment

st_polygonize

No comment

st_project

No comment

st_project

No comment

st_project

No comment

st_project

No comment

st_quantizecoordinates

No comment

st_reduceprecision

No comment

st_relate

No comment

st_relate

No comment

st_relate

No comment

st_relatematch

No comment

st_removeirrelevantpointsforview

No comment

st_removepoint

No comment

st_removerepeatedpoints

No comment

st_removesmallparts

No comment

st_reverse

No comment

st_rotate

No comment

st_rotate

No comment

st_rotate

No comment

st_rotatex

No comment

st_rotatey

No comment

st_rotatez

No comment

st_scale

No comment

st_scale

No comment

st_scale

No comment

st_scale

No comment

st_scroll

No comment

st_segmentize

No comment

st_segmentize

No comment

st_seteffectivearea

No comment

st_setpoint

No comment

st_setsrid

No comment

st_setsrid

No comment

st_sharedpaths

No comment

st_shiftlongitude

No comment

st_shortestline

No comment

st_shortestline

No comment

st_shortestline

No comment

st_simplify

No comment

st_simplify

No comment

st_simplifypolygonhull

No comment

st_simplifypreservetopology

No comment

st_simplifyvw

No comment

st_snap

No comment

st_snaptogrid

No comment

st_snaptogrid

No comment

st_snaptogrid

No comment

st_snaptogrid

No comment

st_split

No comment

st_square

No comment

st_squaregrid

No comment

st_srid

No comment

st_srid

No comment

st_startpoint

No comment

st_subdivide

No comment

st_summary

No comment

st_summary

No comment

st_swapordinates

No comment

st_symdifference

No comment

st_symmetricdifference

No comment

st_tileenvelope

No comment

st_touches

No comment

st_transform

No comment

st_transform

No comment

st_transform

No comment

st_transform

No comment

st_transformpipeline

No comment

st_translate

No comment

st_translate

No comment

st_transscale

No comment

st_triangulatepolygon

No comment

st_unaryunion

No comment

st_union

No comment

st_union

No comment

st_union

No comment

st_union

No comment

st_union

No comment

st_voronoilines

No comment

st_voronoipolygons

No comment

st_within

No comment

st_wkbtosql

No comment

st_wkttosql

No comment

st_wrapx

No comment

st_x

No comment

st_xmax

No comment

st_xmin

No comment

st_y

No comment

st_ymax

No comment

st_ymin

No comment

st_z

No comment

st_zmax

No comment

st_zmflag

No comment

st_zmin

No comment

strict_word_similarity

No comment

strict_word_similarity_commutator_op

No comment

strict_word_similarity_dist_commutator_op

No comment

strict_word_similarity_dist_op

No comment

strict_word_similarity_op

No comment

strpos

No comment

text

No comment

texticlike

No comment

texticlike

No comment

texticnlike

No comment

texticnlike

No comment

texticregexeq

No comment

texticregexeq

No comment

texticregexne

No comment

texticregexne

No comment

time_dist

No comment

translate

No comment

trigger_compile_event_restriction_masks

Triggers compilation of [restriction](#shared.restriction) masks on the [event](#rov.event) table when it is updated.

ts_dist

No comment

tstz_dist

No comment

update_biigle_fov

Finds status events indicating a Laser Point and computes the laser distance in pixels and field of view in centimetres using the annotation points. Creates measurement events and deletes the status events.

updated_on_column

Updates the updated_on column of a relation to the current time on update.

updategeometrysrid

No comment

updategeometrysrid

No comment

updategeometrysrid

No comment

word_similarity

No comment

word_similarity_commutator_op

No comment

word_similarity_dist_commutator_op

No comment

word_similarity_dist_op

No comment

word_similarity_op

No comment

Procedures

_copy_habitat_events

No comment

_copy_status_events

No comment

cache_clear_cruise

Clear cached entities associated with the given cruise.

cache_refresh_cruise_stats

Refresh the [cruise stats](#cache.cruise_stats) table.

cache_refresh_cruise_track

Stores a linestring representing the path of a platform over the course of a cruise.

cache_refresh_dive_track

Stores a linestring representing the path of a platform over the course of a dive.

cache_refresh_evt_depth

Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true truncates the table before rebuilding it.

cache_refresh_evt_measurement

Populates the cache table with measurements corresponding to each event. For events that cover a time span, the timestamp and measurement will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true

cache_refresh_evt_pos

Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. If the boolean parameter is true, the table is truncated before rebuilding.

cache_refresh_tables

Calls the cache refresh procedures stored in the [cache_table](#admin.cache_table) table. These procedures refresh or rebuild cache tables and other tables that need periodic compilation. Each procedure called by this procedure must have a boolean parameter to do with as it chooses. In most cases, the parameter clears or truncates the target table.

cache_refresh_tables

Refreshes all of the cache tables: event positions, event depths, event measurements, dive tracks, transect tracks and cruise tracks.

cache_refresh_transect_track

Stores a linestring representing the path of a platform over the course of a transect.

clean_event_duplicates

Deletes duplicate [events](#rov.event) over all cruises.

clean_event_duplicates

Deletes duplicate [events](#rov.event) for the given cruise by checking their time stamps, properties, [instrument configs](#rov.instrument_config) and dive IDs. Loops multiple times to capture multiple duplicates. Deletes duplicate measurements in a separate loop, looking at the type, timestamps, instrument configs and quantity.

clean_measurement_event_duplicates

Deletes duplicate [measurment events](#rov.event) for a specific [cruise](#rov.cruise).

clean_stream_duplicates

No comment

clean_uploaded_files

Removes [uploaded file](#shared.uploaded_file) instances that are not referenced by any other entity. A server-side script must run which deletes files with no corresponding uploaded file record.

compile_event_restrictions

Compiles the [event group](#rov.event_group) table which links events to the [users](#public.auth_user) whose [groups](#public.auth_group) has access to the record based on [restriction](#shared.restriction) table

fix_comment_links

No comment

initial_import_groups

No comment

measurement_position_maintain_dive

No comment

measurement_position_maintain_dives

No comment

p_measurement_position_crosstab

No comment

p_measurement_position_maintain_dive

No comment

p_measurement_position_maintain_dives

No comment

remove_duplicates

Removes duplicated [positions](#rov.position), [measurements](#rov.measurement) and [events](#rov.event) (not observations which cannot be deduplicated deterministically).

remove_event_duplicates

No comment

update_biigle_fov

Finds status events indicating a Laser Point and computes the laser distance in pixels and field of view in centimetres using the annotation points. Creates measurement events and deletes the status events.

Schema: rov

Tables

abundance

Stores a list of abundance labels from the ACFOR scale.

Columns
  • idNo comment
  • name — A descriptive label for the abundance level.
  • rank — A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
  • source — A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
  • note — An optional note about the abundance level.
  • short_code — Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
annotation_job

Stores information about the annotation projects that generate information from photo and video media.

Columns
  • idNo comment
  • name — A name for the annotation project.
  • objective — A statement of the objectives of the annotation project.
  • note — Operational notes about the annotation project.
  • start_date — The starting date of the project.
  • end_date — The ending date of the project.
  • created_on — The date of creation of the entity.
  • updated_on — The date of last modification of the entity.
annotation_job_annotation_protocol

Associates the annotation job with one or more [annotation protocols](#rov.annotation_protocol), which are used to direct annotation activities.

Columns
  • idNo comment
  • annotation_job_id — The ID of the [annotation job](#rov.annotation_job).
  • annotation_protocol_id — The ID of the [annotation protocol](#rov.annotation_protocol).
annotation_job_crew

Associates crew members with an [annotation job](#rov.annotation_job) with their respective [roles](#rov.annotation_job_role).

Columns
  • idNo comment
  • annotation_job_id — The ID of the [annotation job](#rov.annotation_job).
  • person_id — The ID of the [crew member](#shared.person).
  • role_id — The ID of the [role](#rov.annotation_job_role).
annotation_job_role

Stores the possible roles one can perform on an [annotation job](#rov.annotation_job).

Columns
  • idNo comment
  • name — The name of the role.
  • note — A descript of the role.
annotation_protocol

A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.

Columns
  • idNo comment
  • medium_type_id — The type of media used for annotation. Looked up in [media type](#rov.medium_type) table.
  • annotation_software_id — Software used to annotate the video or images. Looked up in the [annotation software](#rov.annotation_software) table.
  • name — The name of the annotation protocol. Should be unique.
  • is_template — If this is meant to be a template that is copied for use, mark this column `true`.
  • image_interval — The interval between images or frame grabs. Typically 3 to 10 seconds.
  • image_overlap — Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
  • habitat_only — Set to true if only habitat variables were recorded.
  • species_guide — A URL to the iNaturalist species guide that was used for annotation.
  • note — If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • creator_id — Records the identity of the person who created this protocol.
  • invertebrate_species — Whether all invertebrate species are identified: "all", "subset" or "none".
  • fish_species — Whether all fish species are identified: "all", "subset" or "none".
  • algae_species — Whether all algae species are identified: "all", "subset" or "none".
  • biogenic_habitat — True if any habitat categories include fauna (e.g., sponge reefs).
  • protocol_document — Link, title, DOI, etc. of a document describing the protocol in full.
  • observation_interval — The time interval between species or anthropogenic observations.
  • habitat_interval — The time interval between habitat observations.
  • fov_interval — The time interval between field-of-view measurements.
  • image_interval_unit — A unit for the image interval, such as 's' for seconds or 'm' for metres.
  • observation_interval_unit — A unit for the observation interval, such as 's' for seconds or 'm' for metres.
  • habitat_interval_unit — A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
  • fov_interval_unit — A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
annotation_protocol_document

Contains documents related to an [annotation protocol](#rov.annotation_protocol). These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.

Columns
  • idNo comment
  • annotation_protocol_id — A reference to the [annotation protocol](#rov.annotation_protocol).
  • note — An optional note about the document.
  • title — The title of the document.
  • url — An optional URL for the document. If file data are not given, this field is required.
  • created_on — The time of creation of the record.
  • updated_on — The time of update of the record.
  • file_id — A reference to the [uploaded file](#shared.uploaded_file).
annotation_software

The software used for annotation.

Columns
  • idNo comment
  • name — The name of the annotation software.
  • note — An optional note about the annotation software.
biigle_label_map

Contains mappings from Biigle labels to properties that apply to events.

Columns
  • idNo comment
  • label_tree_id — The ID of the Biigle label tree.
  • label_id — The ID of the Biigle label.
  • label_hierarchy — The full hierarchical text of the Biigle label.
  • label_text — The text of the final element of the label.
  • properties — Stores the properties of the observation.
  • note — A textual note or comment.
  • created_on — The time of creation of the record.
  • updated_on — Time of last update of the record.
biigle_label_map_restriction

Links a [Biigle label map](#rov.biigle_label_map) to a [restriction][#shared.restriction].

Columns
  • idNo comment
  • restriction_id — A link to the [restriction](#shared.restriction).
  • biigle_label_map_id — A link to the [label map](#rov.biigle_label_map).
biocover

A lookup table listing the available biocover types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the [taxon](#taxonomy.taxon) table.

Columns
  • idNo comment
  • name — The name of the biocover.
  • note — An optional description of the biocover.
  • short_code — Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
complexity

A lookup table listing the available habitat complexity types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Columns
  • idNo comment
  • name — The name of the complexity type.
  • note — An optional description of the complexity type.
  • short_code — Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
coverage

A lookup table listing the percentage of coverage for the [habitat_event](#rov.event) table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.

Columns
  • idNo comment
  • name — A characterization of percent coverage. Presented as a range of percentages.
  • minimum — The minimum value in the range.
  • maximum — The minimum value in the range.
  • note — An optional note about the coverage percentage.
  • short_code — Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
cruise

Cruise legs occur within a [cruise](#rov.cruise) and are assigned specific [crews](#rov.cruise_crew), [scientific programs](#rov.program), etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a [scientific program](#rov.program) or a [cruise](#rov.cruise) because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.

Columns
  • idNo comment
  • name — A name for this leg of the cruise.
  • objective — A statement of the operational or scientific objectives of the cruise.
  • start_time — The start time of the leg.
  • end_time — The end time of the leg.
  • planned_track — A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
  • note — Notes about the cruise.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • leg — Cruise legs are numbered from 1.
  • summary — A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
  • approved — If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
  • ship_id — The ID of the [ship](#rov.platform) used on this cruise.
  • admin_note — Notes by the database administrator about this entity.
  • mark_for_delete — Marks the entity for asynchronous deletion by the runner.
cruise_crew

Associates [crew members](#shared.person) with a [cruise leg](#rov.cruise) and their [roles](#rov.cruise_role). A crew member can have multiple roles. Note: these roles are distinct from members of [programs](#rov.program), such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.

Columns
  • idNo comment
  • cruise_id — Reference to the [cruise leg](#rov.cruise) to which the member is assigned.
  • person_id — Reference to the [person](#shared.person) on the crew.
  • cruise_role_id — Reference to the [cruise role](#rov.cruise_role).
  • note — An optional note about the crew member.
cruise_document

Stores information about documents related to a [cruise](#rov.cruise).

Columns
  • idNo comment
  • cruise_id — The ID of the [cruise](#rov.cruise).
  • note — A note about the document.
  • title — The title of the document.
  • url — A URL for the online copy of the document. May be used when no file is available.
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
  • file_idNo comment
cruise_fn_contact

A table for associating First Nations contacts with a cruise.

Columns
  • idNo comment
  • cruise_id — A reference to the [cruise](#rov.cruise).
  • contact_name — The full name of the contact.
  • email — The email address of the contact.
  • phone — The phone number of the contact.
  • nation — The name of the nation or group represented by the contact.
  • note — A note about the contact.
cruise_import

Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.

Columns
  • idNo comment
  • name — A unique name for the import job.
  • data — A JSON document containing the cruise import data.
  • status — A status message about processing.
  • logs — A JSON array containing the complete processing log.
  • created_onNo comment
  • updated_onNo comment
  • versionNo comment
  • task_id — Stores the task ID for the asychrnonous task (i.e., a Celery task) used to process the import.
cruise_program

A table to link [programs](#rov.program) and [cruises](#rov.cruise). A cruise can be under the auspices of more than one program or none.

Columns
  • idNo comment
  • cruise_id — The ID of a [cruise](#rov.cruise).
  • program_id — The ID of a [program](#rov.program).
cruise_role

A lookup table of roles available to members of [cruise leg crews](#rov.cruise_crew).

Columns
  • idNo comment
  • name — The name of the role.
  • note — An optional note about the role and its responsibilities.
  • short_code — A short string used to identify the role.
disturbance

Provides a nominal level of disturbance for [habitat events](#rov.event).

Columns
  • idNo comment
  • name — The textual representation of the disturbance level.
  • note — A note about the disturbance level.
  • short_code — Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
dive

A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a [crew](#rov.dive_crew) and possibly a name. [Transects](#rov.transect) occur during dives.

Columns
  • idNo comment
  • cruise_id — A reference to the [cruise leg](#rov.cruise) during which the dive was performed.
  • name — A name for the dive.
  • objective — A statement of the practical or research objectives for this dive.
  • start_time — The start of the dive. Not necessarily the time the vehicle is placed in the water.
  • end_time — The end of the dive.
  • note — An optional note about the dive.
  • attributes — A JSON column used for recording structured attributes that do not fit with the regular table structure.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • summary — A summary of the [dive](#rov.dive); whether objectives were met, problems encountered, etc.
  • sub_config_id — A reference to the [platform config](#rov.platform_config) for the submersible or ROV.
  • ship_config_id — A reference to the [platform config](#rov.platform_config) for the ship.
  • admin_noteNo comment
  • seatube_id — The ID of a dive on SeaTube corresponding to this dive.
  • mark_for_delete — Marks the entity for asynchronous deletion by the runner.
  • site — An optional name for the site.
dive_crew

Assigns roles to dive crew members. Crew members are selected from the [person](#shared.person).

Columns
  • idNo comment
  • dive_id — The [dive](#rov.dive) to which the crew member is assigned.
  • person_id — A reference to the [person](#shared.person).
  • dive_role_id — A reference to the [dive role](#rov.dive_role).
  • note — An optional note about the crew member.
dive_role

A list of roles available to crew members on a [dive](#rov.dive) via the [dive_crew](#rov.dive_crew) table.

Columns
  • idNo comment
  • name — The name of the role.
  • note — An optional description of the role.
  • short_code — A short string used to identify the role.
equipment_type

This is a lookup table to provide the names of types of equipment for the [model](#rov.model) table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.

Columns
  • idNo comment
  • name — A name for the equipment type.
  • note — An optional note about the equipment type.
  • category — An enumeration column identifying the equipment as platform, instrument or some other type.
event

The event table, a schemaless table storing all recorded observations and statuses during operations.

Columns
  • idNo comment
  • dive_id — A reference to the dive during which this event occurred.
  • annotation_job_idNo comment
  • instrument_config_idNo comment
  • start_time — The start time of the event.
  • end_time — The end time of the event. Null, if the event is discrete.
  • properties — A JSON object containing name-value pairs describing the event.
  • note — An optional note about the event. Do not use to store event data.
  • created_on — The time of creation of the event.
  • updated_on — The time of update of the event. Automatically updated by a trigger.
  • hidden — If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
  • import_group_id — A reference to the [import group](#rov.import_group), which tracks events which were imported at the same time, from the same file.
event_group

Links the [event](#rov.event) table to the [group](#public.auth_group) table to facilitate the [restriction](#shared.restriction) mechanism.

Columns
  • event_id — Links to the [event](#rov.event) table.
  • group_id — Links to the [group](#public.auth_group) table.
event_logger

This table tracks the [people](#shared.person) who contributed to annotation, which may be composed of a number of separate labels.

Columns
  • idNo comment
  • person_id — A [person](#shared.person) who contributed to the annotation.
  • event_id — The [event](#rov.event) that was created from the annotation(s).
flow

Stores categories of current flow for [habitat](#rov.event).

Columns
  • idNo comment
  • name — A note about the flow category.
  • noteNo comment
  • short_code — A short code for the flow category.
generic_label_map

A table for storing mappings from annotation labels to property sets.

Columns
  • idNo comment
  • label_text — The text of the label.
  • properties — A dictionary of mapped properties.
  • note — A note about the mapping.
  • created_on — The date of creation.
  • updated_on — The date of last update.
generic_label_map_restriction

Links a [generic label mapping](#rov.generic_label_map) to a [restriction](#shared.restriction).

Columns
  • idNo comment
  • restriction_id — A reference to a [restriction](#shared.restriction).
  • generic_label_map_id — A reference to a [generic label mapping](#rov.generic_label_map).
image_quality

Nominal image quality levels, originally used by VideoMiner but applicable to new records.

Columns
  • idNo comment
  • name — A name for the quality level.
  • rank — An ordinal rank (zero is high) for the quality level.
  • note — An optional note.
  • short_code — Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
import_group

Stores information about a group of [measurements](#rov.measurement), [positions](#rov.position) or [events](#rov.event) so they can be distinguished by when or from what file they were imported. This provides the ability to delete a single stream of data at a finer resolution that just the [instrument config](#rov.instrument_config), [platform config](#rov.platform_config), [dive](#rov.dive), etc. The initial entries in the table are created retroactively, and contain undifferentiated records based on the instrument config and measurement type (measurements); the instrument config (positions) or the dive and instrument config (events).

Columns
  • idNo comment
  • name — A name for the import or the name of the file from which the data were imported.
  • noteNo comment
  • created_on — The date and time that the import was initiated.
  • source_fileNo comment
import_queue_annotator

Stores the import packages created by annotators. Some fields are transferred to the [annotation job](#rov.annotation_job) to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.

Columns
  • idNo comment
  • user_id — A reference to the [MSEA user](#shared.mseauser) that created the record.
  • note — An optional note about the import package.
  • created_on — The date of creation of the record.
  • updated_on — The date of update of the record.
  • name — A unique name for the import queue record.
  • status — A short description of the processing status of the job.
  • cruise_name — The name of the [cruise](#rov.cruise) to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
  • data — Stores the JSON representation of the import job.
  • hiddenNo comment
  • objectiveNo comment
  • start_dateNo comment
  • end_dateNo comment
import_queue_annotator_label_map_prefill

A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.

Columns
  • idNo comment
  • tags — The list of tags.
  • properties — The the tag data.
  • created_on — The date and time of creation of the entity.
  • updated_on — The date and time of the entity's last update.
  • name — The text of the label.
  • label_tree_name — The label tree name. If given identifies the label uniquely with the tree name.
  • event_typeNo comment
import_queue_pi

Stores the import packages created by principal investigators.

Columns
  • idNo comment
  • user_id — A reference to the [MSEA user](#shared.mseauser) that created the record.
  • name — A name of the import job
  • note — An optional note about the import package.
  • status — A short description of the processing status of the job.
  • created_on — The date of creation of the record.
  • updated_on — The date of update of the record.
  • cruise_id — A reference to the [cruise](#rov.cruise).
  • hiddenNo comment
instrument

This table represents instruments, which are concrete instances of the types represented in the [model](#rov.model) table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a [platform](#rov.platform).

Columns
  • idNo comment
  • model_id — A reference to the instrument [model](#rov.model).
  • serial_number — The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
  • retired — If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
  • attributes — A freeform list of attributes for this instrument.
  • note — An optional note about this instrument.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • organisation_id — A reference to the organisation that owns and operates the instrument.
  • name — A name for the instrument to distinguish it from others of the same model.
instrument_config

This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.

Columns
  • idNo comment
  • configuration — Configuration information about the instrument config.
  • note — An optional note about this configuration.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • platform_config_id — The ID of the [platform](#rov.platform) upon which the instrument is used.
  • instrument_id — Reference to the [instrument](#rov.instrument) targeted by the configuration.
  • mark_for_delete — Marks the entity for asynchronous deletion by the runner.
measurement

This table preserves time-stamped measurements generated by [instruments](#rov.instrument_config). Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.

Columns
  • idNo comment
  • measurement_type_id — A reference to the [type](#rov.measurement_type) of this measurement.
  • timestamp — The time that the measurement was recorded.
  • quantity — The scalar quantity or magnitude of the measurement.
  • signal_quality — A quality of the measurement as reported by the instrument. TODO: Requires clarification.
  • is_modelled — A flag to indicate whether the value is derived from measurements by some modelling process.
  • instrument_config_id — The [configured instrument](#rov.instrument_config) used to generate this item.
  • import_group_id — A reference to the [import group](#rov.import_group), which tracks measurements which were imported at the same time, from the same file.
measurement_type

This is a lookup table of types of measurement types for the [measurement](#rov.measurement) table. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.

Columns
  • idNo comment
  • name — The type of measurement. E.g., "Density" or "Salinity."
  • unit — The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
  • minimum — An optional lower bound on the value of the measurement. Null implies no limit.
  • maximum — An optional upper bound on the value of the measurement. Null implies no limit.
  • note — An optional note about this measurement type.
  • short_code — Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
medium_format

A lookup table for data formats. This will include things like video, photo and acoustic. Medium formats can be discriminated as granularly as desired: as video/photo/acoustic/etc. or by format (JPG, MP4, AAC) and possibly more specific encoding parameters.

Columns
  • idNo comment
  • medium_type_id — A reference to the [medium type](#rov.medium_type) (e.g., video or photo).
  • name — The name of the format.
  • extensions — A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
  • note — An optional note about the format.
  • short_code — Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
medium_type

A simple lookup to provide media types to the [annotation_protocol](#rov.annotation_protocol) table. These are not specific media formats (as stored in [medium_format](#rov.medium_format)), but provided a higher-level distinction.

Columns
  • idNo comment
  • name — The name of the media type.
  • note — An optional note about the media type.
  • short_code — Provides a short code for looking up the entity.
model

This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the [instrument](#rov.instrument) table. The model table stores both [instruments](#rov.instrument) and [platforms](#rov.platform).

Columns
  • idNo comment
  • brand_name — The brand name.
  • model_name — The model name.
  • attributes — A free-form JSON field for attributes of this model.
  • note — An optional note about the model.
  • equipment_type_id — A reference to the [equipment type](#rov.equipment_type).
observation_confidence

Provides a nominal observation confidence level for [observation events](#rov.event).

Columns
  • idNo comment
  • name — The textual representation of the confidence level.
  • rank — This field is a way of ranking confidence levels so that an ordering can be established.
  • note — A note about the confidence level.
  • short_code — Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.
orientation

This table preserves time-stamped orientation measurements from [instruments](#rov.instrument_config). These are interpreted according to a [specified type](#rov.orientation_type). Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.

Columns
  • idNo comment
  • orientation_type_id — A reference to the [orientation type](#rov.orientation_type) of this orientation.
  • timestamp — The time the position was recorded.
  • orientation — The orientation vector.
  • signal_quality — The signal quality of the position as reported by the instrument. TODO: Requires clarification.
  • is_modelled — A flag to indicate whether the value is derived from measurements by some modelling process.
  • instrument_config_id — The [configured instrument](#rov.instrument_config) used to generate this item.
orientation_type

These entities describe the interpretation of the orientation vector in the [instrument_config](#rov.instrument_config) and [orientation](#rov.orientation) tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.

Columns
  • idNo comment
  • name — The name of the orientation type (e.g., "Quaternion").
  • unit — The units used to interpret the elements of the vector.
  • note — An optional note about the orientation type.
  • short_code — Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
platform

This table maintains the inventory of vehicles, that is, ships and ROVs.

Columns
  • idNo comment
  • model_id — A reference to the [model](#rov.model) of the platform.
  • name — The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
  • serial_number — The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
  • retired — If the platform is retired, this records the date. If null, the platform is assumed to be active.
  • attributes — A freeform list of attributes for this platform.
  • note — An optional note about this platform.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • short_code — Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
  • organisation_id — A reference to the organisation that owns and operates the platform.
platform_config

This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the [platform](#rov.platform) table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.

Columns
  • idNo comment
  • platform_id — A reference to the [platform](#rov.platform).
  • configuration — The configuration data as a JSON object.
  • note — An optional note about the configuration record.
  • created_on — The date of creation of this record.
  • updated_on — The date of update of this record.
  • mark_for_delete — Marks the entity for asynchronous deletion by the runner.
position

This table preserves time-stamped position measurements from [instruments](#rov.instrument_config). These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a [specified unit](#rov.position_type). Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?

Columns
  • idNo comment
  • position_type_id — A reference to the [position type](#rov.position_type) of this position.
  • timestamp — The time the position was recorded.
  • signal_quality — The signal quality of the position as reported by the instrument. TODO: Requires clarification.
  • geom — The point geometry.
  • is_modelled — A flag to indicate whether the value is derived from measurements by some modelling process.
  • instrument_config_id — The [configured instrument](#rov.instrument_config) used to generate this item.
  • import_group_id — A reference to the [import group](#rov.import_group), which tracks positions which were imported at the same time, from the same file.
position_type

Describes the interpretation of a coordinate vector in the [position](#rov.position) table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.

Columns
  • idNo comment
  • name — The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
  • unit — The unit. Linear or angular. E.g., "m" or "radians."
  • note — An optional note about this position type.
  • short_code — Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
program

This is a listing of scientific or other programs that can be associated with [cruises](#rov.cruise).

Columns
  • idNo comment
  • name — The name of the program.
  • objective — The objective or mandate of the program.
  • start_date — The starting date of the program.
  • end_date — The optional end date of the program.
  • note — An optional note about the program.
  • created_on — The date of creation of this item.
  • updated_on — The date of update of this record.
  • summary — A summary of the [program](#rov.program); whether objectives were met, problems encountered, etc.
program_member

Assigns [user](#shared.person) [roles](#rov.program_role) to a [program](#rov.program).

Columns
  • idNo comment
  • program_id — The reference to the [program](#rov.program).
  • person_id — A reference to the [person](#shared.person).
  • role_id — A reference to the [program role](#rov.program_role).
program_role

Represents the roles a [person](#shared.person) might perform in respect to a [program](#rov.program). A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.

Columns
  • idNo comment
  • name — The name of the role. E.g., "Chief Scientist."
  • note — An optional note about the role.
protocol

This table stores "(survey) protocol" entries from the source data. TODO: Used by [events](#rov.event) though it's not yet clear if it should stay this way.

Columns
  • idNo comment
  • name — A name for the survey protocol.
  • note — An optional note about the protocol.
  • short_code — Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
relief

Provides a nominal level of terrain relief for [habitat events](#rov.event).

Columns
  • idNo comment
  • name — The textual representation of the relief level.
  • note — A note about the relief level.
  • short_code — Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
signup_area

Stores the region within which sign-ups are permitted, generally North America.

Columns
  • idNo comment
  • name — The name of the sign-up region.
  • geom — The geometry of the sign-up region.
status_type

This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the [status_type_detail](#rov.status_type_detail) table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.

Columns
  • idNo comment
  • name — The name of the status event.
  • note — An optional description of the status type.
  • short_code — A short code for referencing the status type in import documents.
status_type_detail

This table associates a [status type](#rov.status_type) with a [status event](#rov.event). The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The [status type](#rov.status_type) value is the discriminator for the event, but the detail adds context the doesn't interfere with it.

Columns
  • idNo comment
  • status_type_id — A reference to the [status type](#rov.status_type).
  • name — The status type detail. This field distinguishes different uses for [status types](#rov.status_type). For example, there can be more than one reason to record an "Off Transect" event.
  • note — Optional extended description of detail.
  • short_code — Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
substrate

A lookup table listing the available substrate types for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Columns
  • idNo comment
  • name — The name of the substrate.
  • note — An optional description of the substrate.
  • short_code — Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
survey_mode

This table stores "survey mode" entries from the source data. TODO: Used by [events](#rov.event) though it's not yet clear if it should stay this way.

Columns
  • idNo comment
  • name — The name of the survey mode.
  • note — An optional note about the survey mode.
  • short_code — Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
thickness

A lookup table listing the available substrate thicknesses for the [habitat_event](#rov.event) table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Columns
  • idNo comment
  • name — A characterization of biocover thickness.
  • minimum — The minimum value in the range.
  • maximum — The maximum value in the range.
  • note — An optional note about the biocover thickness.
  • short_code — Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
transect

A transect is a section of a [dive](#rov.dive) during which interesting data are collected. Every transect is associated with a [dive](#rov.dive).

Columns
  • idNo comment
  • dive_id — A reference to the [dive](#rov.dive) during which this transect occurred.
  • name — The name of the transect.
  • objective — A statement of the practical or research objectives for this true.
  • start_time — The start time of the transect.
  • end_time — The end time of the transect.
  • note — An optional note about the transect.
  • attributes — A JSON column used for recording structured attributes that do not fit with the regular table structure.
  • summary — A summary of the [transect](#rov.transect); whether objectives were met, problems encountered, etc.
  • admin_noteNo comment
weather_observation

Surface weather observations can be recorded by any [crew member](#rov.cruise_crew) aboard a ship during a [cruise leg](#rov.cruise).

Columns
  • idNo comment
  • cruise_crew_id — A reference to the [cruise leg crew](#rov.cruise_crew) member who is making the report.
  • temperature — The air temperature.
  • pressure — The air pressure.
  • wind_speed — The wind speed.
  • wind_direction — The wind direction.
  • swell — Description of swell.
  • time — An optional note about the weather.
  • note — An optional note about the observation
  • cruise_id — A link to the [cruise](#rov.cruise) during which this record was recorded.

Indexes

abundance_name_key

No comment

abundance_pkey

No comment

annotation_job_annotation_protocol_pkey

No comment

annotation_job_annotation_protocol_unique

No comment

annotation_job_annotation_protocol_unique_idx

No comment

annotation_job_crew_annotation_job_id_person_id_role_id_key

No comment

annotation_job_crew_pkey

No comment

annotation_job_pkey

No comment

annotation_job_role_pkey

No comment

annotation_protocol_document_pkey

No comment

annotation_protocol_name_idx

No comment

annotation_protocol_name_key

No comment

annotation_protocol_pkey

No comment

annotation_software_name_key

No comment

annotation_software_pkey

No comment

biigle_label_map_label_id_unique

No comment

biigle_label_map_pkey

No comment

biigle_label_map_restriction_pkey

No comment

biocover_name_key

No comment

biocover_pkey

No comment

complexity_name_key

No comment

complexity_pkey

No comment

cov_unique_range

No comment

coverage_name_key

No comment

coverage_pkey

No comment

cruise_crew_pkey

No comment

cruise_crew_unique_idx

No comment

cruise_document_pkey

No comment

cruise_end_time_idx

No comment

cruise_fn_contact_pkey

No comment

cruise_import_pkey

No comment

cruise_leg_idx

No comment

cruise_leg_unique_idx

No comment

cruise_name_idx

No comment

cruise_pkey

No comment

cruise_program_pkey

No comment

cruise_program_unique

No comment

cruise_role_name_key

No comment

cruise_role_pkey

No comment

cruise_start_time_idx

No comment

d_unique_cruiseleg_name

No comment

disturbance_name_key

No comment

disturbance_pkey

No comment

dive_crew_pkey

No comment

dive_crew_unique_idx

No comment

dive_cruise_id_idx

No comment

dive_end_time_idx

No comment

dive_name_idx

No comment

dive_pkey

No comment

dive_role_name_key

No comment

dive_role_pkey

No comment

dive_ship_config_id_idx

No comment

dive_start_time_idx

No comment

dive_sub_config_id_idx

No comment

equipment_type_name_key

No comment

equipment_type_pkey

No comment

event_biotope_idx

No comment

event_cf_idx

No comment

event_comment_idx

No comment

event_comname_idx

No comment

event_desc_idx

No comment

event_dive_id_idx

No comment

event_end_time_gist_idx

No comment

event_group_event_id_group_id_key

No comment

event_group_event_id_idx

No comment

event_group_group_id_idx

No comment

event_import_group_id_idx

No comment

event_instrument_config_id_idx

No comment

event_logger_person_id_event_id_key

No comment

event_logger_pkey

No comment

event_logger_unique

No comment

event_ls_idx

No comment

event_morpho_idx

No comment

event_ol_idx

No comment

event_on_idx

No comment

event_otu_idx

No comment

event_pkey1

No comment

event_props_idx

No comment

event_sciname_idx

No comment

event_sp_idx

No comment

event_spp_idx

No comment

event_start_time_gist_idx

No comment

event_tags_idx

No comment

event_times_idx

Lookup index for cache procedure.

flow_pkey

No comment

generic_label_map_label_text

No comment

generic_label_map_label_text_unique

No comment

generic_label_map_pkey

No comment

generic_label_map_restriction_pkey

No comment

image_quality_pkey

No comment

import_group_name_unique

No comment

import_group_pkey

No comment

import_queue_annotation_name_key

No comment

import_queue_annotation_pkey

No comment

import_queue_annotator_label_map_prefill_pkey

No comment

import_queue_annotator_label_map_prefill_tree_name_unique

No comment

import_queue_pi_pkey

No comment

inst_unique_model_serial_number

No comment

instrument_config_pkey

No comment

instrument_config_platform_config_id

No comment

instrument_pkey

No comment

iqpi_unique

No comment

measurement_import_group_id_idx

No comment

measurement_inst_meas_time_idx

Lookup index for cache procedure.

measurement_instrument_config_id_idx

No comment

measurement_lookup_idx

Lookup index for cache procedure.

measurement_measurement_type_id_idx

No comment

measurement_pkey

No comment

measurement_timestamp_gist_idx

No comment

measurement_timestamp_idx

No comment

measurement_type_name_id

No comment

measurement_type_pkey

No comment

medium_format_name_key

No comment

medium_format_pkey

No comment

medium_type_name_key

No comment

medium_type_pkey

No comment

model_pkey

No comment

mt_unique_name_unit

No comment

observation_confidence_name_key

No comment

observation_confidence_pkey

No comment

orientation_instrument_config_id_idx

No comment

orientation_orientation_type_id_idx

No comment

orientation_pkey

No comment

orientation_timestamp_idx

No comment

orientation_type_pkey

No comment

ot_unique_name_unit

No comment

plat_model_serial_number

No comment

platform_config_pkey

No comment

platform_config_platform_id_idx

No comment

platform_pkey

No comment

position_geom_geography_idx

No comment

position_import_group_id_idx

No comment

position_instrument_config_id_idx

No comment

position_lookup_idx

Lookup index for cache procedure.

position_pkey

No comment

position_timestamp_gist_idx

No comment

position_timestamp_idx

No comment

position_type_pkey

No comment

program_end_date_idx

No comment

program_member_pkey

No comment

program_name_idx

No comment

program_name_key

No comment

program_pkey

No comment

program_role_name_key

No comment

program_role_pkey

No comment

program_start_date_idx

No comment

protocol_pkey

No comment

pt_unique_name_unit

No comment

relief_name_key

No comment

relief_pkey

No comment

rov_annotation_job_unique_name

No comment

rov_event_import_group_idx

No comment

rov_instrument_config_platform_config_instrument_unique

No comment

rov_measurement_import_group_idx

No comment

rov_position_import_group_idx

No comment

signup_area_idx

No comment

signup_area_name_key

No comment

signup_area_pkey

No comment

st_unique_type_detail

No comment

status_type_detail_pkey

No comment

status_type_pkey

No comment

substrate_name_key

No comment

substrate_pkey

No comment

survey_mode_pkey

No comment

thickness_name_key

No comment

thickness_pkey

No comment

tr_unique_dive_name

No comment

transect_end_time_idx

No comment

transect_name_idx

No comment

transect_pkey

No comment

transect_start_time_idx

No comment

unique_biigle_label_map_restriction

No comment

unique_brand_model

No comment

weather_observation_pkey

No comment

Schema: shared

Tables

db_version

Stores the current database version so that upgrade scripts can perform migrations appropriately.

Columns
  • idNo comment
  • version_major — The major version.
  • version_minor — The minor version number.
  • updated_on — The time the upgrade was performed.
  • revision — The revision number.
file

Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.

Columns
  • idNo comment
  • file_type_id — An optional reference to the [file type](#shared.file_type).
  • name — The name for the file.
  • description — An optional description for the file.
  • metadata — A JSON dictionary containing metadata relating to the file.
  • path — A path of the file, relative to the root directory where files are stored.
  • created_on — The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
  • updated_on — The update time of the file record, not necessarily the file itself (this should be stored in metadata).
  • hash — And MD5 hash of the file data. Used to compare files and search for identical versions.
  • blob_url — A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
file_type

A list of file types.

Columns
  • idNo comment
  • name — The name of the file type.
  • short_code — A short code for referencing the file type in import documents.
mseauser

Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.

Columns
  • idNo comment
  • user_id — A reference to the [Django user](#public.auth_user).
  • biigle_username — The Biigle username.
  • biigle_api_key — The Biigle API key.
  • pg_role — The name of the PostgreSQL role that the user will use to log in directly to the database.
  • organization — The organization with which a user is affiliated.
  • org_type — The the type of organization with which the user is affiliated.
  • registration_reason — A short note about why the user registered.
  • bio — Biographical information about the user.
  • verification_code — An auto-generated string used to identify the user for verification purposes.
  • verification_expiry — The time of expiration of the verification code.
  • verification_time — The date and time at which the user was verified.
  • registration_ip — The IP used by the user to register.
  • ip_in_region — Set to true if the user's IP is within the signup region. False positives and negatives are possible.
  • registration_note — Administrator notes about the user's registration status.
  • allowed — If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
organisation

Convenient storage for organisations involved in MSEA activities.

Columns
  • idNo comment
  • name — The full name of the organisation.
  • country — The code for the country where the organisation is based (e.g., "CA" for Canada).
  • note — An optional note about the organisation.
person

Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.

Columns
  • idNo comment
  • biigle_user_id — The Biigle database ID of a user. The UUID should be used instead.
  • first_name — First name.
  • last_name — Last name.
  • email — Email address.
  • photo — A photo of the person.
  • bio — A brief biography of the person.
  • biigle_uuid — The Biigle UUID is used to identify the user in Biigle apps.
  • affiliation — The organization with which this user is currently affiliated.
restriction

The restriction table provides restrictions for [events](#rov.event), based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.

Columns
  • idNo comment
  • name — The name of the restriction.
  • key — The top-level property name or key.
  • pattern — A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
  • note — An optional note about the restriction.
  • created_on — The date of creation of the restriction.
  • updated_on — The date of last update of the restriction.
restriction_group

Links the restriction to a group. Members of linked groups are able to view the restricted items.

Columns
  • idNo comment
  • restriction_id — The ID of the [restriction](#shared.restriction).
  • group_id — The ID of the Django authentication group.
site

Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.

Columns
  • idNo comment
  • spatial_library_id — A reference to the [spatial library](#shared.spatial_library) entry.
  • name — A name for the site.
  • note — An optional note about the site.
spatial_library

Maintains a library of spatial data.

Columns
  • idNo comment
  • file_id — A reference to a related [file](#shared.file).
  • name — A name for the entry.
  • note — A note about this library item.
  • thumbnail — A small thumbnail in binary (JPG) form.
  • created_on — The time when this record was created.
  • updated_on — The date of update of this record.
  • geom — A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
  • metadata — A JSON object containing metadata related to the spatial object.
  • rast — A raster.
spatial_library_file

Allows a [spatial library](#shared.spatial_library) entity to own more than one file.

Columns
  • idNo comment
  • spatial_library_id — A link to the [spatial library](#shared.spatial_library).
  • file_id — A link to the [file](#shared.file).
uploaded_file

A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.

Columns
  • idNo comment
  • path — The path to the temporary location of the file.
  • type — The guessed MIME type of the file.
  • name — The original name of the file.
  • created_on — The time of creation of the record.
  • expires_on — The expiry time of the file. It may be deleted by a maintenance script after this time.
  • marked_for_delete — If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.

Indexes

db_version_pkey

No comment

file_pkey

No comment

file_type_name_key

No comment

file_type_pkey

No comment

file_type_short_code_key

No comment

mseauser_pg_role_key

No comment

mseauser_pkey

No comment

mseauser_user_id_key

No comment

organisation_pkey

No comment

person_biigle_user_id_key

No comment

person_biigle_uuid_key

No comment

person_email_idx

No comment

person_email_unique

No comment

person_first_name_idx

No comment

person_last_name_idx

No comment

person_name_unique

No comment

person_pkey

No comment

person_unique

No comment

restriction_group_pkey

No comment

restriction_pkey

No comment

shared_restriction_group_unique

No comment

shared_restriction_name_unique

No comment

shared_restriction_unique

No comment

site_name_idx

No comment

site_name_key

No comment

site_name_unique

No comment

site_pkey

No comment

spatial_library_file_pkey

No comment

spatial_library_geom_idx

No comment

spatial_library_name_idx

No comment

spatial_library_pkey

No comment

uploads_pkey

No comment

Schema: taxonomy

Tables

taxon

Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.

Columns
  • idNo comment
  • taxon_id — The taxonomic ID from the source database.
  • source — The name of the source database: "inaturalist", "worms", "obis", etc.
  • rank — The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
  • scientific_name — The scientific name of the species.
  • common_name — The common name of the species.
  • superdomain — The superdomain name.
  • domain — The domain name.
  • kingdom — The kingdom name.
  • subkingdom — The subkingdom name.
  • infrakingdom — The infrakingdom name.
  • phylum — The phylum name.
  • phylum_division — The phylum division name.
  • subphylum_subdivision — The subphylum division name.
  • subphylum — The subphylum name.
  • infraphylum — The infraphylum name.
  • parvphylum — The parvphylum name.
  • gigaclass — The gigaclass name.
  • megaclass — The megaclass name.
  • superclass — The superclass name.
  • class — The "class" name.
  • subclass — The subclass name.
  • infraclass — The infraclass name.
  • subterclass — The subterclass name.
  • superorder — The superorder name.
  • order — The "order" name.
  • suborder — The suborder name.
  • infraorder — The infraorder name.
  • parvorder — The parvorder name.
  • superfamily — The superfamily name.
  • family — The family name.
  • subfamily — The subfamily name.
  • supertribe — The supertribe name.
  • tribe — The tribe name.
  • subtribe — The subtribe name.
  • genus — The genus name.
  • genus_hybrid — The genus hybrid name.
  • subgenus — The subgenus name.
  • section — The section name.
  • subsection — The subsection name.
  • series — The series name.
  • species — The species name.
  • hybrid — The hybrid name.
  • subspecies — The subspecies name.
  • natio — The natio name.
  • variety — The variety name.
  • subvariety — The subvariety name.
  • form — The form name.
  • subform — The subform name.
  • no_common_name — If a search has been performed for a common name and none was found, this prevents the processor from trying again.
  • accepted_taxon_id — The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
  • parent_taxon_id — The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.

Indexes

taxon_common_name_idx

No comment

taxon_pkey

No comment

taxon_rank_idx

No comment

taxon_scientific_name_idx

No comment

taxon_source_idx

No comment

taxon_source_taxon_id_key

No comment