Обсуждение: [SQL] Line number returned in Postgres Raise Exception sentence
We are migrating a system from Postgres 9.2 to Postgres 9.6. The problem is that in migrating the Stored Procedures, where we use the RAISE EXCEPTION sentence, a new line is added in the message returned when there is a RAISE EXCEPTION. In our system the existence of this second part of the message is a big problem. "ERROR: Message of Error SQL state: P0001 Context: function PL/pgSQL xxx() in line 4 of RAISE" We are executing stored procedures from JDBC and obtain the message with getMessage and from PgAdmin III or IV. We would like to know if there is the possibility to configure Postgres 9.6 in order this part of the message does not appear. Or maybe if it is possible to set some attribute during the database connection. We have read about a solution changing in the file postgres.config the attribute log_error_verbosity to terse. We did but it has no effect in the result. -- Sent from: http://www.postgresql-archive.org/PostgreSQL-sql-f2142323.html -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql
Hi
2017-11-14 11:17 GMT+01:00 queralt <queraltr@gmail.com>:
We are migrating a system from Postgres 9.2 to Postgres 9.6.
The problem is that in migrating the Stored Procedures, where we use the
RAISE EXCEPTION sentence, a new line is added in the message returned when
there is a RAISE EXCEPTION. In our system the existence of this second part
of the message is a big problem.
"ERROR: Message of Error
SQL state: P0001
Context: function PL/pgSQL xxx() in line 4 of RAISE"
We are executing stored procedures from JDBC and obtain the message with
getMessage and from PgAdmin III or IV.
We would like to know if there is the possibility to configure Postgres 9.6
in order this part of the message does not appear. Or maybe if it is
possible to set some attribute during the database connection.
We have read about a solution changing in the file postgres.config the
attribute log_error_verbosity to terse. We did but it has no effect in the
result.
This filtering is client side task
So this should be changed by some JDBC setup if it is possible
Regards
Pavel
--
Sent from: http://www.postgresql-archive.org/PostgreSQL-sql-f2142323. html
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
We have found another solution from JDBC. We do a catch of SQLException, then we cast the exception to PSQLException and then we obtain the ServerErrorMessage. In this ServerErrorMessage the getMessage() returns just the text of the error message of the Stored Procedure we execute from the try code. Previously, we set the server log to Terse (set log_error_verbosity=terse). catch (SQLException se) { System.out.println("ServerErrorMessage"); PSQLException ps = (PSQLException)se; ServerErrorMessagesem = ps.getServerErrorMessage(); System.out.println(sem.getMessage()); } } -- Sent from: http://www.postgresql-archive.org/PostgreSQL-sql-f2142323.html -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql