PostGIS不能与psql一起使用吗?

时间:2011-08-12 18:28:00

标签: postgresql postgis psql

我有一个sql脚本,可以创建多个表,一个触发器和一个触发器函数。当我在“查询”部分执行它们时,所有命令都在pgAdmin中工作。我的目标是将所有这些命令放在一个脚本中,这样我就可以相对容易和快速地在任何机器上设置数据库。但是,当我尝试通过psql运行脚本时,我在尝试使用Geography类型的所有行中收到以下错误:

ERROR:  type "geography" does not exist

这没有意义,因为我可以将完全相同的查询复制并粘贴到pgAdmin的查询编辑器中,它可以正常工作。 psql不支持PostGIS吗?或者可能只是最新版本的PostGIS 1.5.3,其中包含新的Geography类型?我有什么办法可以解决这个问题吗?

修改

我的一个查询示例:

CREATE TABLE source_imagery (
    id SERIAL PRIMARY KEY,
    image_type VARCHAR(1000),
    image_path VARCHAR(1000),
    boundary GEOGRAPHY(POLYGON, 4326),
    image_time TIMESTAMP,
    catalog_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

错误讯息:

ERROR:  type "geography" does not exist
LINE 5:     boundary GEOGRAPHY(POLYGON, 4326),
                     ^

1 个答案:

答案 0 :(得分:1)

您可以通过直接指向它来尝试使用pgAdmin使用的相同psql。在Mac OS X上,它位于pgAdmin3.app/Contents/SharedSupport/psql中。但是,真正重要的是服务器的版本(不是客户端的版本)。在这两种情况下,您都应该验证是否连接到同一个数据库。