Dmitry
26.09.2017
12:05:34
ну а так вы даете доступ просто администратору, ключ можно будет получить из памяти application-сервера или трафика
ну ладно, от прослушки трафика спасет сессионный ключ, а часть аппликейшен сервера нужно размешать на клиентской машине которой клиент доверяет
тогда накой база :)
Andrey
26.09.2017
12:09:33
Для сертификации под персуху надо сервер защищать целиком.
Google
Andrey
26.09.2017
12:09:44
Есть хостинги для этого. Либо самим строить аля PCIDSS
с охраной и пропусками
Артур
26.09.2017
12:10:24
Те, кто способны извлечь ключ, с ним и ищут
когда презентовали супперкрутой банкомат, производителя спросили. "Чё, никак не взломать его?". Он тогда ответил хорошо "Пока есть способ ввода информации, есть и возможность взломать"
Ну типа "мы сделали так..."
Andrey
26.09.2017
12:14:24
Ну типа "мы сделали так..."
Конкретнее вопрос. Мы вирты брали у хостера "облакотека". Так что по защите конкретно сервера все вопросы были к ним. Нам надо было организовать все на уровне ОСи и выше
Облакотеку кстати не советую вообще. Дерьмо редкостное.
Особенно под базу
Артур
26.09.2017
12:15:44
Andrey
26.09.2017
12:19:44
? вовремя сказал. А я только собрался начальству писать
У них хостинг на hyper-v базируется. Т.е. оно как бы под винду точилось. А мы пришли и давай туда линуксом своим совать. В итоге как минимум раз в месяц, а обычно раз в неделю у нас ФС переходила в RO режим во время того как они делали бекапы)
они там советовали дрова ставить, ось менять и тп. Но воз и ныне там.
2-3 раза было когда вирты просто ребутались по хардкору
такой кароч маленький филиал ада)
Google
Alexander
26.09.2017
12:21:08
пойду поем по этому поводу
извиняюсь, не туда
Артур
26.09.2017
12:21:51
Ilya
26.09.2017
12:26:50
Ребзя посоветуйте для постгреса систему которая позволяет делать отчеты и выводить графики.
Чтобы начальство могло видеть свои показатели.
https://www.postgresql.org/download/products/5-reporting-tools/
Вот тут что удобнее?
Stas
26.09.2017
12:32:06
Если про статистику самой бд, то можно mamonsu или telegraf+grafana
Аггей
26.09.2017
12:36:29
Boris
26.09.2017
17:35:00
Привет, подскажите, возможно ли из дампа базы восстановить одну таблицу под другим именем? Например tablename восстановить как tablenamebackup ?
Dmitry
26.09.2017
17:37:33
Зачем такие сложности
Или это нужно автоматизировать?
Boris
26.09.2017
17:38:35
усложняет ненмого то, что они еще и в схемах с идентичными именами
Dmitry
26.09.2017
17:43:07
,так установите другой сервер и там разверните
Например в докере
Если ресурсов нет
Айтуар
26.09.2017
17:47:08
Google
Айтуар
26.09.2017
17:47:27
можно и на том же кластере
Boris
26.09.2017
17:48:27
Сергей
26.09.2017
17:49:36
нетривиально с компрессд дампом, тривиально с полнотекстовым, просто надо его поправить. ну либо нужно создать точно такую же схему-таблицу и сделать рестор с дата онли, а потом переименовать
Айтуар
26.09.2017
17:49:39
Boris
26.09.2017
17:51:02
как вариант, спасибо .просто думал может есть что-то с наименьшим количеством итераций..
Айтуар
26.09.2017
17:52:42
Boris
26.09.2017
17:53:31
Сергей
26.09.2017
17:56:26
минимум все же сделать дамп с -Fp (plain), поправить дамп на диске (там будет CREATE TABLE, а потом COPY) и прогнать обратно. но это не слишком актуально для большого количества данных, конечно
Dmitry
26.09.2017
21:45:37
А есть какой-нибудь стандарт/стайл гайд по читабельному оформлению запросов? Т.е. где ставить отступы, где переводы строк и т.д.
Mikhail
26.09.2017
21:50:34
наксколько мне известно нет такого стандарта) но есть множество style guide. Как пример http://www.sqlstyle.guide
/dev/null
27.09.2017
01:40:51
Ребят, знаю что не по адресу, но свеже
В Postresql делал так
Concat(
pers.fam, ' ',
pers.im, '',
pers.ot) as fio,
Блин, сейчас столкнулся с Fireberdsql как в нем можно сделать объединение полей в запросе?
Алексей
27.09.2017
01:43:02
|| должен работать
Примерно так:
pers.fam || ' ' || pers.im || pers.ot
Vitality
27.09.2017
04:19:07
ребят, доброго времени суток. Кто подскажет, есть ли подобный чат по php?
Anton [Mgn, az09@osm]
27.09.2017
05:44:17
Artyem
27.09.2017
05:49:12
это вопрос?
Viktor
27.09.2017
05:56:45
Vitality
27.09.2017
05:58:32
Это два абсолютно четких, лаконичных и бесполезных ответа)
Artyem
27.09.2017
06:04:55
Google
Anton [Mgn, az09@osm]
27.09.2017
06:07:12
Всего лишь 51-я ссылка в этом чате по запросу github. @vis1712 не благодари
https://github.com/goq/telegram-list
Vova
27.09.2017
07:03:16
жду рекламу:)
Massimo
27.09.2017
08:36:59
Подскажите можно ли на уже созданную бд установить owner и как? Я нашел только что можно при создании указать владельца.
Alexander
27.09.2017
08:37:45
ALTER DATABASE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
Айтуар
27.09.2017
08:54:10
Alexander
27.09.2017
08:57:29
Massimo
27.09.2017
09:23:52
Mikhail
27.09.2017
11:48:01
Всем привет. Небольшой вопрос: Кто знает, что из себя представляет файл backup, сделанный с помощью pgadmin4 базы. Чем наглядно можно посмотреть его содержимое?
Айтуар
27.09.2017
11:50:50
Mikhail
27.09.2017
11:54:38
Это ни о чем не говорит :)
Айтуар
27.09.2017
11:55:53
посмотри, там есть где-то настройки, вкладки
а лучше попробовать и увидишь
Mikhail
27.09.2017
11:58:37
Айтуар
27.09.2017
11:59:40
Mike Chuguniy
27.09.2017
12:02:04
Massimo
27.09.2017
12:08:13
Set client_encoding устанавливает кодировку для всех пользователей или только для того, с которого сидишь?
Айтуар
27.09.2017
12:11:20
Google
Dmitry
27.09.2017
13:56:16
Ребят, привет! Подскажите, пожалуйста, если в функции с указанием language SQL я указываю два стэйтмента, можно сказать что они запускаются в режиме транзакции. Если это обычный запрос, то я это объединяю их в begin; end; нужно создать функцию с аналогичной логикой.
Mikhail
27.09.2017
14:12:57
Dmitry
27.09.2017
14:35:54
с какой логикой то? :)
Там два запроса нужно чтобы они выполнялись в режиме транзакции. Проблема в том что я не могу написать begin;end; в функции как я это делаю в обучнлм запросе. Из чего у меня закралось подозрение что все функции запускаются в режиме транзакций.
Mikhail
27.09.2017
14:47:33
Darafei
27.09.2017
14:55:22
Vladimir
27.09.2017
15:10:08
Ребята, привет.
У нас возникла такая дилемма. Представим что есть сущности Работа, Работник и Группа работников. Работник может быть активный или неактивный.
У работы можно указать несколько работников и несколько групп работников.
У группы работников можно указать несколько работников.
Задача - быстро посчитать кол-во активных работников в группе и в работе. С группой все более менее нормально, но вот с работой сложнее. Например, если работник #1 относится и к группе #1, если мы привяжем его отдельно и группу к работе, то его мы должны посчитать 1 раз.
В результате получается сложный запрос, сджойнить в том фреймворке, который мы юзаем, проблематично, в результате у нас делается так - на странице показывается 20 работ, делаем 1 селект чтобы их получить и потом еще 20 селектов на подсчет кол-ва активных работников. И это не айс.
Появилась идея хранить счетчики прямо в базе + триггерами инкрементить/декрементить их. Например, добавили работника в группу - обновили счетчик у группы + обновили счетчик у всех работ, куда привязана группа. Удалили работника - декрементнули счетчик всех работ, куда он явно был привязан + счетчики групп, куда он был привязан, а группа каскадно обновляет счетчики работ, куда они были привязаны.
Подскажите, насколько этот вариант адекватный для прода? Есть сомнения по поводу одновременных count = count + 1, есть опасения что эти счетчики буду сходится с реальными цифрами.
Mikhail
27.09.2017
15:10:39
А чего в pgadmin4 не реализован ssh тоннель? Даже как то странно...
Pavel
27.09.2017
15:11:41
Mikhail
27.09.2017
15:12:33
Реализуй сам?
Да не проблема :) Могу вообще без самого pgadmin обойтись, быстрее будет :)
Fike
27.09.2017
15:12:40
Ребята, привет.
У нас возникла такая дилемма. Представим что есть сущности Работа, Работник и Группа работников. Работник может быть активный или неактивный.
У работы можно указать несколько работников и несколько групп работников.
У группы работников можно указать несколько работников.
Задача - быстро посчитать кол-во активных работников в группе и в работе. С группой все более менее нормально, но вот с работой сложнее. Например, если работник #1 относится и к группе #1, если мы привяжем его отдельно и группу к работе, то его мы должны посчитать 1 раз.
В результате получается сложный запрос, сджойнить в том фреймворке, который мы юзаем, проблематично, в результате у нас делается так - на странице показывается 20 работ, делаем 1 селект чтобы их получить и потом еще 20 селектов на подсчет кол-ва активных работников. И это не айс.
Появилась идея хранить счетчики прямо в базе + триггерами инкрементить/декрементить их. Например, добавили работника в группу - обновили счетчик у группы + обновили счетчик у всех работ, куда привязана группа. Удалили работника - декрементнули счетчик всех работ, куда он явно был привязан + счетчики групп, куда он был привязан, а группа каскадно обновляет счетчики работ, куда они были привязаны.
Подскажите, насколько этот вариант адекватный для прода? Есть сомнения по поводу одновременных count = count + 1, есть опасения что эти счетчики буду сходится с реальными цифрами.
Об одновременных обновлениях должен заботиться mvcc, насколько я понимаю, у вас просто транзакция не пройдет в случае одновременного выполнения триггера. Но в идеале у вас должна быть кнопка "пересчитать" для админов, чтобы в случае логических ошибок можно было получить гарантированно верное значение.