Задать вопрос
  • Есть ли БД на видеокартах?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Памяти у видеокарт мало для inmemory. И это не самостоятельное устройство, нужны инструкции от CPU что делать.
    А как глупая числодробилка - есть например для того же postgresql модуль, который может посчитать чего-нибудь большое на GPU вместо CPU, например тот же hash join.
    Ответ написан
    Комментировать
  • Как искоренить нестабильный fps в играх на моём железе?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    При нагрузках от 20-30 минут в любых играх температура до 100 градусов поднимается на комплектном кулере.

    Это гарантированный троттлинг и уход в защиту от перегрева. Порой и reset принудительный защита делает на таких температурах.
    Программно вся защита не отключается. По спецификации - крышка не должна греться выше 67,4 градусов

    М.б. драйвера старой видюхи - Также у меня до этого стояла radeon 6670hd, поставил 1060 и удалил все старые драйвера с очисткой реестра (м.б. есть способ их искоренить более глубоким способом или нужно винду переустановить?).

    Да, это так же может быть причиной.

    Частота видеопамяти - есть два момента:
    - программа может выводить частоту шины, тогда как память используется DDR - double data rate. Соответственно эффективная частота в два раза выше (скорей всего это вы и наблюдаете, не знаю что там aida показывает)
    - если смотреть в простое, то это может быть пониженная частота режима энергосбережения
    Ответ написан
    1 комментарий
  • Подойдут ли два монитора?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Нет.
    У E5300 вообще нет видеоядра и потому этот процессор в принципе никак с монитором взаимодействовать не может.

    Если на вашей материнской плате есть видеовыходы - значит видеоядро встроено в материнскую плату, обычно это в те давние времена было в составе северного моста. Соответственно уточнять необходимо по спецификации материнской платы.
    Два монитора - скорей всего да, с тремя помнится бывали трудности. Но обычно можно поставить какую-нибудь простую дискретную видеокарту.
    Ответ написан
    4 комментария
  • PostgreSQL Как сравнить время?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Практически буквально так и пишется:
    SELECT * from cc_files WHERE lptime < now() - interval '1 hour'
    Ответ написан
    Комментировать
  • В какой момент нужно что-то делать?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    2 млн записей - это такие копейки.
    Что-то делают обычно когда проект не влезает в описание "сейчас никаких проблем".

    Что основное можно сделать:
    покрутить настройки checkpointer (чтобы checkpoint срабатывал реже - резко меньше random i/o, но при крахе база может дольше стартовать), autovacuum (опустить оба scale_factor куда-нибудь в 0.05 - чтобы автовакуум запускался чаще, но делал меньше работы, плюс уменьшить autovacuum_vacuum_cost_delay - это зависит от дисков)
    shared_buffers где-то в 25% от объёма RAM
    включить pg_stat_statements и поглядывать топ запросов оттуда
    Ответ написан
    1 комментарий
  • Как сделать необычную сортировку средствами SQL?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    (select ... from tablename where id < 88 order by id desc limit 50)
    union all
    (select ... from tablename where id > 88 order by id asc limit 50)
    order by id
    Ответ написан
    Комментировать
  • Как запретить создание файла БД при открытии через PHP PDO?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Конструктор почти сразу вызывает sqlite_open, в описании которого говорится:
    The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for sqlite3_open()


    То есть нет, штатного способа нет, похоже на уровне самой библиотеки. Или по крайней мере того способа, как она используется из PDO.
    Ответ написан
    Комментировать
  • Как очистить столбец таблицы postgresql?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Как вы себе это представляете? truncate выкидывает файлы и выделяет пустые. А для колонки? Это не колоночная СУБД.

    Можно сделать так:
    begin;
    alter table tablename drop column foo;
    alter table tablename add column foo ...
    commit;

    Можно создать таблицу через create table as select и потом подменить старую новой.
    Ответ написан
    Комментировать
  • Материнская плата работает только если замкнуть провод?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Если в вашем блоке питания зелёным проводом обозначен 16 пин в 24-контактном разъёме питания (Power on), а чёрными - GND проводники - то именно так материнская плата и должна посылать сигнал для включения питания. Отдельно уточняю именно распиновку, т.к. цвета кабелей не стандартизированы, хоть в основном и используются похожие расцветки.

    Соответственно у вас неисправна кнопка включения питания либо соответствующие цепи материнской платы. Стоит проверить кратким замыканием контактов power switch на материнской плате.
    Плюс имеет смысл проверить напряжение на Power good сигнале (8 пин).
    Ответ написан
    2 комментария
  • Почему данные с checkbox-а не сохраняются в базе?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    TLDR
    input без name браузером не передаётся как элемент формы. Потому что у него нет name.
    Ответ написан
    Комментировать
  • Как по очереди вытащить диски из mdadm RAID1 и вернуть обратно без потери данных выключения питания?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Поднять где-нибудь рядом реплику. Потому что операции на дисках - это всегда опасно.

    проверяете по dmesg что аномалий нет.
    mdadm /dev/md1 -f /dev/sda
    mdadm /dev/md1 -r /dev/sda
    echo 1 > /sys/block/sda/device/delete
    проверяете dmesg
    отключаете диск физически. Если перепутаете - будет очень плохо.
    втыкаете куда надо, проверяете по dmesg что система его нормально увидела
    mdadm /dev/md1 -a /dev/sda
    ждёте по /proc/mdstat синхронизацию. Затем повторяете со вторым диском.
    Ответ написан
    Комментировать
  • Будет ли работать curl 7.34 на php5.3?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    В php есть только те функции, которые специально были экспортированы из C кода. Вот здесь: https://github.com/php/php-src/tree/PHP-5.3/ext/curl

    Соберётся ли php5.3 (в зависимости от минорного релиза датируемый 2009-06-30 - 2014-08-14) с curl 7.34 (2013-12-17 дата релиза) - попробуйте. 5.3.29 по идее должен собраться.
    Ответ написан
    Комментировать
  • Как настроить полный доступ между сетями на mikrotik?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Откуда роутеру знать о существовании сети 192.168.3.0/24? Пропишите статический маршрут, например.
    Или вместо соединения этих двух сетевых железок через 192.168.1.0/24 сделайте vlan'ы на обе сети.
    Ответ написан
    Комментировать
  • API Яндекс Маркет. Откуда брать id?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Из поиска магазинов, очевидно.
    https://tech.yandex.ru/market/content-data/doc/dg-...
    Ответ написан
  • Почему PHP7 работает медленнее?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Казалось бы, ответ очевиден

    Нет, не очевиден. См. близкие Single Thread попугаи.
    У E3-1225 v5 чуть меньшие частоты, но архитектура новее на 3 года. С классическими 5% в год от интела всё равно разница есть.
    Плюс скорей всего здесь больше влияния имеет латентность памяти.
    Ответ написан
    Комментировать
  • Как правильно подключиться к базе данных MySql с помощью Java (JDBC)?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Client does not support authentication protocol requested by server; consider upgrading MySQL client

    Что-то непонятно в сообщении? Обновите клиентскую библиотеку.

    Если речь о mysql 8.0 - то вторая возможность поменять default-authentication-plugin, который был в 8.0 изменён.
    Ответ написан
    Комментировать
  • Как уменьшить трату ресурсов на аутентификацию?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Переписать в один запрос. Ну или в два, смотря как роли вытаскивать.
    Затем поставить memcache или redis и по ключу "токен клиента" писать готовую структуру пользователя и его прав, соответственно добавить инвалидацию при изменениях в базе. Запросы с несуществующими токенами можно тоже кешировать с указанием разумного TTL и переписывать при генерации нового токена.
    Ответ написан
    Комментировать
  • Индекс нужно создавать на внешний ключ или на поле в родительской таблице, на которое ссылается внешний ключ?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Оба конца должны быть с индексами.
    Один хвост проверяется при вставке и изменении таблицы, чтобы поле ссылка вело куда-нибудь.
    Обратная проверка выполняется при изменении/удалении из таблицы справочника, чтобы не удалить случайно строку на которую кто-то ещё ссылается.

    innodb требует, чтобы индекс на referenced (на которую ссылаемся) табличке уже был. Индекс на табличке которой alter table делаем будет неявно создан если отсутствовал. Таким образом innodb требует наличие индексов на обоих концах FK.
    Ответ написан
    Комментировать
  • PDO добавление записи в БД. Что делать?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Call to a member function prepare() on null

    Почему вы вызываете метод класса подсовывая null вместо объекта?
    А почему там может быть null? Например потому, что вы нигде не инициализируете $this->pdo, к тому же у вас выключены E_NOTICE в error_reporting, чем вы запретили интерпретатору показать подсказку..

    Ну и пример использования вашего класса не подходит к фактическому поведению класса.
    Ответ написан
    Комментировать
  • Как исправить кривое отображение столбцов в Postrgresql?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    У вас просто терминал узкий для вашей выборки.
    Широкие результаты часто удобнее читать в широком виде, который переключается с помощью команды \x в psql:

    melkij=> select generate_series(1,3);
     generate_series 
    -----------------
                   1
                   2
                   3
    (3 строки)
    
    melkij=> \x
    Расширенный вывод включён.
    melkij=> select generate_series(1,3);
    -[ RECORD 1 ]---+--
    generate_series | 1
    -[ RECORD 2 ]---+--
    generate_series | 2
    -[ RECORD 3 ]---+--
    generate_series | 3
    Ответ написан
    1 комментарий