Search code examples
mariadbamazon-rds

MariaDB System Versioned Tables Do Not Work Locally Even After MariaDB upgrade


So I used to have mysql installed on my mac via homebrew. I stared by uninstalling it and then installed maria with brew install mariadb

This shows me this version

> mysql --version
mysql  Ver 15.1 Distrib 10.7.3-MariaDB, for osx10.17 (arm64) using  EditLine wrapper

and this:

mariadb --version
mariadb  Ver 15.1 Distrib 10.7.3-MariaDB, for osx10.17 (arm64) using  EditLine wrapper

I can run mariadb and connect to it fine with this command:

mariadb -u root -p

However, I am not able to use the new feature of mariaDB called system versioned tables.

I have followed this guide: https://mariadb.com/kb/en/system-versioned-tables/ and entered this command

MySQL [(none)]> CREATE TABLE t (    x INT ) WITH SYSTEM VERSIONING;

Which gives this error:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SYSTEM VERSIONING' at line 1

To test this further, I created a MariaDB instance in aws and connected to it locally with the same command which works fine. The version that RDS supports is 10.6

Question: "Why can't does my local instance of mariadb not recognize the keyword SYSTEM?

I am not sure how to debug this locally and I would like to know why this version of mariadb is unable to recognize these command locally. Looking for some debugging tips.

EDIT: Another thing to check was to select version while in the mariadb console

MySQL [(none)]> select version();
+-----------+
| version() |
+-----------+
| 8.0.28    |
+-----------+


Solution

  • 8.0.28 is a MySQL version, which doesn't have System Versioned Tables, only MariaDB does (at the time of this posting anyway).

    As noted, mysql --version only shows the version of the MySQL (or MariaDB via compatibility links) client. It doesn't show the server version.