centos mysql5.5 install via puppet - mysql

(This is a cross-post from ask.puppetlabs.com)
I am setting up a centos6.4 VM using Vagrant and Puppet. First off, my familiarity is with Debian linux and also I am new to Puppet, so sorry if I am missing something basic...
I am using the mysql module from puppetlabs, and the default version of mysql installed is 5.1 but I'd like to install 5.5.
From this post, it looks like I need to grab mysql5.5 from some extra repos,
My Puppetfile looks like:
forge "http://forge.puppetlabs.com"
mod 'puppetlabs/stdlib'
mod 'puppetlabs/apache'
mod 'puppetlabs/mysql'
I added a yumrepo declaration
yumrepo {
'epel':
descr => 'Extra Packages for Enterprise Linux 6 - $basearch',
enabled => "1",
gpgcheck => "1",
failovermethod => 'priority',
gpgkey => "http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm",
;
'remi':
descr => 'Extra Packages for Enterprise Linux 6 - $basearch',
enabled => "1",
gpgcheck => "1",
failovermethod => 'priority',
gpgkey => "http://rpms.famillecollet.com/enterprise/remi-release-6.rpm",
;
}
If I add package_ensure with the targeted version,
class { '::mysql::server':
package_ensure => "5.5.36-1.el6.remi",
}
I can see that puppet tries to install that package, but mysql5.1 has already been installed by that point and there are dependencies that conflict. I've tried searching for a good approach, but am not familiar enough with puppet yet to know what to look for.
Thanks for the help

first to install mysql 5.5 you have remove mysql 5.1 add the following lines init.pp and moreover epel repo will not not install 5.5 on your system you need to install it with rpm of mysql to install it with rpm use add the following lines in int.pp file
package { 'mysql-libs':
ensure => 'purged',
}
package { 'MySQL-server-5.5.8-1.rhel5.x86_64':
provider => 'rpm',
ensure => installed,
source => "/path_to_dir/MySQL-server-5.5.8-1.rhel5.x86_64.rpm",
require => Package['mysql-libs'],
}

Related

Qt QMYSQL driver not loaded and available drivers: (is empty) (Linux) [duplicate]

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
I'm struggling for 2 days to figure it out. I did my research trust me. None of those solutions worked for me. When I execute
/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers$ ldd libqsqlmysql.so
I get not a dynamic executable. So I guess it's not a good file because when I execute ldd on libqsqlite.so I get
linux-vdso.so.1 (0x00007f80db0f5000)
libQt5Sql.so.5 => /home/bogdan/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007f80da96d000)
libQt5Core.so.5 => /home/bogdan/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007f80da1bd000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f80d9f9e000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f80d9c15000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f80d9877000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f80d965f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f80d926e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f80d9051000)
libicui18n.so.56 => /home/bogdan/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.56 (0x00007f80d8bb8000)
libicuuc.so.56 => /home/bogdan/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.56 (0x00007f80d8800000)
libicudata.so.56 => /home/bogdan/Qt5.13.2/5.13.2/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.56 (0x00007f80d6e1d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f80d6c19000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f80d6a17000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f80d6700000)
/lib64/ld-linux-x86-64.so.2 (0x00007f80daed0000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f80d648e000)
Can someone help me to fix this problem with exact steps.Thanks in advance!
I have reopened the question why the steps in the #peppe answer need to be updated for recent versions of Qt.
Steps:
Install the development versions of the packages found above: libmysqlclient-dev
Run the MaintenanceTool from your Qt installation, and be sure to select to install Qt's source code too, or clone the project using:
git clone -b YOUR_QT_VERSION https://github.com/qt/qtbase.git
or
git clone -b YOUR_QT_VERSION git://code.qt.io/qt/qtbase.git
in this case YOUR_QT_VERSION=5.13.2)
Go in QTDIR/QT_VERSION/Src/qtbase/src/plugins/sqldrivers/
Run the right qmake, i.e. the one coming from that installation of Qt (not the system wide one or similar). Best way to be sure is providing the full path to it: QTDIR/QT_VERSION/gcc_64/bin/qmake sqldrivers.pro
Run make && make install

MySql QT QMYSQL driver not loaded

I try to use the MySQL module from QT but without result, the module is present but Qt does not load it. I have this error
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
QSqlError("", "Driver not loaded", "Driver not loaded")
if I make a ldd libqsqlmysql.so I get this result
linux-vdso.so.1 (0x00007ffe89950000)
libmysqlclient_r.so.16 => not found
libQt5Sql.so.5 => /opt/Qt/5.4/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007fdc67aaf000)
libQt5Core.so.5 => /opt/Qt/5.4/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007fdc67372000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdc6706b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdc66cc2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdc66aa4000)
libicui18n.so.53 => /opt/Qt/5.4/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.53 (0x00007fdc66658000)
libicuuc.so.53 => /opt/Qt/5.4/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.53 (0x00007fdc662cd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdc660c8000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fdc65ec6000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdc65cbe000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fdc659c5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdc656c4000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdc654ae000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdc67f1c000)
libicudata.so.53 => /opt/Qt/5.4/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.53 (0x00007fdc63e25000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fdc63be8000)
the problem is I think this line libmysqlclient_r.so.16 => not found
If I make a locate mysqlclient I get this reuslt
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
/usr/share/doc/libmysqlclient18
/usr/share/doc/libmysqlclient18/NEWS.Debian.gz
/usr/share/doc/libmysqlclient18/changelog.Debian.gz
/usr/share/doc/libmysqlclient18/changelog.gz
/usr/share/doc/libmysqlclient18/copyright
/var/cache/apt/archives/libmysqlclient18_5.5.43-0+deb7u1_amd64.deb
/var/cache/apt/archives/libmysqlclient18_5.5.44-0+deb7u1_amd64.deb
/var/lib/dpkg/info/libmysqlclient18:amd64.list
/var/lib/dpkg/info/libmysqlclient18:amd64.md5sums
/var/lib/dpkg/info/libmysqlclient18:amd64.postinst
/var/lib/dpkg/info/libmysqlclient18:amd64.postrm
/var/lib/dpkg/info/libmysqlclient18:amd64.shlibs
I read about some forum, the need to make a symbolic link I tried but I always this error
Assuming that for getting this error you installed Qt from the binary packages downloaded from qt.io:
Install the MySQL client dev packages
Run the MaintenanceTool (somewhere where you installed Qt)
Ask it to install extra packages
Install the "Source Components" for at least the Essential modules
Go to /dir/where/you/installed/Qt/version/Source/
Go into qtbase/src/plugins/sqldrivers/mysql
Run qmake from the very same Qt version (/dir/where/you/installed/Qt/version/arch/bin/qmake or similar)
Run make, if it explodes with headers/libraries not found check that you installed those MySQL client dev packages correctly
That should give you a brand new plugin, and with fingers crossed, it's already put in the right place. Otherwise find the new libqsqlmysql.so, ldd it to be sure it was OK, and overwrite the old plugin with the new one.
I finally found a solution to my problem, so I have download libmysqlclient16 from libmysqlclient16 Debian amd64
After I made dpkg -i libmysqlclient16_5.1.73-1_amd64.deb
I restart and I compile my Qt project and I could not error
I know it is an old question, but I had the same issue with a slightly different solution probably due to Qt updates since then.
I will provide the solution that worked for me running Fedora 26 with kernel 4.13 and Qt 5.9.1
Find your path to Qt installation and let's call it here QTDIR.
In my case it is installed at /home/Qt5. So QTDIR = /home/Qt5/
My version is 5.9.1. Therefore I also have a folder "5.9.1" in QTDIR and I will call it "version" folder as Pepe did above.
The last folder that depends on your installation is the compiler folder. In my case it is gcc_64 inside QTDIR/version/
Now that you located yourself, let's go the procedure to install the drivers for Qt.
1) If your linux distribution doesn't come with SQL headers installed you must install them first. In Fedora I istalled the community-mysql-devel
> sudo dnf install community-mysql-devel
You must search and the install the appropriate SQL package for your distro. Just remember that the main idea is to install some development package in order to access the headers.
2) The second thing you need to do is to make sure you had installed Qt with the sources directory.
Check if you have the foulder $QTDIR/version/Src. If you have not, then run the maintenance tool in QTDIR and add Src foulder by checking the "sources" option under the kit you had installed (or wish to install).
3) Then go to where the sqldrivers should be by typing in your terminal
> cd yourQTDIR/yourVersion/Src/qtbase/src/plugins/sqldrivers
and run on terminal:
> make
> make install
This should create the drivers libqsqlite.so and libqsqlmysql.so in the folder: yourQTDIR/yourVersion/yourCompiler/plugins/sqldrivers
We then move to update a path to the sql headers as described in the official site http://doc.qt.io/qt-5/sql-driver.html, but with a slightly difference in the path to mysql headers (you must verify the proper folders in your OS). In my case MYSQL headers are in /usr/lib64.
Go to
> cd yourQTDIR/yourVersion/Src/qtbase/src/plugins/sqldrivers/mysql
Then run
> yourQTDIR/yourVersion/yourCompilerFolder/bin/qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib64 -lmysqlclient_r" mysql.pro
> make
> make install
This should do the trick.
4) Now go to "yourQTDIR"/"yourVersion"/"yourCompiler"/plugins/sqldrivers
and run
> ldd libqsqlmysql.so
This will allow you to check if there is any missing link and direct you to a more specific solution to your case.
In a couple of Qt versions from now the procedure above may change. However the main points to keep in mind are that 1) you must have the MYSQL headers installed; 2) you must create the plugin by running make and make install in some source folder for MYQSL, and 3) you must update the path to MYSQL headers in order to Qt to find it.

Puppet and Mysql 5.5

The Background
I am using Centos 6.5 with Puppet 3.7.3.
I've installed the module puppetlabs-mysql v3.1.0
Centos 6.5 comes with MySql 5.1.73 installed by default. What I'd like to achieve is to upgrade that version via Puppet to 5.5.40, using the module described above
The initial Solution
Well, I couldn't find a proper solution to do this. The official documentation only tells how to configure the puppet manifest in order to have MySql installed, not taking into account the version. That doesn't suit me because the version remains unchanged after running the puppet agent.
package { "MySQL-client": ensure => installed }
Solution #1 found on Internet Forums
Found here.
package {
'mysql-client-core-5.5': ensure => present
}
With that solution, I am getting the following error:
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list mysql-client-core-5.5'
returned 1: Error: No matching Packages to list
Solution #2 found on Internet Forums
Found here.
It is actually proposing two solutions:
package { 'mysql-server' : ensure => '5.5' , }
and
package { 'mysql55w' : ensure => 'present' , }
In both cases I am getting a similar error, which is no other than package not found on the current installed repos
In order to fix all the problems above, I successfully added the necessary changes on the puppet manifest to install the repo where MySQL 5.5.40 lives.
After repuppetting again, I am now getting a different error:
Error: mysql55w-libs conflicts with mysql-libs-5.1.73-3.el6_5.i686
Of course, the old libraries are conflicting with the new ones. Fortunately, there is a workaround for this, as described here. I successfully added those commands to my puppet manifest (using the EXEC command)
yum install mysql.`uname -i` yum-plugin-replace
yum replace mysql --replace-with mysql55w
After all these workarounds, my puppet manifest executes fine, but only after chaining each declaration to execute it sequentially (puppet doesn't assume order). Otherwise, it may try to install Mysql 5.5 before to install the repo or before to change the libraries.
The Question
Well, the question is, is there any other way to manage this more gracefully in puppet?
It wasn't enough to tell puppet that I wanted MySQL installed. I actually had to tell Puppet how to do it.
My Puppet manifest looks like the good old fashion scripts that Puppet is supposed to replace. I can't concentrate in what I want. I had to instruct it how to achieve it too
Even with configuration management package-providers can be a headache! :)
However, in this instance we can leverage the work by using a pre-existing module to manage Yum: example42/yum
Install the module like so:
puppet module install example42/yum
With this, it becomes much easier to manage, and you can install MySQL 5.5 much cleaner and idempotently:
class { 'yum':
defaultrepo => false,
extrarepo => '' ,
}
class { 'yum::repo::mysql_community':
enabled_version => '5.5',
}
package { 'mysql-community-server':
ensure => '5.5.42-2.el6',
require => Class['yum::repo::mysql_community'],
}
As you can see, the only ordering used is the require on the package, to make sure the Yum repo has been setup before trying to install it.
Worked for me on a brand new Centos 6.6 Vagrant box:
# Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "puppetlabs/centos-6.6-64-puppet"
config.vm.provision "shell", inline: "puppet module install example42/yum"
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "./"
puppet.manifest_file = "default.pp"
end
end
Output:
==> default: Running provisioner: shell...
default: Running: inline script
==> default: Notice: Preparing to install into /etc/puppet/modules ...
==> default: Notice: Downloading from https://forgeapi.puppetlabs.com ...
==> default: Notice: Installing -- do not interrupt ...
==> default: /etc/puppet/modules
==> default: └─┬ example42-yum (v2.1.17)
==> default: └── example42-puppi (v2.1.10)
==> default: Running provisioner: puppet...
==> default: Running Puppet with default.pp...
==> default: Notice: Compiled catalog for localhost.home in environment production in 0.85 seconds
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/File[/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql]/ensure: defined content as '{md5}26b9ed77a3a087874a27103c1f9d6a6f'
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-tools-community]/File[/etc/yum.repos.d/mysql-tools-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql56-community]/File[/etc/yum.repos.d/mysql56-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql56-community]/Yumrepo[mysql56-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql57-community-dmr]/File[/etc/yum.repos.d/mysql57-community-dmr.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql57-community-dmr]/Yumrepo[mysql57-community-dmr]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/File[/etc/yum.repos.d/mysql-connectors-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-connectors-community]/Yumrepo[mysql-connectors-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Prerequisites/Yum::Plugin[priorities]/Package[yum-plugin-priorities]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql-tools-community]/Yumrepo[mysql-tools-community]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql55-community]/File[/etc/yum.repos.d/mysql55-community.repo]/ensure: created
==> default: Notice: /Stage[main]/Yum::Repo::Mysql_community/Yum::Managed_yumrepo[mysql55-community]/Yumrepo[mysql55-community]/ensure: created
==> default: Notice: /Stage[main]/Main/Node[default]/Package[mysql-community-server]/ensure: created
==> default: Notice: Finished catalog run in 63.97 seconds

Link MySQL with different glibc

I'm trying to link MySQL with a different glibc that provides e.g. a different pthread implementation and actually thought I got it right a few days ago.
Obviously, I took notes and wanted to reproduce the outcome but I can't get it to link properly, so I must have forgotten a step.
What I did previously was simply to add the flags pointing to my glibc and the default one second to the cmake command.
GLIBC_FLAGS="-Wl,--rpath=/path/to/my/glibc/build/lib:/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu -Wl,--dynamic-linker=/path/to/my/glibc/build/lib/ld-linux-x86-64.so.2
cmake \
-DCMAKE_INSTALL_PREFIX=../install \
.. \
-DCMAKE_C_FLAGS="$GLIBC_FLAGS" \
-DCMAKE_CXX_FLAGS="$GLIBC_FLAGS"
These flags work when building a simple a test-program but seem not to work with MySQL as ldd reports the default glibc for mysqld.
$ ldd install/bin/mysqld
linux-vdso.so.1 => (0x00007fff14ffe000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f4f1c9bb000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4f1c7b7000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4f1c599000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4f1c295000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4f1bf91000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4f1bd7a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4f1b9b2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4f1cc13000)
I also tried to set the LD_LIBRARY_PATH and changing the linker flags and lib variables in BUILD/scripts/mysql_config but none of these seem to work.
What is necessary to link MySQL against a different glibc?
ldd reports the default glibc for mysqld.
You should not trust ldd -- it uses default loader -- /lib64/ld-linux-x86-64.so.2 which is not the loader you've compiled your musqld to use.
Instead, run your mysqld under GDB and do start followed by info shared. You will likely see that in fact your version of glibc is actually loaded.
After a Kernel-Update, cmake apparently ignored the DCMAKE_CXX_FLAGS and DCMAKE_C_FLAGS if they contained a colon-separated list of paths (the options were used when they contained only a single path).
I worked around this by setting the colon-separated pathlist directly in the CMakeLists.txt in the MySQL root directory.

MySQL/Ruby on Windows

I am trying to use Rails 2.3.2 with MySQL 5.0 on Windows XP with no luck.
I have installed MySQL and am able to run it, add tables etc.
In ruby, the require 'mysql' statement passes but onde it reached the first action then I get
> C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/mysql_adapter.rb:7:in `define_all_hashes_method!': Mysql not loaded (RuntimeError)
from C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/mysql_adapter.rb:71:in `mysql_connection'
from C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `send'
from C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection'
from C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection'
from C:/Development/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `checkout'
Any idea to what I am doing wrong?
require 'rubygems'
require 'activerecord'
require 'mysql'
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "127.0.0.1",
:database => "ruby"
)
class Student < ActiveRecord::Base
end
Student.find(:all)
Don't you get any other errors, like missing dll files, etc.? Usually with database connectors you have to add the appripriate dll files (like mysql.dll) to the PATH (or in rubys "bin" directory), so ruby can find them.
If you're not deploying to Windows, and your development data is reasonable (<10k rows/table) I'd switch to SQLite. It's sufficiently generic that you should be able to painlessly deploy on MySQL. SQLite installation on Windows is pretty easy - you just have to use an older version of the gem as the newest is broken.
Postgres is another story. I wouldn't use it if SQLite will work. It does case-sensitive searches by default when using LIKE, unlike SQLite or MySQL. If you do use it, check your plugins for LIKE queries.