Dalam Standar Hierarki Filesystem, `/ var / lib / dinyatakan sebagai (huruf miring bagian yang paling penting):
5.8.1 Tujuan
Hirarki ini menyimpan informasi status yang berkaitan dengan aplikasi atau sistem. Informasi negara adalah data yang diubah oleh program saat dijalankan, dan yang berkaitan dengan satu host tertentu. Pengguna tidak perlu memodifikasi file di / var / lib untuk mengkonfigurasi operasi paket.
Informasi negara umumnya digunakan untuk menjaga kondisi aplikasi (atau sekelompok aplikasi yang saling terkait) antara doa dan antara berbagai contoh aplikasi yang sama. Informasi negara umumnya tetap valid setelah reboot, tidak boleh mencatat output, dan tidak boleh spooled data.
Aplikasi (atau sekelompok aplikasi yang saling terkait) harus menggunakan subdirektori / var / lib untuk datanya. Ada satu subdirektori yang diperlukan, / var / lib / misc, yang ditujukan untuk file status yang tidak memerlukan subdirektori; subdirektori lain hanya boleh ada jika aplikasi yang dimaksud termasuk dalam distribusi.
/ var / lib / adalah lokasi yang harus digunakan untuk semua dukungan kemasan distribusi. Distribusi yang berbeda mungkin menggunakan nama yang berbeda, tentu saja.
Singkatnya: / var / lib / adalah untuk data yang digunakan secara lokal.
Jadi masuk akal untuk memasukkan data database ke direktori / var / lib / {mysql | postgress} / tapi ... FHS adalah standar yang dibuat sebagian besar untuk digunakan oleh distribusi . Sebagai pengguna, Anda bebas untuk meletakkan data di mana pun Anda inginkan dan itu sebagian besar masalah pendapat.
Anda salah mengerti kata "lokal". / usr / local / bin / bukan untuk perangkat lunak sistem tetapi untuk perangkat lunak Anda sendiri (pada dasarnya segala sesuatu dengan "lokal" di tidak boleh disentuh oleh sistem. Seperti dijelaskan oleh FHS:
/ usr / local /
4.9.1 Tujuan
Hirarki / usr / lokal untuk digunakan oleh administrator sistem ketika menginstal perangkat lunak secara lokal. Itu harus aman dari ditimpa ketika perangkat lunak sistem diperbarui. Ini dapat digunakan untuk program dan data yang dapat dibagikan di antara sekelompok host, tetapi tidak ditemukan di / usr. Perangkat lunak yang diinstal secara lokal harus ditempatkan di dalam / usr / local daripada / usr kecuali jika sedang diinstal untuk mengganti atau memutakhirkan perangkat lunak di / usr.
Sebuah executable yang diinstal dari perangkat lunak sistem tidak boleh pergi ke sesuatu yang lokal.
Sekarang untuk / usr / lib / .
4.7.1 Tujuan
/ usr / lib termasuk file objek, pustaka, dan binari internal yang tidak dimaksudkan untuk dieksekusi langsung oleh pengguna atau skrip shell. Aplikasi dapat menggunakan subdirektori tunggal di bawah / usr / lib. Jika suatu aplikasi menggunakan subdirektori, semua data yang bergantung pada arsitektur yang digunakan secara eksklusif oleh aplikasi harus ditempatkan di dalam subdirektori itu.
postgressql mungkin daemon dimulai saat boot? Jika demikian, masuk akal untuk meletakkannya di sini. Anda tidak seharusnya menggunakan perintah sendiri tetapi memulai layanan. File-file di / usr / lib / cenderung memiliki pengguna dan grup sendiri dan / atau daemon yang membatasi akses ke / var / lib (hanya mysqld yang dapat mengakses / var / lib / mysql / misalnya; ini akan sama untuk postgressql)