Data Fundamentals

PostgreSQL Data Types, and How DataQloo Infers Them

The DataQloo Team··1 min read

Declared type vs. semantic type

PostgreSQL will tell you a column is text or numeric. That's accurate, but not always useful — a text column might hold email addresses, phone numbers, or UUIDs, and a numeric column might really be a currency value that shouldn't be averaged the same way a raw count would.

What the Schema tab shows

Every workflow's Schema tab infers a more specific, semantic type per column: Integer, Decimal, Currency, Date, Timestamp, UUID, JSON, Email, Phone, URL, Boolean, or Text — alongside a confidence score and a handful of sample values, so you can sanity-check the inference yourself rather than trusting it blindly.

Why this matters for building a workflow

Knowing a column is semantically a Currency value, not just a generic Decimal, changes how you'd reasonably use it in a Summarize node — summing it makes sense; averaging a UUID doesn't, even though both might be stored as text at the database level. The inference is a hint, not a guarantee — it's computed client-side from the returned result rows, and the confidence score is there because it can be wrong, particularly on small samples.

Where this runs

Type inference happens in two places: the Import Wizard's preview step, before you commit to saving a dataset, and the Schema tab of any workflow's results panel. Both use the same underlying logic, so what you see during import is consistent with what you'll see later when building a workflow against that dataset.

Worth knowing

Type inference is a client-side convenience — it doesn't change your PostgreSQL schema or write anything back to your database.

ShareXLinkedIn

Related reading

Get new posts by email

Engineering notes and product updates from the DataQloo team, occasionally.