Während das, was der Laser sagt, wahr ist, glaube ich, dass der Grund für das Erscheinen der SRID als 0 auf einer Entscheidung der Postgis-Entwickler beruht, dass eine undefinierte SRID als 0 gemeldet werden sollte - es gab eine Debatte, in der auch -1 vorgeschlagen wurde. (Ich weiß das, weil ich an dieser Debatte über das IRC teilgenommen und -1 favorisiert habe, da es meiner Meinung nach offensichtlicher undefiniert als 0 ist).
Wenn Sie sich die Definition der Ansicht geography_columns ansehen,
\df+ geography_columns
SELECT current_database() AS f_table_catalog,
n.nspname AS f_table_schema,
c.relname AS f_table_name,
a.attname AS f_geography_column,
postgis_typmod_dims(a.atttypmod) AS coord_dimension,
postgis_typmod_srid(a.atttypmod) AS srid,
postgis_typmod_type(a.atttypmod) AS type
FROM pg_class c,
pg_attribute a,
pg_type t,
pg_namespace n
WHERE t.typname = 'geography'::name AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND NOT pg_is_other_temp_schema(c.relnamespace) AND has_table_privilege(c.oid, 'SELECT'::text);
Sie sehen eine Referenz zu einer Funktion postgis_typmod_srid. Nach diesem Kaninchenbau finden Sie die hier definierte Funktion als:
#define TYPMOD_SET_SRID(typmod, srid) ((typmod) = (((typmod) & 0xE00000FF) | ((srid & 0x001FFFFF)<<8))).
Es ist einfach genug, dies zu bestätigen, indem Sie eine Geografiespalte erstellen und dann geography_columns betrachten. Da Sie auch eine Geometriespalte mit einem benutzerdefinierten Sphäroid erstellen können, erscheint es angesichts der Verbreitung von WGS84 etwas sinnlos, diese Funktionalität im Geografietyp zuzulassen.
`