postgresql.org
Охренеть
Охренеть
Пример: есть запись с ['US', 'GB', 'AU'], и мне надо, чтобы эта запись выдавалась по запросу с любым из перечисленных значений.
140к записей, дамп уже есть, по 200 штук на один INSERT
И вот шта имею:
psql:/tmp/dump.pg:72561: ERROR: value too long for type character varying(255)
Много и часто. В таблице десятка два столбцов, из которых половина — те самые character varying(255).
Самое обидное, что на двух базах отрабатывает со свистом, а на серваке валитгле уже былся.
Везде 9.4, локали заданы одинаково.
Куда, бежать, кого искать? В гугле уже даже побывал.
Для исключения X-Y проблемы: есть куча объектов со свойствами (тип, значение (Int)) объектов дохренища, свойств тоже много, но ограничено. Нужно уметь выбирать объекты удовлетворяющие всем требуемым свойствам, свойств в запросе может быть до десятка. Говорят, что в битфилд на ~50000 bit все уместится (считал не я)
Например найти все пакеты которые имеют зависимость packege-name >= 1.5.
Как правильно спроектироватьс схему бд?
Ни-хре-на в таблицу не вставляется.
stackoverflow.com А вот это шикарно, now() вычисляется только в начале транзакции.
имеется PostgreSQL, есть Apache HTTPD, в котором выполняются всякие скрипты/сайтики. Со временем количество коннектов к базе растёт до странного количества. При том, что никаких запросов в БД не висит. Просто коннект без какого-то выполняющегося запроса. Вопрос: как определить какой скриптик ответственнен на конкретный коннект к БД? Либо, как можно узнать какие запросы были выполнены через эти "повисшие" коннекты? Что-то ничего не могу придумать. Наверняка есть какое-то стандатное решение.
wiki.postgresql.org вертят часть работы запроса на gpu
"WARNING: nonstandard use of \\ in a string literal at character 69
Use the escape string syntax for backslashes, e.g., E'\\'."
какая-то строка не влезает) (>8.x):
ALTER TABLE table_name ALTER COLUMN name TYPE varchar(10);
Жажа: в любой модели все строковые поля имеют лишний пробел. Т.е., например user.username = "test" из БД превращается в $user->username = "test "
utf-8, разумеется, везде. Отчего печаль такая приключилась — мало мне понятно.
postgres:
cat file.dat | sed 's/.$//' | awk '{print $1" "$2","$3","2}' | psql -U user -d
mydb -c "COPY data_definitive (dt, value, id) FROM STDIN DELIMITER AS
',' NULL AS ''; "
Вставка 3 млн записей на Pentium(R) Dual-Core CPU E6700 @ 3.20GHz
(Debian stable 2.6.32-5-amd64) заняла
real 1m7.864s
user 0m9.177s
sys 0m0.388s
Теперь не надо ждать полчаса!
в которой написано про летнее время:
/usr/share/postgresql/8.3/timezonesets/Asia.txt
формат зон:
postgresql.org
это мне так повезло, или просто какая то специфика постгресса? просто реально, по примеру с мускулом вначале не мог разобраться долго и усиленно искал файл со структурой базы посгресса.
SELECT company_id, array_to_string(array_agg(employee), ',')
FROM mytable
GROUP BY company_id;