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

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

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

Всем заранее спасибо!
...
Рейтинг: 0 / 0
Переименование пользовательских объектов
    #34733141
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) \h ALTER (нафиг лишние функции если всё есть в TSQL?)
2) Вроде бы все объекты,в пределах tablespace, должны иметь уникальные имена.
...
Рейтинг: 0 / 0
Переименование пользовательских объектов
    #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
Переименование пользовательских объектов
    #34733372
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что мешает самому написать процедуру в посгре, в том же pg_class хранится тип обьекта.. в зависимости от него и делать нужный алтер, а апдейты на pg_class делать не стоит.. криво это.
всеравно что сиквенсы инкриментить с помошью ALTER SEQUENCE вместо next_val.
...
Рейтинг: 0 / 0
Переименование пользовательских объектов
    #34733921
Фотография Zashibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так я и спрашивал, есть ли что-то готовое, или придется самому наваять :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Переименование пользовательских объектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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