# Anyone fetching UUIDs using LibPQ.jl?

**URL:** <https://discourse.julialang.org/t/anyone-fetching-uuids-using-libpq-jl/89395>\
**Category:** Data\
**Tags:** package, postgresql, versioning\
**Created:** [October 27, 2022, 7:22pm UTC](https://discourse.julialang.org/t/anyone-fetching-uuids-using-libpq-jl/89395 "2022-10-27T19:22:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![iamed2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/iamed2/32/215082_2.png) [@iamed2](https://discourse.julialang.org/u/iamed2)\
**Post date:** [October 27, 2022, 7:22pm UTC](https://discourse.julialang.org/t/anyone-fetching-uuids-using-libpq-jl/89395/1 "2022-10-27T19:22:53Z")

</div>

I’m introducing support for parsing UUIDs from PostgreSQL in LibPQ.jl and I would like to know if anyone would be negatively impacted by setting `UUID` as the default type for the PostgreSQL `uuid` type. This means that if you select a `uuid` from PostgreSQL you might get a Julia `UUID` where you previously got a `String`.

In general, how do you feel about LibPQ.jl minor versions adding types such that what used to default to `String` now defaults to a specific Julia type? In this case `UUID` is built into Base and exported by the UUIDs stdlib, but does your answer change if LibPQ.jl returns a type from a particular package?

There are also some cases like `Decimal` where I think everyone would be happy if we switched to a different numeric type, but I’m not sure whether people would want a major version bump for something like that.

---

<div class="post-metadata">

**Author:** ![awasserman](https://avatars.discourse-cdn.com/v4/letter/a/9de0a6/32.png) [@awasserman](https://discourse.julialang.org/u/awasserman)\
**Post date:** [October 27, 2022, 8:37pm UTC](https://discourse.julialang.org/t/anyone-fetching-uuids-using-libpq-jl/89395/2 "2022-10-27T20:37:21Z")

</div>

I’m using LibPQ.jl, and I approve of this change! 🙂

I think this makes sense for base packages like from UUIDs or Dates, but I’m not so sure about third-party packages. Is there something specific you have in mind?

---

<div class="post-metadata">

**Author:** ![iamed2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/iamed2/32/215082_2.png) [@iamed2](https://discourse.julialang.org/u/iamed2)\
**Post date:** [October 27, 2022, 8:40pm UTC](https://discourse.julialang.org/t/anyone-fetching-uuids-using-libpq-jl/89395/3 "2022-10-27T20:40:26Z")

</div>

Nothing specific in the works for third-party replacements. `Decimal` and `ZonedDateTime` for `decimal`/`numeric` and `timestamptz` are types we might want to replace in the future since they cause some headaches as-is.
