powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Настройка сообщений об ошибках в PostgreSQL
5 сообщений из 5, страница 1 из 1
Настройка сообщений об ошибках в PostgreSQL
    #39495835
andrusbate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Возник вопрос по поводу сообщений об ошибках в PostgreSQL.
К примеру у меня уже существует таблица mytable и я пытаюсь создать её же с помощью следующего запроса через psql на линуксе:
CREATE TABLE mytable (ID INTEGER, NAME VARCHAR(50));

В результате я получаю сообщение об ошибке:
ERROR: relation "mytable" already exists.

Код этой ошибки в PostgreSQL - 42P07 duplicate_table .

Скажите, пожалуйста, есть ли способ сконфигурировать PostgreSQL так, чтобы в результате каких-то ошибочных действий код ошибки тоже был бы включён в сообщение? Например вот так:

ERROR: 42P07 relation "mytable" already exists.
...
Рейтинг: 0 / 0
Настройка сообщений об ошибках в PostgreSQL
    #39495905
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Завернуть в процедуру или блок, ловить ошибки и добавлять свои хвосты?
...
Рейтинг: 0 / 0
Настройка сообщений об ошибках в PostgreSQL
    #39495907
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://stackoverflow.com/questions/1766046/postgresql-create-table-if-not-exists


CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);


For older versions, here is a function to work around it:

CREATE OR REPLACE FUNCTION create_mytable ()
RETURNS void AS
$func$
BEGIN
IF EXISTS (SELECT 1 FROM pg_catalog.pg_tables
WHERE schemaname = 'myschema'
AND tablename = 'mytable') THEN
RAISE NOTICE 'Table "myschema"."mytable" already exists.';
ELSE
CREATE TABLE myschema.mytable (i integer);
END IF;
END
$func$ LANGUAGE plpgsql;
Call:

SELECT create_mytable(); -- call as many times as you want.
...
Рейтинг: 0 / 0
Настройка сообщений об ошибках в PostgreSQL
    #39496052
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrusbatepsql
psql
...
Рейтинг: 0 / 0
Настройка сообщений об ошибках в PostgreSQL
    #39496116
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrusbateДобрый день!

Возник вопрос по поводу сообщений об ошибках в PostgreSQL.
К примеру у меня уже существует таблица mytable и я пытаюсь создать её же с помощью следующего запроса через psql на линуксе:
CREATE TABLE mytable (ID INTEGER, NAME VARCHAR(50));

В результате я получаю сообщение об ошибке:
ERROR: relation "mytable" already exists.

Код этой ошибки в PostgreSQL - 42P07 duplicate_table .

Скажите, пожалуйста, есть ли способ сконфигурировать PostgreSQL так, чтобы в результате каких-то ошибочных действий код ошибки тоже был бы включён в сообщение? Например вот так:

ERROR: 42P07 relation "mytable" already exists.

Блин ну неужели так тяжело научится использовать google (если уж не хотите доку читать).
Первая ссылка с google "psql show error code" ведет на stackowerflow с ответом
https://stackoverflow.com/questions/6465047/get-error-codes-while-using-psql

Код: plaintext
1.
2.
3.
4.
5.
6.
test=# \set VERBOSITY verbose
test=# select broken;
ERROR:  42703: column "broken" does not exist
LINE 1: select broken;
               ^
LOCATION:  transformColumnRef, parse_expr.c:766

--
Maxim Boguk
dataegret.ru
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Настройка сообщений об ошибках в PostgreSQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]