Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переименование пользовательских объектов / 5 сообщений из 5, страница 1 из 1
16.08.2007, 16:42
    #34733083
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование пользовательских объектов
Доброе время суток!
В продолжение темы про SQL-транслятор :)

Есть в MS SQL такая замечательная функция
sp_rename(имя1, имя2)
которая переименовывет объекты, созданные пользователем, включая имена таблиц, индексы и прочее.
Есть ли аналог в PostgreSQL или придется писать самому ручками?

И еще один маленький вопросик: имена индексов в одной базе данных должны быть уникальными, я правильно понял? 1С создает для разных таблиц индекс с именм IDD, на что постгри ругнулся, что объект IDD уже есть :(

Всем заранее спасибо!
...
Рейтинг: 0 / 0
16.08.2007, 16:53
    #34733141
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование пользовательских объектов
1) \h ALTER (нафиг лишние функции если всё есть в TSQL?)
2) Вроде бы все объекты,в пределах tablespace, должны иметь уникальные имена.
...
Рейтинг: 0 / 0
16.08.2007, 17:04
    #34733181
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование пользовательских объектов
1) Команда ALTER подразумевает, что мы принудительно указываем, что изменяем.
Т.е. для изменения таблицы ALTER TABLE, для изменения индекса ALTER INDEX.
В моем же случае 1С использует sp_rename, где нет никакого намека, что мы изменяем в данный момент, таблицу, индекс или что-то еще, и для преобразования в ALTER нужны дополнительные телодвижения.
Кое-что сам посмотрел, спрошу так - что страшного произойдет после следующей команды:

update pg_class set relname='имя1' where relname='имя2'

Команда как минимум выполняется, на сколько она законна?

2) Очень жаль, придется налету как-то подменять имена индексов :(

Чтобы отбросить некоторые вопросы:
http://wiki.etersoft.ru/DBTranslator/
...
Рейтинг: 0 / 0
16.08.2007, 17:58
    #34733372
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование пользовательских объектов
что мешает самому написать процедуру в посгре, в том же pg_class хранится тип обьекта.. в зависимости от него и делать нужный алтер, а апдейты на pg_class делать не стоит.. криво это.
всеравно что сиквенсы инкриментить с помошью ALTER SEQUENCE вместо next_val.
...
Рейтинг: 0 / 0
17.08.2007, 11:03
    #34733921
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переименование пользовательских объектов
Ну так я и спрашивал, есть ли что-то готовое, или придется самому наваять :)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переименование пользовательских объектов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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