Anton [Mgn, az09@osm]
17.05.2018
12:14:55
Павел
17.05.2018
12:19:59
туплю ппц..
➜ ~ sudo service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Чт 2018-05-17 17:10:28 +05; 5min ago
Main PID: 4713 (code=exited, status=0/SUCCESS)
май 17 17:10:28 lip systemd[1]: Starting PostgreSQL RDBMS...
май 17 17:10:28 lip systemd[1]: Started PostgreSQL RDBMS.
май 17 17:10:30 lip systemd[1]: Started PostgreSQL RDBMS.
типа всё норм, но!:
Google
Павел
17.05.2018
12:19:59
➜ ~ sudo netstat -nltp | grep 5432
➜ ~ sudo netstat -nltp | grep 5433
➜ ~ sudo netstat -nltp | grep 5431
➜ ~ sudo netstat -nltp | grep 5430
➜ ~ sudo netstat -nltp | grep 5434
➜ ~ ps axf | grep postgres
5800 pts/18 S+ 0:00 | \_ grep —color=auto —exclude-dir=.bzr —exclude-dir=CVS —exclude-dir=.git —exclude-dir=.hg —exclude-dir=.svn postgres
➜ ~
➜ ~ psql
psql: не удалось подключиться к серверу: Нет такого файла или каталога
Он действительно работает локально и принимает
соединения через доменный сокет "/var/run/postgresql/.s.PGSQL.5432"?
➜ ~
sudo service пишет, что всё ок, но постгреса нет на порту, и процесса с таким именем тоже нет
и psql ессно не подключается
удалял purge, ставил без ошибок, перезагружался - не работает
народ, прошу, помогите, а?
Darafei
17.05.2018
12:21:08
а что в конфиге он должен слушать?
Павел
17.05.2018
12:22:03
Denis
17.05.2018
12:22:16
так он вообще не запустился, видимо
Darafei
17.05.2018
12:22:19
в postgresql.conf
Павел
17.05.2018
12:22:41
Anton [Mgn, az09@osm]
17.05.2018
12:22:54
Google
Павел
17.05.2018
12:23:09
Darafei
17.05.2018
12:23:16
в pg_hba уже права, а перед правами слушать нужно
Павел
17.05.2018
12:24:18
я даже не понимаю где логи ошибок смотреть, ибо сервис то не работает, а при запуске от sudo service никаких ошибок нет...
Denis
17.05.2018
12:24:54
загляните в /var/logs/postgres, если есть
Nikita
17.05.2018
12:25:31
он же по дефолту вроде в свою папку пишет логи
типа data/pg_log
Павел
17.05.2018
12:25:52
➜ ~ cat /var/log/postgresql/postgresql-9.6-main.log
➜ ~
больше в той папке логов нет
Dmitriy
17.05.2018
12:29:12
Victor
17.05.2018
12:30:27
union не пойдет?
Dmitriy
17.05.2018
12:31:26
нет никак
Darafei
17.05.2018
12:32:40
or?
Dmitriy
17.05.2018
12:32:50
Darafei
17.05.2018
12:32:59
как не поддерживается?
Dmitriy
17.05.2018
12:33:20
в BQ нельзя так соединять
Darafei
17.05.2018
12:33:27
в чём?
Dmitriy
17.05.2018
12:33:39
Google Big query
Darafei
17.05.2018
12:34:23
этот чат по postgresql, в postgresql можно писать любое логически валидное выражение в on в join
Vladimir
17.05.2018
12:34:40
Case when ..
Darafei
17.05.2018
12:35:28
так что искать, какими костылями обойти в вашей БД
Google
Vladimir
17.05.2018
12:35:50
Or свяжет в обоих случаях.
Если привязался первый надо ли вязать второй?
Darafei
17.05.2018
12:35:51
интересно, кстати, если в postgres его в fdw подтянуть, оно ведь сделает этот join
where a1=b1 or (a1 != b1 and a2=b2)
Dmitriy
17.05.2018
12:38:26
Darafei
17.05.2018
13:00:21
давайте сделаем такой суперскоростной постгрес. если в запросе есть два секскана и nested loop join, выдавать "запрос не поддерживается".
Сергей
17.05.2018
13:03:28
And
17.05.2018
13:08:26
в постгре триггеры могут только процедуры вызывать? обычный кусок кода нет возможности?
Сергей
17.05.2018
13:09:05
что такое обычный кусок кода?
And
17.05.2018
13:09:50
if (...)
update ...
Сергей
17.05.2018
13:09:55
Lev
17.05.2018
13:20:10
Darafei
17.05.2018
13:20:37
тем, что выполняется в контексте сервера баз данных
And
17.05.2018
13:21:28
тем, что ее нужно создать и хранить где-то, и тем что ее может вызвать другой
и если у вас 200 триггеров, то как я понял, вы обязуетесь создать 200 процедур
или можно обойтись без них?
Sergey
17.05.2018
13:23:30
And
17.05.2018
13:24:34
ребята, вопрос не в этом)
если есть политика "ухода от процедур"
то есть ли возможность создать триггер на постгре без процедур
Сергей
17.05.2018
13:27:06
Darafei
17.05.2018
13:27:35
"уход от логики в базе"
Google
And
17.05.2018
13:31:39
Сергей
17.05.2018
13:38:19
Yaroslav
17.05.2018
13:41:35
Oatmeal
17.05.2018
13:46:29
Oracle developer
Уровень зарплаты
От 65 000 ₽
Город Новосибирск
Специализации по заявке
Информационные технологии, интернет, телеком
Программирование, Разработка
Обязанности:
Участие в автоматизации финансовых проектов, таких как бюджетирование, управленческий учет, и др.
Автоматизация и диспетчеризация производства.
Требования:Что требуется от вас:
Хорошее знание sql и pl/sql - коллекции, аналитические функции, рекурсивные запросы, базовые навыки оптимизации.
Опыт проектирования БД - анализ предметной области, моделирование, нормализация, денормализация.
Умение разбираться в чужом коде.
Умение понять пользователя, нацеленность на конечный результат и клиентоориентированность.
Знание системы контроля версий - git.
Нездоровая тяга к документированию своего кода.
Условия:
Современные технологии разработки,
Трудоустройство по ТК РФ и стабильную заработную плату 2 раза в месяц,
Уровень заработной платы определяется по результатам собеседования
a.svetlana.art@gmail.com
nietzschebrod
17.05.2018
13:47:20
так себе заход
Darafei
17.05.2018
13:49:09
Oracle developer
Уровень зарплаты
От 65 000 ₽
Город Новосибирск
Специализации по заявке
Информационные технологии, интернет, телеком
Программирование, Разработка
Обязанности:
Участие в автоматизации финансовых проектов, таких как бюджетирование, управленческий учет, и др.
Автоматизация и диспетчеризация производства.
Требования:Что требуется от вас:
Хорошее знание sql и pl/sql - коллекции, аналитические функции, рекурсивные запросы, базовые навыки оптимизации.
Опыт проектирования БД - анализ предметной области, моделирование, нормализация, денормализация.
Умение разбираться в чужом коде.
Умение понять пользователя, нацеленность на конечный результат и клиентоориентированность.
Знание системы контроля версий - git.
Нездоровая тяга к документированию своего кода.
Условия:
Современные технологии разработки,
Трудоустройство по ТК РФ и стабильную заработную плату 2 раза в месяц,
Уровень заработной платы определяется по результатам собеседования
a.svetlana.art@gmail.com
привет! а в России всё ещё не запретили Oracle?
Vladimir
17.05.2018
13:49:45
Не все сразу
Andrey
17.05.2018
13:49:59
Oracle developer
Уровень зарплаты
От 65 000 ₽
Город Новосибирск
Специализации по заявке
Информационные технологии, интернет, телеком
Программирование, Разработка
Обязанности:
Участие в автоматизации финансовых проектов, таких как бюджетирование, управленческий учет, и др.
Автоматизация и диспетчеризация производства.
Требования:Что требуется от вас:
Хорошее знание sql и pl/sql - коллекции, аналитические функции, рекурсивные запросы, базовые навыки оптимизации.
Опыт проектирования БД - анализ предметной области, моделирование, нормализация, денормализация.
Умение разбираться в чужом коде.
Умение понять пользователя, нацеленность на конечный результат и клиентоориентированность.
Знание системы контроля версий - git.
Нездоровая тяга к документированию своего кода.
Условия:
Современные технологии разработки,
Трудоустройство по ТК РФ и стабильную заработную плату 2 раза в месяц,
Уровень заработной платы определяется по результатам собеседования
a.svetlana.art@gmail.com
Казалось бы, причём тут postgres?
Vladimir
17.05.2018
13:51:15
Ilya
17.05.2018
14:41:22
Привет! Тут есть питонисты? У меня psycopg, делаю запрос cursor.execute() — отрабатывает один час. Затем прохожу по всем строкам и складываю их в dict — неожиданно, ещё один час. Вопрос: может ли быть такое, что банальная итерация по строкам занимает столько же времени, сколько сам запрос? Строк чуть больше миллиона.
Ilia
17.05.2018
14:48:25
э...
Писал я на нём...
vlade11115
17.05.2018
14:50:45
Ilia
17.05.2018
14:51:08
Vyacheslav
17.05.2018
14:51:45
vlade11115
17.05.2018
14:51:47
Показалось что ты ответил сам себе.
Ilya
17.05.2018
14:52:37
Vyacheslav
17.05.2018
14:55:58
я бы убился бы час ждать
удивительно, что это не кажется первостепенной проблемой
Ilya
17.05.2018
14:57:20
это проблема, да. Я когда-то сократил с двух, но дальше забил
Google
Vyacheslav
17.05.2018
14:58:17
может тогда возвращать сырые данные в python и обрабатывать там?
Ilya
17.05.2018
15:01:56
Тогда получится вложенный запрос, что едва ли быстрее.
Если интересно, запрос вот: https://github.com/Zverik/omim/blob/75264b67534e739c4219e9055b250f8f9f8742a9/tools/geocoder_pg/places_feed.py#L13 (в таблице под 2 млн строк, но из-за place in (...) получается seq scan, т.к. под условие попадают больше половины строк)
Ilia
17.05.2018
15:11:39
Vyacheslav
17.05.2018
15:12:06
нельзя не дофетчить до конца
Ilia
17.05.2018
15:12:13
Vyacheslav
17.05.2018
15:12:44
def exec_func_select(self, query):
conn = psycopg2.connect(self.CONN_STRING)
cursor = conn.cursor()
try:
cursor.callproc(query)
output = cursor.fetchall()
return output
except psycopg2.Error as e:
print(e.pgerror)
print(e.diag.message_detail)
sys.exit(1)
finally:
cursor.close()
conn.close()
как тут не дофетчить?
Jim
17.05.2018
15:13:50
@ilyazver попробуй лучше пачками данные читать, а не всё сразу в память
раз так много
Ilia
17.05.2018
15:14:25
Jim
17.05.2018
15:14:26
мне думается что эффективнее будет
Ilia
17.05.2018
15:14:50
Ilya
17.05.2018
15:15:41
Ilia
17.05.2018
15:16:24
1,1 млн примерно
Как сам думаешь, СУБД имеет память чтобы хранить твои эти 1.1. млн записей?
Vyacheslav
17.05.2018
15:17:07