@dba_ru

Страница 519 из 718
Vladislav
28.05.2018
10:01:23
на сайте оракла был какой-то онлайн инструмент, но что там можно делать, я хз

Andrey
28.05.2018
10:03:16
да вот я пробовал как раз, но ошибки неведомые человеку выдает эта тулза

Sergey
28.05.2018
10:07:07
Ежели администрирование всякое, то проще скачать image под virtualbox

Google
Ilia
28.05.2018
13:13:10
законно ли хранить в базе колонку с циферками?
Aл, построить индекс-то можно, только искать по нему можно будет только ВЕСЬ НАБОР БИТОВ ЦЕЛИКОМ. А нужно-то наверняка искать объекты с только определёнными установленными битами... 1НФ -- она совсем неспроста в РСУБД...

На btree селективность битмаски будет плохая, а у постгреса есть оптимизации свои для ьитовых операций
ОДной маски --да, хотя и это не факт. Как минимум у ОДНОГО ЗНАЧЕНИЯ этого битика селективность можетбыть хорошей. У другого значения при этом будет плохой. НО по НАБОРУ битиков в совокупности (2-5 например) селективность вполне может быть очень хорошей.

Что не устраивает?
Не устраивают все остальные битики этого числа. Они могут быть произвольными.

Al
28.05.2018
13:37:34
Не устраивают все остальные битики этого числа. Они могут быть произвольными.
И что? Это только значит что тебе будут нужны все числа от Х и больше за исключением нескольких

Ilia
28.05.2018
13:38:59
И что? Это только значит что тебе будут нужны все числа от Х и больше за исключением нескольких
Ну, ты будешь в IN (...) все возможные, скажем, 10 тыщ вариантов указывать?

lost
28.05.2018
13:43:49
А если нужные битики в середине числа, то И МЕНЬШЕ.
берется минимальное число с самым правым битом установленным в 1, и усё, и да, числа только больше

Ну, ты будешь в IN (...) все возможные, скажем, 10 тыщ вариантов указывать?
это не обязательно кстати, можно делать between по интовому диапазону, а потом делать битовый сдвиг по нужным позициям маски, правда что будет по селективности - не понятно

Google
Al
28.05.2018
13:50:44
Попробуй с 3 битиками. Если тебе нужен первый единичка то тебя устроят все от 4 до 7.

lost
28.05.2018
13:51:28
значит с ростом кол-ва бит селективность будет деградировать

Al
28.05.2018
14:04:03
Да. Все зависит от количества бит. Но все исключения можно просчитать динамически

Sheldhur
28.05.2018
14:04:48
ебать, вас до сих пор не отпускает?

Виктор
28.05.2018
14:05:38
ебать, вас до сих пор не отпускает?
уже зависимость от битовых масок)

Dmitrii
28.05.2018
15:29:31
Давйте еще завтра обсудим этот вопрос

А то я не уверен, что все всё поняли и пришли к единому выводу )

Ilia
28.05.2018
15:34:46
А у меня просто Телега не работала... Вот я сегодня и поотвечал

Marlik
28.05.2018
15:44:29
Люди, подскажите, чот гдет косячу, но не понимаю где: CREATE TABLE if NOT EXISTS users ( id serial PRIMARY KEY, chatid integer UNIQUE ); CREATE TABLE if NOT EXISTS pools ( id serial PRIMARY KEY, pool text UNIQUE, users_id integer not null references users(id) on delete cascade on update cascade ); CREATE TABLE if NOT EXISTS address ( id serial PRIMARY KEY, addr text UNIQUE, pools_id integer not null references pools(id) on delete cascade on update cascade ); Пытаюсь сделать апдейт, ошибка, вот один из вариантов... sqlStatement := `WITH q1 AS (UPDATE pools SET pool = $1), q2 AS (UPDATE address SET addr = $2) FROM users WHERE chatid = $3;` _, err := p.dbConn.Exec(sqlStatement, pool, addr, chatID)

Чот и доку не могу найти как такие запросы правильно делать...

Marlik
28.05.2018
15:50:15
Сделать апдейт двух таблиц pools и address, которые связаны.

Чот в терминалке ручками тоже не идёт.

Dmitrii
28.05.2018
15:50:50
Покажи запрос

Dmitrii
28.05.2018
15:51:10
CTE не может быть update -ом
Может. Может быть даже инсертом

И даже с RETURNING'ом

Marlik
28.05.2018
15:51:44
Покажи запрос
WITH q1 AS (UPDATE pools SET pool = $1), q2 AS (UPDATE address SET addr = $2) FROM users WHERE chatid = $3;

Ilia
28.05.2018
15:51:49
Google
Marlik
28.05.2018
15:52:21
Два update в транзакции.
Хотелось в одном запросе, вот и мучаюсь.

Ilia
28.05.2018
15:52:55
Dmitrii
28.05.2018
15:52:57
WITH q1 AS (UPDATE pools SET pool = $1), q2 AS (UPDATE address SET addr = $2) FROM users WHERE chatid = $3;
WITH q1 AS ( UPDATE pools SET pool = $1 ), q2 AS ( UPDATE address SET addr = $2 ) SELECT * FROM users WHERE chatid = $3;

Marlik
28.05.2018
15:53:57
WITH q1 AS ( UPDATE pools SET pool = $1 ), q2 AS ( UPDATE address SET addr = $2 ) SELECT * FROM users WHERE chatid = $3;
А, вот наверное вот это мне нужно, где селект, щас запробую.

Ilia
28.05.2018
15:53:57
Marlik
28.05.2018
15:54:13
Dmitrii
28.05.2018
15:54:27
WITH q1 AS ( UPDATE pools SET pool = $1 ), q2 AS ( UPDATE address SET addr = $2 ) SELECT * FROM users WHERE chatid = $3;
А это тоже чуть не так. Только первый селект тебе придется убрать в самый первый CTE чтобы его результат использоваться для второго и третьего CTE для апдейтов

Чтобы WHERE накинуть на UPDATE

Смотри там уже по схеме у себя сам

Dmitrii
28.05.2018
15:56:36
WITH q0 AS ( SELECT * FROM users WHERE chatid = $3; ), q1 AS ( UPDATE pools SET pool = $1 FROM q0 WHERE q0.XX = pools.YY ), q2 AS ( UPDATE address SET addr = $2 FROM q0 WHERE q0.XX = address.YY ) SELECT 1

Dmitrii
28.05.2018
15:56:43
Ага, понял.
^ вот примерно так

Не уверен что это работает, наерное понадобятся правки

Да ладно...
Я недавно писал CTE на основе результата вставки из CTE делал JOIN чтобы связать свежевставленные данные с другой таблицей без повторной выборки. Т.е. INSERT у меня магическим образом высрал таблицу через RETURNING которую я вынул наружу через CTE.

Может даже в MySQL ребята подтянулись

Захар
28.05.2018
16:14:25
ребят я использую mysql workbench я создал бд стандартную с пользователем root

как от него узнать пароль что приконектится из idea?

Ilia
28.05.2018
16:21:14
Ёпрст, ты же задавал его когда сервер ставил!

Захар
28.05.2018
16:21:59
надо сделать все сначала чтоб я точно все помнил

Google
Ilia
28.05.2018
16:22:27
А так при доступе к серверу под рутом можно сменить его. Там какой-то параметр надо вхренячить в конфиг, перезапусить, и он его поменяет и в лог запишет.

Кажется

Захар
28.05.2018
16:22:44
да мне легче новую бд создать

со своимм данными логином и паролем

Ilia
28.05.2018
16:22:59
Ну создай

Admin
ERROR: S client not available

Ilia
28.05.2018
16:24:21
вообще вроде если под рутом заходишь и mysql потом, то вроде как оно должно без пароля входить, если я опять с PG не спутал.

Захар
28.05.2018
16:25:22
так мне из idea подключиться

надо полностью снести mysql

Dmitrii
28.05.2018
16:47:22
А вот тут что подразумевается? WHERE q0.XX = pools.YY
Сязка первичного ключа с внешним ключем

Двух таблиц

Захар
28.05.2018
16:58:10


Marlik
28.05.2018
17:08:23
Сязка первичного ключа с внешним ключем
Ругается что нет такого ключа. Мне там его объявить нужно? Типа FOREIGN KEY?

На users_id ругается.

Захар
28.05.2018
17:14:44
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) поменял пароль как в иснтрукции но все равно ошибка

Marlik
28.05.2018
17:15:43
Захар
28.05.2018
17:16:31
mysqld_safe —skip-grant-tables —skip-networking & я делал через это все было гуд

https://codebeer.ru/sbros-parolya-mysql/ отсюда

Marlik
28.05.2018
17:19:17
Вот так http://dedicatesupport.com/content/sbros-parolya-polzovatelya-root-v-mysql

Google
Захар
28.05.2018
17:20:09
я когда устанавливал свой пароль прописывал

а чот он не прописался

Marlik
28.05.2018
17:20:48
Сразу надо было через терминалку запробовать зайти.

Захар
28.05.2018
17:21:27
все опять удалять?

/usr/bin/mysqld_safe —skip-grant-tables —user=root & равна ли этой? mysqld_safe —skip-grant-tables —skip-networking &

Marlik
28.05.2018
17:22:43
Зачем, попробуйте ещё раз сбросить и зайти через терминалку потом, я этой инструкцией лет 10 наверное назад пользовался как-то... не помню уже.

Захар
28.05.2018
17:23:54
у меня после твоей команды все подвисло



или так надо

Marlik
28.05.2018
17:24:59
Да, через другой терминал команды выполняйте, а вообще там в комментах есть.

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

Захар
28.05.2018
17:28:24
ох как все сложно

ппц

везде ошибки

снести легче

ппц снес установил ввел пароль при установке вроде гуд но все равно пишет Access denied for user 'root'@'localhost' (using password: NO)

или когда из под себя Access denied for user 'slenkis'@'localhost' (using password: NO)

я смог

Страница 519 из 718