
Ilia
09.07.2018
10:53:18

Vladislav
09.07.2018
10:53:26
я ставлю либу
мне не надо никакой клиент
все есть в либе

Google

Igor
09.07.2018
10:54:33
Братюни, годноты притащу — вдруг кому нужна шаровая БД на 500 Мб. MongoDB для экспериментов "на котиках". https://mlab.com/

Vladislav
09.07.2018
10:54:33
сейчас вот екпортер в прометеус прикручиваю на гошечке, так там надо скачать исходники и скомпилить через oci

Ilia
09.07.2018
10:54:43
я ставлю либу
Любая пинонячья либа почти использует драйвера C-шные нижнего уровня.
Другой вопрос, что многие клиенты УЖЕ ВСЕГДА СТОЯТ С ПОДАЧИ в линуксах, пакеты с ними предустановлены.
А Оракловые, естественно , нет, потому что проприетарные.

Vladislav
09.07.2018
10:55:04
ничего не стоит
у тебя голая система, ставишь питон, ставишь либу и ты в БД

Ilia
09.07.2018
10:55:51
ничего не стоит
Ну может когда pip install делаешь, оно подгоняет...
Проприетарщину оно естественно не подтянет.

Vladislav
09.07.2018
10:56:18
проверь

Ilia
09.07.2018
11:03:47
Есть клиентские библиотеки для Python , которые работают без нижних драйверов на С, да. Это только там, где ПРОТОКОЛ с сервером известный, открытый.
У проприетарных таких нет, только для Sybase/MSSQL есть старый-старый FreeTDS расхаканый, и тот уже не работает давно.

Vladislav
09.07.2018
12:32:08
prometheus кто-нибудь умеет готовить?

Denis
09.07.2018
12:32:47

Vladislav
09.07.2018
12:34:35
подозреваю, нет полей у табицы

Denis
09.07.2018
12:35:05

Google

Vladislav
09.07.2018
12:35:33
покажи селект аналогичный

Anton
09.07.2018
12:36:41
а как у тебя addTable должен разрешиться во втором INSERT... замени addTable на @AdditionalTable

Mikhail
09.07.2018
12:37:03
Господа хорошие, а кто тут aws rds юзает
вот то, что они говорят, что там PostgreSQL - это правда постгря, или это enterprisedb?

Anton
09.07.2018
12:37:20
точнее вообще не так - в INSERT тоже JOIN нужен

Vladislav
09.07.2018
12:38:32

Mikhail
09.07.2018
12:39:22
напиши им, спроси
дба написал, но это как минимум надолго. Со своих страниц они всё упоминание enterprisedb выпилили
хотя еще полгода назад было

Vladislav
09.07.2018
12:40:10
хз, я только ораклом интересовался у них

Mikhail
09.07.2018
12:40:34

Vladislav
09.07.2018
12:40:44
хотите переехать?

Mikhail
09.07.2018
12:40:52
по деньгам экономия серьезная

Vladislav
09.07.2018
12:41:08
если сделаете, напишите историю, интересно будет почитать, что и как

Mikhail
09.07.2018
12:41:18
а постгря счас уже оч многое умеет
в 10.3 как я понял - допилили нормально партишны

Vladislav
09.07.2018
12:42:14
там уже 11 вроде релизнули
или RC
я уже не успеваю за их мажор релизами следить...

Mikhail
09.07.2018
12:43:31
нет, это видимо еще RC

Google

Mikhail
09.07.2018
12:43:36
последний стейбл - 10.3
я вчера локально систему с генерацией базы поднял на постгресе - основное всё заработало
но то постгрес коммьюнити
а что они там прячут под постгресом - это прям хороший вопрос

Ilia
09.07.2018
12:58:41
Гы, вот нафига такое вообще делать? Курсор, UPDATE....

Михаил Власов
09.07.2018
13:00:03
Чтоб потом голову ломать что проаптейтилось и откатывать.)

Fike
09.07.2018
14:11:54

Arthur
09.07.2018
14:29:46
а на чём программа-то ?
Обычно, есть всякие ивенты вроде ApplicationClosing, ApplicationClosed, Suspending и тд
если с EF работаешь, то можешь контексты шарабанить, только диспозить их не забудь

Natali
09.07.2018
20:24:03
привет
скажите, а можно ли делать форейн кей (пусть будет fk1) на форейн кей (допустим, fk2), если fk2 ссылается на первичный ключ, то есть его уникальность гарантирована
?

Natali
09.07.2018
20:26:18
в инете пишут, что главное обеспечить уникалтность
вот по этой ссылке, к прииеру
https://sql-language.ru/foreign-key.html
наличие связи в таблицах с fk1 и fk2 один к 1- контролируется пакетно
короче все фигня, так лучше не делать

Vladislav
09.07.2018
21:27:50
Многие ко многим что-ли?

lost
09.07.2018
21:35:37
А смысл этого паравозика, если можно два fk на одну родительскую повесить

Natali
09.07.2018
21:37:57
да я поняла что это тупость

Google

Natali
09.07.2018
21:38:27
1 к 1-в таблицах с пк и fk2. выше неправильно написала

woland
09.07.2018
23:15:00
Нужен совет по изучению ssis где и как?

Al
10.07.2018
04:43:13

Sergey
10.07.2018
06:08:24

Al
10.07.2018
06:10:14

Sergey
10.07.2018
06:10:43

Admin
ERROR: S client not available

Fike
10.07.2018
06:10:57
запретные

Al
10.07.2018
06:11:23

Sergey
10.07.2018
06:18:43
идеально

Al
10.07.2018
06:19:04

Fike
10.07.2018
06:19:26
> notice me sempai...
> DATA CHANGE DETECTED, THE TRIGGER HAS BEEN RUN

Al
10.07.2018
06:21:28
Спокойно.

Fike
10.07.2018
06:34:16


Nikita
10.07.2018
07:11:57
Ох, мне тут в наследство достался запрос на 2к строк. Что-то не могу сооброзить как его переписать
весь запрос состоит из примерно сотни вот таких подзапросов
select 85 as 'store_id', (select name from core_store where store_id=85) as 'Store',
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 0 DAY AND store_id=85) as '-0'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 1 DAY AND store_id=85) as '-1'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 2 DAY AND store_id=85) as '-2'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 3 DAY AND store_id=85) as '-3'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 4 DAY AND store_id=85) as '-4'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 5 DAY AND store_id=85) as '-5'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 6 DAY AND store_id=85) as '-6'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 7 DAY AND store_id=85) as '-7'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 8 DAY AND store_id=85) as '-8'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 9 DAY AND store_id=85) as '-9'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 10 DAY AND store_id=85) as '-10'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 11 DAY AND store_id=85) as '-11'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 12 DAY AND store_id=85) as '-12'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 13 DAY AND store_id=85) as '-13'
Вопрос вообщем в следующем, как можно избавится от этого?


Fike
10.07.2018
07:13:23
результат - одна строка?

Nikita
10.07.2018
07:13:30
проблема для меня именно в строке
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 1 DAY AND store_id=85) as '-1'
никак не могу сооброзать как кучу этих строчек превратить в один запрос.
@etkee да

Fike
10.07.2018
07:15:53
я бы тогда перешел на GROUP BY и возвращал обычную двухмерную матрицу, на каждый интервал отдельная строка

Google

Fike
10.07.2018
07:16:16
другие способы мне неизвестны, но из-за необходимости называть столбцы их может и не быть / это могут быть поехавшие хаки

Nikita
10.07.2018
07:17:34
Хм. Общуюю концепцию понял. Однако можно попросить показать как это сделать? :Е

Fike
10.07.2018
07:18:30
пока что точно нет, я не такой хороший SQL-спец и деюажу параллельно билд, может кто-то другой нарисует

Nikita
10.07.2018
07:20:03
Да я вот сам не сильно крутой sql-спец. Буду ждать добрых людей и курить маны.

Simon
10.07.2018
07:28:58

Nikita
10.07.2018
07:31:12
скинул в личку

Natali
10.07.2018
08:06:46


Ilia
10.07.2018
09:11:00
идеально
Это для совсем полных дебилов...
А так -- читай Дейта, Ульмана...
Ох, мне тут в наследство достался запрос на 2к строк. Что-то не могу сооброзить как его переписать
весь запрос состоит из примерно сотни вот таких подзапросов
select 85 as 'store_id', (select name from core_store where store_id=85) as 'Store',
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 0 DAY AND store_id=85) as '-0'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 1 DAY AND store_id=85) as '-1'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 2 DAY AND store_id=85) as '-2'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 3 DAY AND store_id=85) as '-3'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 4 DAY AND store_id=85) as '-4'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 5 DAY AND store_id=85) as '-5'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 6 DAY AND store_id=85) as '-6'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 7 DAY AND store_id=85) as '-7'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 8 DAY AND store_id=85) as '-8'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 9 DAY AND store_id=85) as '-9'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 10 DAY AND store_id=85) as '-10'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 11 DAY AND store_id=85) as '-11'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 12 DAY AND store_id=85) as '-12'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 13 DAY AND store_id=85) as '-13'
Вопрос вообщем в следующем, как можно избавится от этого?
Это весь запрос?
А чем не устраивает?
Ох, мне тут в наследство достался запрос на 2к строк. Что-то не могу сооброзить как его переписать
весь запрос состоит из примерно сотни вот таких подзапросов
select 85 as 'store_id', (select name from core_store where store_id=85) as 'Store',
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 0 DAY AND store_id=85) as '-0'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 1 DAY AND store_id=85) as '-1'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 2 DAY AND store_id=85) as '-2'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 3 DAY AND store_id=85) as '-3'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 4 DAY AND store_id=85) as '-4'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 5 DAY AND store_id=85) as '-5'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 6 DAY AND store_id=85) as '-6'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 7 DAY AND store_id=85) as '-7'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 8 DAY AND store_id=85) as '-8'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 9 DAY AND store_id=85) as '-9'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 10 DAY AND store_id=85) as '-10'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 11 DAY AND store_id=85) as '-11'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 12 DAY AND store_id=85) as '-12'
,
(select count(1) from sales_flat_order where status IN ('reserved', 'complete', 'collect') and date(created_at)=curdate()-INTERVAL 13 DAY AND store_id=85) as '-13'
Вопрос вообщем в следующем, как можно избавится от этого?
Я не вижу весь запрос.
Видимо, тут нужен PIVOT, если СУБД поддерживает его, можно переписать.
Если нет, можно PIVOTING делать НА КЛИЕНТЕ, соотв. на сервере можно размернуть столбцы в строки.


Al
10.07.2018
11:40:49

Natali
10.07.2018
13:18:08

Ilia
10.07.2018
13:21:01

Amir
10.07.2018
13:59:45
гайз а кто может подсказать, чего тут вообще в коде под постгрю:
select t.table_name, t.table_type, c.relname, c.relowner, u.usename
from information_schema.tables t
join pg_catalog.pg_class c on (t.table_name = c.relname)
join pg_catalog.pg_user u on (c.relowner = u.usesysid)
where t.table_schema='staging_acme_prod'
order by t.table_name asc;

Михаил Власов
10.07.2018
14:27:24
Буквы там.