We have recently decided to see if we can benefit from migrating from MySQL to PostreSQL.
In order to evaluate whether PostreSQL is something we can work with, we need to take a look at what is required to manage it:
* Upload CSV files of data.
* Configure it to listen to a unix socket file.
* Port our MySQLCtl.sh script (and the $GOB_ROOT/bin/project_mysql_ctl.pl and $GOB_ROOT/lib/perllib/GOB/MySQLManager.pm files which actually do the work) to a `PgSQLCtl.sh` script. The new script should not bother using Perl. All of this stuff is basically just wrapping simple command-line utilities, so perfect for bash.
- stat (display pid, tail of log, etc.)
- backup (dump EVERYTHING to a file)
- dumpschema (dump the schema to everything, but not the actual data)
- connect (open command prompt)
* Get MySQL-style profiles of query execution (not just EXAMINE)
* Port MySQL CREATE TABLE and INSERT statements to PostgreSQL (we'll want to migrate some existing databases, using MySQL dumps. There are a lot of open-source tools for porting)
Also, much of the motivation for moving to
* Read/write/update array column types in Perl (expecting to be using DBI)
* Read/write/update JSON column types in Perl (expecting to be using DBI)
* Read/write/update array and JSON data from/to a CSV file via the command-line
We simply want a set of tests demonstrating these bits of functionality.
This is a fixed project, but we have A LOT of follow-up work. Anyone who does a good job with these bits, will be given all the work they want/can-handle. We are looking for a long-term placement to help us scale up our SaaS market analytics system.
We already have a long list of desired improvements to improve our monitoring and reporting about system/client usage. We want someone to help us come up with new ideas of how to do things better. This role is currently very specific to PostgreSQL, but we expect it to become more general.
All development is on Linux. We provide a full, hosted dev environment. We rarely use anything out-of-the-box, making this a developer position.
Many of our existing systems are in Perl. You must know at least rudimentary Perl, and at least be willing to become quite good at both. Node.js and Python experience is also a plus. Practically all of our systems have both a Web and a command-line interface, so both HTML and Bash are also essential.
This role requires daily calls to sync up on progress. Please specify in Easter Standard Time, what hours you would be available for phone calls. There must be an overlap of at least 2 hours in 10am-6pm.
Again, we would like to bring someone on long-term, as part of our R&D team (is a mix of full-time and freelancers). We require at least two regularly scheduled "stand-up" calls per week, with a day between. We can do any times 10:30-6pm EST M-F. Tickets are tracked in our tracking system.