当前位置: 首页 > 知识库问答 >
问题:

如何确定数据库上是否启用了postgis?

洪飞白
2023-03-14

我想知道是否有一种方法可以确定在数据库上启用了PostGis。

我试图用我的开发机器复制我的正式服,我不确定我的开发机器上的数据库是否启用了PostGIS或postgis_topology或两者兼而有之。

我试着四处寻找解决方案,但什么也想不出。
这方面的任何建议都会有帮助。

共有2个答案

赵骏奇
2023-03-14

我只想补充约翰·穆塔菲斯的回答,因为在这一点上我不能对答案发表评论。

我的情况有点不同,因为我为不同的模式创建了postgis扩展,我们称之为schema\u name:

CREATE EXTENSION postgis SCHEMA schema_name

仅仅运行接受答案的查询就给了我一个错误,指出“没有函数匹配给定的名称和参数类型”。相反,我必须确保在函数调用之前添加架构名称,如下所示:

SELECT schema_name.PostGIS_version();
SELECT schema_name.PostGIS_full_version();

最终为我工作。

微生阳平
2023-03-14

假设您可以访问数据库(通过终端或pgadmin应用程序),请尝试以下操作:

>

  • 连接到您的数据库
  • 运行以下查询中的一个(或按顺序运行两个,如果愿意):

    SELECT PostGIS_version();
    SELECT PostGIS_full_version();
    

    如果没有发生错误,则为该数据库启用了PostGIS。

    • https://postgis.net/docs/PostGIS_Version.html
    • https://postgis.net/docs/PostGIS_Full_Version.html
    • https://ase-research.org/training/PostGIS_2016/install.shtml#post4

  •  类似资料:
    • 问题内容: Java程序如何找出它是否在调试模式下运行? 在常规的“全速”模式下,应用程序的行为应与“调试模式”下(在连接调试器时,在调试模式下运行)的行为有所不同。该应用程序通过TCP与另一台计算机,另一进程或自身内部进行通信。我的同事希望我们默认使用,以便从套接字读取最多可以阻塞1秒钟。调试时,这当然是不够的,并且应用程序将停止正常运行。因此,一种解决方案是设置较高的值,但仅在调试模式下使用(

    • 有没有办法知道实体是否是从数据库中读取的? 这个问题与如何知道一个分离的JPA实体是否已经被持久化有关?。但是检查其主键的变通方法没有回答我的问题。对于从导入文件中读取主键的实体来说,它是不起作用的。 将问题引申如下: JPA实现如何确定是否要插入或更新实体?

    • 问题内容: 好的,我的问题不是如何确定数字是否为质数,因为我想我已经知道了,但是更多的是如何使其正确显示。 这是我的代码: 现在我的问题是,如果数字最终等于9,它会说它是质数,而不是。我认为问题在于中断在一个循环后就停止了它,因此它不会递增变量p,因此仅测试除以2(我认为)。但是,如果我删除断点,它将在每次通过时打印出“和不是素数”,直到退出循环为止。不知道该怎么办。 问题答案: 查找数字是否为素

    • 问题内容: 我正在使用以下代码 这可以启用或禁用它 但我想作为函数说函数名是 那么我可以按照我的网站代码中的任意位置来称呼它 与我先前的问题几乎相同,请检查是否启用了allow_url_fopen 问题答案: 只需从函数中返回现有支票即可。

    • 所以我有一个问题,当我计算一个数字时,比如说15,我必须显示这个:15=3x5,但我得到的是3x5x5,我不知道如何使它变成这样,所以它只显示3x5。还有一个问题是,我输入的数字是否是素数。有办法解决这个问题吗?我只需要这些,然后再编辑其他东西。

    • 问题内容: 我最喜欢的Linux工具之一是lsof-真正的瑞士军刀! 今天,我发现自己想知道WinXP系统上的哪些程序打开了特定文件。有与lsof等效的工具吗?此外,有问题的文件是通过网络共享进行的,因此我不确定是否会使问题复杂化。 问题答案: 使用Sysinternals Suite中的Process Explorer,Find Handle或DLL函数将让您搜索打开该文件的过程。