Согласно документации , есть также функции
jsonb_populate_record()
jsonb_populate_recordset()
, аналогичные их близнецам json (присутствует с стр. 9.3)
json_populate_record()
json_populate_recordset()
. тип строки Либо используйте тип строки существующей таблицы, либо определите ее с помощью CREATE TYPE
. Или замените временную таблицу ad hoc:
CREATE TEMP TABLE x(lat float);
Может быть одним столбцом или длинным списком столбцов.
Заполняются только те столбцы, где имя соответствует клавише в объекте json
. Значение приведено к типу столбца и должно быть совместимым, либо возникает исключение. Другие ключи игнорируются.
SELECT lat + 1 -- no need for 1.0, this is float already
FROM updates u
, jsonb_populate_record(NULL::x, u.json_data->'position')
LIMIT 5;
Использование неявного LATERAL JOIN
здесь.
Аналогично, используйте jsonb_populate_recordset()
, чтобы разложить массивы на несколько строк в каждой записи.
Это работает так же в Postgres 9.3 с json
. Есть дополнительное преимущество, что внутреннее приведение к / из text
не является необходимым для числовых данных в jsonb
.
Не совсем. Вы можете запустить через него экземпляр EC2 и прокси.
Я использую Apache RewriteMap для переназначения относительных ссылок для выбора расширений файлов - * .jpg, * .gif, * swf, * .fla в Cloudfront. В основном делает URL-адреса ваших изображений относительными ссылками на ваш сайт. Это не предотвращает полностью обнаружение URL-адреса S3 / cloudfront, просто добавляет уровень сложности для потенциального вора.
Возможно, стоит попробовать, примените ограничения хотлинка через htaccess с помощью вышеуказанного метода. Сам не пробовал.