Чтобы добавлять сообщения и комментарии, .

@Zert:
Zert

Если надо, чтобы в поле было несколько значений, и делать выборку по значению одного из них, то какой тип лучше использовать и как выбирать? Это же массивы по идее? Или ещё что есть?
Пример: есть запись с ['US', 'GB', 'AU'], и мне надо, чтобы эта запись выдавалась по запросу с любым из перечисленных значений.

@rakoth:
rakoth

Мигрирую базу с мускула на слоника, благо конверторы... тысячи их.
140к записей, дамп уже есть, по 200 штук на один INSERT
И вот шта имею:
psql:/tmp/dump.pg:72561: ERROR: value too long for type character varying(255)
Много и часто. В таблице десятка два столбцов, из которых половина — те самые character varying(255).
Самое обидное, что на двух базах отрабатывает со свистом, а на серваке валитгле уже былся.
Везде 9.4, локали заданы одинаково.
Куда, бежать, кого искать? В гугле уже даже побывал.

@qnikst:
qnikst

А есть ли какие-нибудь средства для создания индексов предоставляющих bitfield и эффективные запросы по ним, минимально уметь `where field ^^ requested != 0`. Если ли готовое, куда копать для решения?

Для исключения X-Y проблемы: есть куча объектов со свойствами (тип, значение (Int)) объектов дохренища, свойств тоже много, но ограничено. Нужно уметь выбирать объекты удовлетворяющие всем требуемым свойствам, свойств в запросе может быть до десятка. Говорят, что в битфилд на ~50000 bit все уместится (считал не я)

@rxn:
rxn

Мне надо сделать персинтент сторадж для пакетов и их зависимостей с возможностью поиска по типу зависимостей.
Например найти все пакеты которые имеют зависимость packege-name >= 1.5.

Как правильно спроектироватьс схему бд?

@wyldrodney:
wyldrodney

Довёл, чо: failed to add item to index.
Ни-хре-на в таблицу не вставляется.

@Ejik:
Ejik

Жуик, напомни мне в следующий раз чтобы я 1С ни на что кроме MSSQL под винду не ставил, 2 часа убил врот ее.

@ishe:
ishe

сижу, раздупляю full-text-search. нравится. внешние примочки уже радрали

@egoistmax:
egoistmax

Не хочет у меня начальство продвигать open source, пичалька =(.

@Kerrigan:
Kerrigan

stackoverflow.com А вот это шикарно, now() вычисляется только в начале транзакции.

@Zert:
Zert

Кто чем реплицирует постгрес? Нужна как лайв-репликация (база с маленьким количество апдейтов, 5-10 в секунду), так и не лайв, а хотя бы раза 4 в день (база с большим количеством инсертов, апдейтов нет, 1500 в секунду).

@deboon:
deboon

Жуйк, есть такая проблема:
имеется PostgreSQL, есть Apache HTTPD, в котором выполняются всякие скрипты/сайтики. Со временем количество коннектов к базе растёт до странного количества. При том, что никаких запросов в БД не висит. Просто коннект без какого-то выполняющегося запроса. Вопрос: как определить какой скриптик ответственнен на конкретный коннект к БД? Либо, как можно узнать какие запросы были выполнены через эти "повисшие" коннекты? Что-то ничего не могу придумать. Наверняка есть какое-то стандатное решение.

@trapdoor:
trapdoor

А вот в постгресике теперь есть и json и hstore колонки. Что кошерней использовать? Наверно всё же hstore т.к. в json-е нету сеттеров (на момент 9.3rc1).

@hizel:
hizel

wiki.postgresql.org вертят часть работы запроса на gpu

@Kerrigan:
Kerrigan

Всякие имена, которые оно не хочет принимать надо экранировать обратными кавычками.

@Kerrigan:
Kerrigan

у каждого constraint должно быть свое отдельное имя

@SkyLimited:
SkyLimited

У меня такое стойкое ощущение, что pgsql неизмеримо хорош и лучше, чем mysql. Хотябы своим pl\pgsql, любовью к ANSI SQL, и типами данных а-ля массив, чего нет даже в mssql, json и.т.п. Вопрос только в одном. Почему он менее популярен??

@odin:
odin

instagram-engineering.tumblr.com

@Kerrigan:
Kerrigan

Для сравнения с numeric можно преобразовать число в строку с фиксированной запятой "%.ЧИСЛО_ЗНАКОВ_ПОСЛЕ_ЗАПЯТОЙf" % число

@Kerrigan:
Kerrigan

жугрегатору становится плохо от огромной кучи апдейтов

@Sinopteek:
Sinopteek

Avast говорит, что postgresql не нужен, руткит, видете ли...

@vessi:
vessi

жуечка, postgis — прекрасен. странно, что я раньше им не интересовался.

@gg:
gg

а у всех в бубунте по-дефолту postgres базы в кодировке SQL_ASCII, или я один такой счастливчик? 3 дня парился с импортом базы. потом мне подсказали про кодировку. я первый раз с таким сталкиваюсь. debian, centos, altlinux — везде стоит UTF8

@gg:
gg

За 5 месяцев использования 1cv8 + postgresql — 1 гигабайт логов с одной единствонной ошибкой
"WARNING: nonstandard use of \\ in a string literal at character 69
Use the escape string syntax for backslashes, e.g., E'\\'."

@cormorant:
cormorant

Так изменить ограничение длины строки поля name (например если
какая-то строка не влезает) (>8.x):
ALTER TABLE table_name ALTER COLUMN name TYPE varchar(10);

@rakoth:
rakoth

Попытался вспомнить молодость — накатать проектик на yii. Требуется полноценная поддержка транзакций, так что остановился на pgsql.
Жажа: в любой модели все строковые поля имеют лишний пробел. Т.е., например user.username = "test" из БД превращается в $user->username = "test "
utf-8, разумеется, везде. Отчего печаль такая приключилась — мало мне понятно.

@SLX:
SLX

Кто-нибудь может помочь с первотегом? Нужны примеры основных команд. И как их юзать из консоли. У меня чет не получается.

@Marchael:
Marchael

Я все же решил собрать ulog c --with-pgsql-log-ip-as-string. Можно заметить, что это не рационально в плане свободного места, зато неплохо ускоряет селекты, а так же можно пользоваться всеми возможностями inet.

@cormorant:
cormorant

Вот такой велосипед для шустрой загрузки данных вида дата-значение в
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
Теперь не надо ждать полчаса!

@jamhed:
jamhed

Если вдруг перевелось время, то надо выпилить строчку в файле timezone для postgres,
в которой написано про летнее время:
/usr/share/postgresql/8.3/timezonesets/Asia.txt

формат зон:
postgresql.org

@qrilka:
qrilka

воевал тут с тяжёлым запросом, в итоге получалось чуть больше искомых 5с, открыл вебинтерфейс — выполняется за 2с, оказалось, что отфильтровывающй не сильно большую часть записей JOIN ускоряет запрос сильнее чем все мои "подпрыгивания"

@delayer:
delayer

Продублирую еще раз вопрос, ибо не потерял актуальности. Каким образом можно залезть внутрь postresql-ного дампа, и кой-чего там подправить?

@qnikst:
qnikst

в очередной раз не могу сообразить, как решить следующую ситуацию, в базе сохранены определенные события связанные с датами, естественно при select из базы событий, те даты, которых нет в ответ не попадают, а хотелось бы придумать, как их вывести ну с соотв пустыми остальными полями

@binary:
binary

Посоветуйте годную книжку по постгресу?

@qnikst:
qnikst

есть небольшой вопрос по написанию триггеров и функций к pg, может ли кто-нить проконсультировать по некоторым тупым вопросам? (если к тому времени в мане не раскопаю решение)

@jamhed:
jamhed

Оказывается psql можно обучить пароля хавать: $PGPASSWORD=password psql -U user database

@k1lg0reTr0ut:
k1lg0reTr0ut

а вот скажите мне. когда я настраиваю какой нибудь сервак с этими сабжами, я в мускуле всегда создаю базу данных и делаю ее структуру из файлика, который есть в установочном пакете сервака. то есть делаю это вручную. когда же я пытался устанавливать все это дело на постгрессе никаких файликов со структурой базы данных не было. просто прописывал логин рута и сервак все сам создавал в постгрессе.
это мне так повезло, или просто какая то специфика постгресса? просто реально, по примеру с мускулом вначале не мог разобраться долго и усиленно искал файл со структурой базы посгресса.

@PLed76:
PLed76

В Postgres 8.4 можно собрать значения из колонки в строку с разделителем так:

SELECT company_id, array_to_string(array_agg(employee), ',')
FROM mytable
GROUP BY company_id;

@antage:
antage

Жуйк, как добавить в существующую таблицу primary key и перенумеровать все записи? Я так понимаю, надо делать вручную create sequence "table_id_seq" owned by "table".id; update table set id = nextval("table_id_seq");, и только потом навешивать ограничения not null и primary key? Или есть способ проще?

@zajatz:
zajatz

Does anybody know how to set default value of a column as a result of computation of the other columns?