|
Настройка сообщений об ошибках в PostgreSQL
|
|||
---|---|---|---|
#18+
Добрый день! Возник вопрос по поводу сообщений об ошибках в 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 11:21 |
|
Настройка сообщений об ошибках в PostgreSQL
|
|||
---|---|---|---|
#18+
Завернуть в процедуру или блок, ловить ошибки и добавлять свои хвосты? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 12:16 |
|
Настройка сообщений об ошибках в PostgreSQL
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 12:18 |
|
Настройка сообщений об ошибках в PostgreSQL
|
|||
---|---|---|---|
#18+
andrusbatepsql psql ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 14:49 |
|
Настройка сообщений об ошибках в PostgreSQL
|
|||
---|---|---|---|
#18+
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.
-- Maxim Boguk dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 15:26 |
|
|
start [/forum/topic.php?fid=53&fpage=69&tid=1996328]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 309ms |
total: | 457ms |
0 / 0 |