В стандарте иерархии файловой системы `/ var / lib / указывается как (курсивом - самая важная часть):
5.8.1 Цель
Эта иерархия содержит информацию о состоянии, относящуюся к приложению или системе. Информация о состоянии - это данные, которые программы изменяют во время работы и которые относятся к одному конкретному хосту. Пользователям никогда не нужно изменять файлы в / var / lib для настройки работы пакета.
Информация о состоянии обычно используется для сохранения состояния приложения (или группы взаимосвязанных приложений) между вызовами и между различными экземплярами одного и того же приложения. Информация о состоянии, как правило, должна оставаться действительной после перезагрузки, не должна регистрировать выходные данные и не должна содержать буферные данные.
Приложение (или группа взаимосвязанных приложений) должно использовать подкаталог / var / lib для своих данных. Существует один обязательный подкаталог, / var / lib / misc, который предназначен для файлов состояния, которым не требуется подкаталог; другие подкаталоги должны присутствовать, только если рассматриваемое приложение включено в дистрибутив.
/ var / lib / - это местоположение, которое необходимо использовать для поддержки всех пакетов распространения. Разные дистрибутивы могут использовать разные имена, конечно.
Вкратце: / var / lib / для данных, которые используются локально.
Поэтому имеет смысл поместить данные базы данных в каталог / var / lib / {mysql | postgress} /, но ... FHS - это стандарт, созданный в основном для использования дистрибутивами . Как пользователь, вы можете свободно размещать свои данные в любом месте, и это в основном вопрос мнения.
Вы неправильно понимаете слово «местный». / usr / local / bin / предназначен не для системного программного обеспечения, а для вашего собственного программного обеспечения (в общем, система не должна затрагивать что-либо, имеющее «локальный» вход). Как объясняет FHS:
/ USR / местные /
4.9.1 Цель
Иерархия / usr / local предназначена для использования системным администратором при локальной установке программного обеспечения. Он должен быть защищен от перезаписи при обновлении системного программного обеспечения. Он может использоваться для программ и данных, которые являются общими для группы хостов, но не найдены в / usr. Локально установленное программное обеспечение должно быть размещено в / usr / local, а не / usr, если оно не устанавливается для замены или обновления программного обеспечения в / usr.
Исполняемый файл, установленный из системного программного обеспечения, никогда не должен идти ни к чему локальному.
Теперь для / usr / lib / .
4.7.1 Цель
/ usr / lib содержит объектные файлы, библиотеки и внутренние двоичные файлы, которые не предназначены для непосредственного выполнения пользователями или сценариями оболочки. Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависящие от архитектуры данные, используемые исключительно приложением, должны быть помещены в этот подкаталог.
postgressql, вероятно, демон запускается при загрузке? Если так, то имеет смысл поместить это здесь. Вы не должны использовать команду самостоятельно, но запускаете службу. Файлы в / usr / lib /, как правило, имеют своих собственных пользователей и группы и / или демонов, которые ограничивают доступ к / var / lib (например, только mysqld может получить доступ к / var / lib / mysql /; это будет то же самое для PostgresSQL)