How to debug postgresql stored procedures?

后端 未结 3 1249
梦毁少年i
梦毁少年i 2020-12-23 16:33

I realize that there is nothing similar to SQL Server Management Studio, so I am mentally prepared to use the good old printf debugging.

The only question is how to

相关标签:
3条回答
  • 2020-12-23 17:20

    Along with the trusty ol' RAISE commands, there are also a couple 3rd-party tools that I have heard of, though I've never used them.

    • PLPGSQL Lint: https://github.com/okbob/plpgsql_lint
    • EDB Debugger: http://www.enterprisedb.com/docs/en/9.0/asguide/Postgres_Plus_Advanced_Server_Guide-17.htm. My understanding is that the EnterpriseDB Debugger comes bundled with their Postgres Studio package.
    0 讨论(0)
  • 2020-12-23 17:24

    To "print" a message, you can use raise notice from within a PL/pgSQL function:
    http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

    Note that the client must have set the value of "client_min_messages" to the appropriate level in order to receive the "notice".

    pgAdmin has a debugger for functions: http://www.pgadmin.org/docs/1.18/debugger.html

    (But I have never use it as I don't use pgAdmin).

    0 讨论(0)
  • 2020-12-23 17:25

    It sounds like you're looking for actual debugging capability. PostgreSQL actually introduced this functionality starting with PostgreSQL 8.3.

    It's fantastic and totally makes PostgreSQL live up to it's tagline "the world's most advanced open source database". It's kind of a hassle to get running but these links might help get you started. Once enabled it allows you to set breakpoints or define inputs & evaluate functions all through a handy right-click menu in PGAdmin.

    0 讨论(0)
提交回复
热议问题