У меня есть таблица PostgreSQL, в которой я хочу изменить столбец с bigint
на bytea
byte, чтобы вместить больше данных. Я думаю, используя следующую последовательность:
изменить таблицу mytable добавить новый_столбец
обновить набор mytable новый_столбец = int8send(старый_столбец)
изменить таблицу удалить старый_столбец
изменить таблицу переименовать новый_столбец в старый_столбец
Приведенная выше последовательность работает, единственная проблема заключается в том, что я хочу, чтобы последовательность байтов в bytea
была перевернутой. Например, если значение в old_column
равно 0x1234567890abcdef
, приведенная выше последовательность будет генерировать \0224Vx\220\253\315\357
, но я хочу, чтобы это быть
\357\315\253\220xV4\022
. Похоже, что результирующий bytea
использует порядок с обратным порядком байтов от исходного bigint
.
Есть ли простой способ сделать это без написания программы? Я искал функцию swap64()
в PostgreSQL, но не нашел.