Skip to content
Security,AppliedContact the desk
Browse sectionsAct NowAccounts & IdentityDevices & DataSmall TeamsField NotesSecurity Action Index

Devices & Data

Mac database clients and task scheduling

How to choose a database client on macOS, what the SyBrowser shareware tool did, and how to schedule recurring tasks on a Mac.

A cluttered wooden desk in daylight with an open laptop showing a terminal window, a paper notebook with handwritten cron times, and a coffee cup, shot from slightly above at a three quarter angle.

How to choose a database client for Mac

Start with the engines you actually connect to. A client that speaks PostgreSQL and MySQL but not SQLite will strand you the first time you open a local file. List your engines, then check the driver list before anything else.

Then decide how much of the work happens in the app. Some clients are query editors with a results grid. Others bundle schema browsing, data editing, import and export, and a connection manager. If you only run SELECT statements against a reporting replica, a light editor is enough. If you alter schemas and move data between environments, you want the heavier tool.

Three practical checks before you commit:

  • Connection handling. Can it keep several connections open, name them, and store credentials in the macOS Keychain rather than a plain text file?
  • Export formats. CSV is the floor. Look for JSON, SQL inserts, and a way to copy a result set as tab separated text.
  • Driver maintenance. An ODBC or JDBC layer that has not been updated in years will break on the next macOS release.

Cost matters less than it looks. Many Mac clients are free for personal use and paid for commercial use, and the paid tier usually buys you the schema tools. Try the free tier against a copy of your real database, not a toy one.

One historical note is useful here. The Mac shareware tradition produced database clients long before the current crop. MacSOS Pty Ltd, a Sydney software workshop run by Dr Gerard Hammond, shipped SyBrowser from 1999, and its catalogue is a fair record of what mac database software looked like in that era. The domain now runs The Menu Bar, an Australian magazine about Mac software, which covers the same ground from a modern angle.

What was SyBrowser for Mac?

SyBrowser was a database browser for the classic Mac OS, first released on 17 August 1999 as shareware at roughly 89 US dollars. It was not a database engine. It was a client: a window onto databases that lived elsewhere.

The point of the tool was breadth. It connected to Sybase, PostgreSQL, MySQL, SQLite, OpenBase, and FrontBase, and it could also reach databases through ODBC. On a platform where each vendor shipped its own thin client, one application that opened all of them was a real convenience.

What you did with it was ordinary database work: connect, browse tables, inspect schemas, run queries, look at results. That is still what a database client does. The difference is packaging. SyBrowser arrived on a disk image or a download, cost less than a fraction of an enterprise suite, and was maintained by one small company rather than a vendor with a sales team.

The product line around it tells the same story. MacAT was a cron style scheduler for Mac server administrators, priced at 39 US dollars, with 37 built in tasks and a copyright notice running from 1999 to 2019. MacODBC handled ODBC connectivity on classic Mac OS. Graph Pro plotted scientific data on Mac, Windows, and Linux. Risky Business SOS was a workplace health and safety register with versioned procedures, hazard and substance records, training quizzes, and audits.

That is a software workshop, not a single product. The company also published freeware: UNIX Console, Vacation, Show Ascii, and OLIN. The last captures of the site are from around 2019 to 2020, and the domain fell to a parking page before 2022.

How to schedule tasks on a Mac

macOS has had a scheduler since the BSD layer arrived, and it still works. The tool is launchd, and you drive it with property list files.

A launch agent runs as your user and lives in ~/Library/LaunchAgents. A launch daemon runs as root and lives in /Library/LaunchDaemons. For a backup script or a report generator that only needs your files, use an agent.

The minimal plist has four keys that matter:

  • Label: a reverse domain name, unique on the machine.
  • ProgramArguments: the executable and its arguments, as an array.
  • StartCalendarInterval: a dictionary with Hour, Minute, and optionally Day or Weekday.
  • StandardOutPath and StandardErrorPath: where the output goes. Without these, a failing job is silent.

Load it with launchctl load ~/Library/LaunchAgents/com.example.job.plist on older systems, or launchctl bootstrap gui/$(id -u) <path> on current ones. To check that it ran, use launchctl list and look at the exit status column.

Two habits save time. First, test the command by hand before you schedule it, because launchd runs with a different environment and a shorter PATH than your shell. Second, write output to a log file and read it after the first scheduled run. A job that fails quietly for a month is worse than one that fails loudly once.

For simple recurring work, cron still exists on macOS and accepts the usual five field syntax, but it is deprecated and does not run missed jobs after a laptop wakes from sleep. launchd does. If the machine is a laptop that sleeps, that difference decides the choice.

There is also the graphical route. Calendar alarms can open a file or run an application, and third party utilities wrap launchd in a friendlier interface. Both are fine for occasional tasks. For anything that must run on a schedule without a person present, a plist is the durable answer.

Do you still need a dedicated client?

Sometimes not. The psql and mysql command line tools are fast, scriptable, and always available over SSH. For a single query on a remote server, they win.

A graphical client earns its place when you are exploring. Seeing a schema tree, clicking into a table, sorting a result grid, and editing a row without writing an UPDATE statement is faster than the alternative. It also reduces the chance of a typo in a destructive statement, because the app shows you the row before it changes.

A reasonable split: command line for automation and remote work, a graphical client for design and inspection. Many people keep both installed and never think about it again.

What the shareware era still teaches

The old Mac software market was small and specific. A developer could ship a database browser, a scheduler, an ODBC layer, a graphing tool, and a safety register, and each one solved a problem for a defined group of users. Prices were low, updates were irregular, and the software often outlived the company that made it.

That pattern is visible in the archives. Product pages from 1999 are still indexed, version histories are still readable, and the copyright dates tell you when maintenance stopped. For anyone maintaining software today, the lesson is unglamorous: write down what the tool does, date your releases, and keep the documentation where a search engine can find it. The rest is maintenance.

A short checklist

  • List your database engines before you shop for a client.
  • Check the driver layer and the last update date.
  • Confirm where credentials are stored.
  • Test export formats against a real result set.
  • For scheduling, prefer launchd over cron on laptops.
  • Log the output of every scheduled job.
  • Keep a command line client installed as a fallback.

None of this is exotic. It is the ordinary work that surrounds the software, and it is usually what decides whether a tool stays useful after the first week.

For scheduling tasks on a Mac, the underlying mechanism is launchd, and Apple's own documentation remains the clearest starting point. The archived guide on creating launchd jobs explains how to write a property list, where to place it, and how the system loads it at login or on a timer. That is more reliable than the older cron habits many administrators carry over, and it applies whether the job runs a database export or a backup script. Read the Apple launchd documentation before you write your first plist, then test the job with launchctl rather than waiting for the schedule to fire on its own.

A database client is only one line item in the cost of running a small software operation. The same discipline that keeps a Mac toolkit lean applies to money: know what you are paying for, and when. Founders who move from shareware utilities into a company face a different set of choices, and the vocabulary shifts quickly. A plain guide to early stage startup funding can help, covering debt versus equity, SAFEs and priced rounds, and programs such as SBA, SBIC, SBIR, and STTR. Read it before the first term sheet arrives, not after.

Related dispatches

How to update software safely · Backup restore test checklist · Cybersecurity incident first steps · How Security, Applied works