primary key - определяет уникальную строку. Про то, что он может быть из одного поля речи нет. Если уникальность задают два поля - то и PK будет состоять из двух полей.
Плюс два foreign key, т.к. это значения-ссылки и будет хорошо, если база сможет проверять существование строк, на которые вы ссылаетесь.
например одна только на передачу, вторая только на прием сигнала, и будет ли увеличение скорости (обе гигабитые)?
В таком виде не имеет смысла, гигабит бывает только полнодуплексный, т.е. возможен одновременно и приём и передача данных. Это 10 и 100мбит ethernet могли быть полудуплексными.
Так и нафига вам сдался STR_TO_DATE? Чтобы дату приводить к строке, потом пытаться ипользуя не тот формат строки привести обратно в дату и сравнивать с литералом, попутно отстрелив всякую возможность использовать индексы? created_at < STR_TO_DATE('01.01.2017', '%d.%m.%Y')
И как там, во времена SIMM?
DIMM могут работать не только парами. Попарно их ставят только ради небольшого преимущества в виде распространённого dual channel (плюс см 3 и 4 канальные контроллеры памяти)
Да как бы вам сказать... Совместимы только если специально так писать запросы.
Те же самые дампы postgresql предпочитает писать через copy, а не insert. Не говоря о большой куче различий в DDL, которые в дампе быть обязаны
Я сомневаюсь, что вы показали именно то место, на которое приходится ошибка. Т.к. сюда попасть https://github.com/php/php-src/blob/PHP-5.4.45/Zen... надо постараться. Но можно, если передать пустую строку.
array_filter разлива 5.4.45 отлично с closure дружит.
Sanes, а в чём проблема-то? Со взрослыми базами никогда не работали? В бинарный бекап включаются накопленные WAL'ы по которым при старте из бекапа штатно приходим в состояние на конец бекапа, pg_dump прочитает слепок базы на момент начала бекапа - MVCC же.
Anton Kuzmichev, it depends. Автовакуум в принципе не может сжимать индексы, а у таблиц отстреливает только хвост. Если дырка в начале или середине датафайла - то объём базы автовакуумом уменьшаться не будет.
freeExec, это был автору вопрос. Почему ставит php70-pdo-pgsql, а проверяет функцию другой библиотеки.
Версия pg - не о том. pg_escape_string экспортируется ещё с PHP 4.2.0, у libpg тоже всё хорошо с обратной совместимостью
Jack Sparrow: потому что считает себя базой данных. Раз сказали "сохраняйся!" а сохраняться не получается - значит это авария. Но поскольку он не ACID и не даёт D из этой аббревиатуры - то обижается только при непосредственной попытке сохранить образ, а не в ответ на обязательный сброс журнала транзакций перед коммитом.
Если уж беспокоит возможность за время жизни проекта отмотать один раз bigint (~3 млрд операций в секунду на протяжении 100 лет) - то делайте сначала update руками. Если affected rows не было, то insert on conflict.
Плюс два foreign key, т.к. это значения-ссылки и будет хорошо, если база сможет проверять существование строк, на которые вы ссылаетесь.