@pgsql

Страница 233 из 1062
Anna
08.02.2017
12:07:43


Darafei
08.02.2017
12:08:14
ну да, дробное число в целочисленный тип положить не получится

Anna
08.02.2017
12:08:19
странно, почему оно ругается на флоат если у тайма бигинт

я не понимаю, почему оно туда его ложит о_О.. а можно как-то указать последовательность?

Google
Darafei
08.02.2017
12:09:08
https://www.postgresql.org/docs/9.6/static/sql-copy.html

Anna
08.02.2017
12:09:13
или нужно всю таблицу заново создавать?

Darafei
08.02.2017
12:09:22
тут прямо в разделе Synopsis написано, как

Anna
08.02.2017
12:11:47
спасибо) наконец-то)

Jenny
08.02.2017
14:08:25
Привет, а здесь можно размещать вакансию?)

Anatoliy
08.02.2017
14:09:49
Можно

Jenny
08.02.2017
14:13:29
В одной из наших компаний, которая ведет проект по предоставлению процессинга для программ лояльности , подарочных и банковских кобрендинговых карт открыта вакансия junior-QA (тестировщик), с частичной загрузкой задачами по поддержке. Обязанности: Тестирование программного обеспечения, как минимум ручное, автотесты будут плюсом. Выполнение задач по работе с данными в СУБД, включая написание запросов, скриптов. Постановка задач администраторам, управлением служебными сервисами. Требования: Построение запросов SQL. РСУБД, любой из основных промышленных СУБД (Oracle, Microsoft SQL Server, PostgreSQL),Postman и soapUI. Принципов создания тест-кейсов. Будет плюсом понимание: Скриптовых языков. Принципов программирования и Agile. ПО для автоматизированного тестирования и регистрации ошибок (WinRunner, TestComplete, TestExecute, TestRecorder). XML и связанных технологий (XSLT, XPATH, DOM, SAX). Условия: Офис недалеко от метро 1905 года (Центр Международной Торговли) ДМС со стоматологией после испытательного срока Оформление по ТК РФ ("белая" зарплата) Отличные условия для развития в дружной команде и профессионального роста

Друзья, если Вас интересует - то с удовольствием отвечу на все вопросы

Аггей
08.02.2017
14:18:00
Сразу бы ЗП написали )

Alex
08.02.2017
14:18:19
главное понимать что это жуниор QA

Sergey
08.02.2017
14:19:01
стесняюсь спросить, а что же в требованиях для DBA тогда?

Jenny
08.02.2017
14:19:42
зп до 70 на руки

да это джуниор

Google
Pavel
08.02.2017
14:20:11
Обычно "Будет плюсом понимание: " это значит "что-то где-то слышал"

Sergey
08.02.2017
14:20:11
QA?

Ilya
08.02.2017
14:20:30
Jenny
08.02.2017
14:21:42
QA

Fike
08.02.2017
14:21:46
стесняюсь спросить, а что же в требованиях для DBA тогда?
а что, написание SQL-запросов - это запредел?

Аггей
08.02.2017
14:22:21
а что, написание SQL-запросов - это запредел?
Опять же запросы бывают разные.

Sergey
08.02.2017
14:22:24
Darafei
08.02.2017
14:22:55
а как QA будут проверять хранимки без написания запросов?

Fike
08.02.2017
14:22:56
Опять же запросы бывают разные.
о ужас, никогда не пойду на программиста, ведь программировать можно разное

Sergey
08.02.2017
14:23:04
запросы обычно пишут разработчики, консультируясь с DBA

Kirill
08.02.2017
14:24:03
да ну ?

Darafei
08.02.2017
14:24:11
есть компании с разной культурой QA

Аггей
08.02.2017
14:24:21
о ужас, никогда не пойду на программиста, ведь программировать можно разное
Идя на QA писать запросы для отчетных форм с оконными и аналитическими функциями, CTE и прочим - это странно )

Fike
08.02.2017
14:25:05
ой, как же я пропустил в вакансии пункт про аналитические запросы и CTE

Sergey
08.02.2017
14:25:07
да лано. Зря мы тут придераемся. SQL разрабатывался чтобы секретарям было удобно отчеты генерить...

Darafei
08.02.2017
14:25:18
если QA не сможет такой запрос прочитать - он его и проверить не сможет :)

Jenny
08.02.2017
14:26:09
Друзья, вообщем - если Вам интересна вакансия или Ваши друзья на данный момент ищут работу, то буду признательна за рекомендации

Pavel
08.02.2017
14:26:27
Ну как бы да, а что тогда должен знать junior-QA? Ничего? Только уметь на кнопочку "запустить тесты" нажимать?

Sergey
08.02.2017
14:28:23
QA должен умень оформить удобочитаемо найденные проблемы.

с понятным описанием как это воспроизвести.

Google
Darafei
08.02.2017
14:31:22
можно ещё вспомнить разницу между QA и QC

Аггей
08.02.2017
14:33:07
Тут есть некоторое противоречие с ситемой образования. В моем понимании - любой выпускник вуза по около профильной специальности (в ИТ - ВМК, ИВТ) - должен как минимум соответсвовать званию Junior-*. А по мере освоения технологий он становится - middle и дальше. Удивляет когда в компании есть 10 Junior разработчиков и ни 1 даже мидла - от кого они должны перенимать опыт? Разве можно в таком случае ждать чего-то кроме говнокода с кривой архитектурой? Если даже получится что-то путнее - это чудо, а не ожидаемый результат

Darafei
08.02.2017
14:33:47
QA ещё должен стараться предотвратить проблемы, а не просто не выпускать неработающее, как QC :)

blkmrkt
08.02.2017
15:44:57
У меня проблемка - база растет, и серверы на одних SSD держать дороговато. Хостер предлагает ставить обычные диски с SSD кешем, но у меня система непрерывно загружена кравлингом данных, выборкой кусков из базы, сравнением и записью диффов обратно в БД - узкое горлышко именно в этом месте, и хочется чтоб это все еще быстрее работало. Как думаете, совсем плохо будет уходить с SSD? Может можно как-то перехитрить природу настройками постгреса?

Dmitry
08.02.2017
15:46:10
а что тормозит, чтение или инсерты?

У меня БД на SATAшных винтах, это боль. Приходиться оптимайзить кучей способов )

Dmitry
08.02.2017
15:49:40
Не в курсе какая у вас архитектура, но если много памяти, то можно последний результат от кроулинга хранить в каком нить редисе и сразу с ним сравнивать, тогда уйдут лишние селекты

blkmrkt
08.02.2017
15:52:19
а что тормозит, чтение или инсерты?
Чтение самое медленное, тк оно рандомное, селекты по 1000 довольно жирных записей. А инсерты/апсерты уже и так батчатся по 50к штук, выверил оптимальное число методом тыка.

Dmitry
08.02.2017
15:54:50
Инсерты можно заоптимайзить использую временную Unlogged табличку и потом переливать оттуда данные в основную используя pg_bulkload . 500К записей довольно бодро инсертятся. А для чтение вариант с кэшем последних данных не подходит?

blkmrkt
08.02.2017
15:54:52
Не в курсе какая у вас архитектура, но если много памяти, то можно последний результат от кроулинга хранить в каком нить редисе и сразу с ним сравнивать, тогда уйдут лишние селекты
очередь задач на amqp, которую консьюмер пополняет новыми задачами, и так по кругу. Лимит лишь в N параллельных джобов. Задачи создает главный консьюмер, и в основном он же их непрерывно создает в ответ на результат работы воркера.

Dmitry
08.02.2017
15:56:15
У меня примерно похожая ситема. Инсерты через временую таблицу пачками, селекты почти все предварительно закэшированны, переписываются при получении новых данных и с ними же идет дифф

blkmrkt
08.02.2017
15:57:03
Инсерты можно заоптимайзить использую временную Unlogged табличку и потом переливать оттуда данные в основную используя pg_bulkload . 500К записей довольно бодро инсертятся. А для чтение вариант с кэшем последних данных не подходит?
почитаю про unlogged, но я пробовал с fsync=off, понял что это временный хак, который учитывая непрерывную нагрузку системы, перестает давать результат через пару минут работы

Fike
08.02.2017
15:57:46
а почему данные вытаскиваются селектом на 1000 записей, если не секрет?

blkmrkt
08.02.2017
15:58:16
а почему данные вытаскиваются селектом на 1000 записей, если не секрет?
да просто так вышло - пробовал ставить больше, тольку нет

blkmrkt
08.02.2017
15:59:57
батчи на запись по 50к, может вам не постгрес нужен ?
да тоже так думал, но не хочется уходить с постгреса ?

Dmitry
08.02.2017
16:00:20
А в чем проблем батчи по 50к? У меня они по полмиллиона и все нормально )

Kirill
08.02.2017
16:02:41
как мне кажется, это не совсем профиль постгреса, есть более заточеные под это решения, сейчас есть clickhouse который затачивался для работы на обычных дисках

Google
blkmrkt
08.02.2017
16:02:47
А в чем проблем батчи по 50к? У меня они по полмиллиона и все нормально )
у меня например там жсоны которые в тостах лежат

Dmitry
08.02.2017
16:03:54
Clickhouse хорош ровно до момента конгда данные надо удалять или обновлять..

Fike
08.02.2017
16:04:09
да просто так вышло - пробовал ставить больше, тольку нет
у меня просто сложилось впечатление, что там по одной записи подразумевалось доставать

Dmitry
08.02.2017
16:04:24
А считает кликхаус конечно офигеть как быстро

Fike
08.02.2017
16:05:34
я бы так спросил: переписывание приложения вообще рассматривается?

blkmrkt
08.02.2017
16:09:13
я бы так спросил: переписывание приложения вообще рассматривается?
угу, пауков уже переписал, теперь сервер нужно с ноды на чем-то нормальном оформить

Роман
08.02.2017
17:41:21
Ждём в 17 новые требования ФСТЭК к базам данных :)

https://twitter.com/3dwave/status/829282981659414528

Konstantin
08.02.2017
18:38:00
Ждём в 17 новые требования ФСТЭК к базам данных :)
В 19 если я правильно понимаю как исполняются планы ФСТЭК;)

Артур
08.02.2017
19:35:27
Касательно частников.

Anna
08.02.2017
20:49:46
ребят, не подскажете где может быть ошибка в запросе? INSERT INTO stations(name, branch, previous_station, travelling_time) VALUES ('Palats Sportu', 'Green', (SELECT MAX(id) FROM stations(id)), (SELECT ((extract( epoch from(to_timestamp(1485969522838 / 1000) - to_timestamp(1485969434919 / 1000)))::bigint)::text || ' seconds')::interval as hour_minute_second)));

Anna
08.02.2017
20:57:04
запрос

metro_assistant(# - to_timestamp(1485969434919 / 1000)))::bigint)::text || ' seconds')::interval as hour_minute_second))); ERROR: syntax error at or near ")" LINE 4: ...nt)::text || ' seconds')::interval as hour_minute_second))); ^

мне просто нужно вставить в previous_station идшник предыдущей станции, тоесть мне нужно каким-то образом взять последнее ИД

Роман
08.02.2017
20:59:13
ну если верить ide, то последняя скобка лишняя

Google
Anna
08.02.2017
20:59:48
LINE 2: ...Palats Sportu', 'Green', (SELECT MAX(id) FROM stations(id)), ^ HINT: There is a column named "id" in table "stations", but it cannot be referenced from this part of the query. metro_assistant=#

Роман
08.02.2017
20:59:52
ну и убери ..FROM stations(id)

Anna
08.02.2017
21:00:01
да, чет оно ругается терь на идшник

Роман
08.02.2017
21:00:10
ну так ты получается пытаешься вызвать функцию stations с параметром id

*процедуру хранимую

мне просто нужно вставить в previous_station идшник предыдущей станции, тоесть мне нужно каким-то образом взять последнее ИД
по поводу логики ничего сказать не могу, т.к. не знаком с задачей, вроде пойдет решение

Anna
08.02.2017
21:03:39
не, не функцию. я пытаюсь записать в таблицу станцию

Роман
08.02.2017
21:04:41
не, не функцию. я пытаюсь записать в таблицу станцию
значит, замени вот это: (SELECT MAX(id) FROM stations(id)) на это: (SELECT MAX(id) FROM stations)

Антон
08.02.2017
21:11:01
дивные времена когда обсуждали детали работы, а не синтаксические ошибки в запросах, где же вы

Аггей
08.02.2017
21:12:08
Была ситуация - которую можно было бы обсудить - но пока сам не разберусь - сформулировать не смогу )

Антон
08.02.2017
21:12:56
а когда разберешься уже все будет ок :) та же фигня

Anna
08.02.2017
21:14:01
дивные времена когда обсуждали детали работы, а не синтаксические ошибки в запросах, где же вы
а где, как не здесь спрашивать где могут быть те ошибки? тем более, если ты студент

Антон
08.02.2017
21:15:27
да все хорошо

пока студенты так учаться можно быть уверенным в востребованности на рынке труда

Anna
08.02.2017
21:16:38
а как по вашему они должны учиться?

Аггей
08.02.2017
21:17:19
Вы суть подсказки поняли?

Страница 233 из 1062