# Unable to see all data in postgres db form\_field\_values table

**URL:** <https://forum.getodk.org/t/unable-to-see-all-data-in-postgres-db-form-field-values-table/55879>\
**Category:** Support\
**Tags:** odk-collect, odk-central\
**Created:** [July 23, 2025, 4:41am UTC](https://forum.getodk.org/t/unable-to-see-all-data-in-postgres-db-form-field-values-table/55879 "2025-07-23T04:41:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Study\_Utthan](https://getodk.b-cdn.net/user_avatar/forum.getodk.org/study_utthan/32/30212_2.png) [@Study\_Utthan](https://forum.getodk.org/u/Study_Utthan)\
**Post date:** [July 23, 2025, 4:41am UTC](https://forum.getodk.org/t/unable-to-see-all-data-in-postgres-db-form-field-values-table/55879/1 "2025-07-23T04:41:45Z")

</div>

Hi Support Team,

I have deployed ODK Central on AWS Ubuntu machine and uploaded one survey form. I was trying access the data from form\_field\_values table. Here, I am not able to find all data related to one submission from that table but in csv download using odk central portal I can see all data. What could be the reason? And why all data is not appearing inside the table. By default 37 tables has been created in ODK database.

Please guide.

Thanks.

---

<div class="post-metadata">

**Author:** ![MinimalPotato](https://getodk.b-cdn.net/user_avatar/forum.getodk.org/minimalpotato/32/30174_2.png) [@MinimalPotato](https://forum.getodk.org/u/MinimalPotato)\
**Post date:** [July 23, 2025, 5:45am UTC](https://forum.getodk.org/t/unable-to-see-all-data-in-postgres-db-form-field-values-table/55879/2 "2025-07-23T05:45:23Z")

</div>

1. Just curious - why are you trying to access ODK Central's Postgres database directly? I'd recommend avoiding this approach if possible, since the internal schema could change with future updates. A more stable and supported way to manage or retrieve data is through the `ODK Central's front-end` or its `REST API` (especially if you are developing something, explore `pyODK` as well) or maybe `OData connection`.

2. You won't find submission data in the `form_field_values` model / table - that table probably **stores form choices for all forms across the server**. Instead, submission data is stored in the `submission_defs` table.

3. Within the `submission_defs` table, you'll probably need to filter using fields like `formDefId` and `current` (maybe more) to get the exact data you're looking for. Unlike ODK Aggregate, ODK Central no longer creates separate tables per form or project. Also, note that the actual submission data is stored as `XML (type: text)` within a column, rather than as discrete row fields in the table.

Given all that, I'm still wondering - **do you really wish to go down with this hard & unstable route to access the data?** ODK already offers features / tools like the `REST API` and `OData connections` that are much easier to work with (be it for anything) and less prone to breaking with updates.

---

<div class="post-metadata">

**Author:** ![mathieubossaert](https://getodk.b-cdn.net/user_avatar/forum.getodk.org/mathieubossaert/32/6131_2.png) [@mathieubossaert](https://forum.getodk.org/u/mathieubossaert)\
**Post date:** [July 23, 2025, 8:41am UTC](https://forum.getodk.org/t/unable-to-see-all-data-in-postgres-db-form-field-values-table/55879/3 "2025-07-23T08:41:10Z")

</div>

> [@MinimalPotato](#):
>
> I'd recommend avoiding this approach if possible, since the internal schema could change with future updates.

I can't agree more. And even if you do, querying xml fields in SQL is not that fun.  
See our own experience here : [SQL first try to get Central data into internal PostGIS database](https://forum.getodk.org/t/sql-first-try-to-get-central-data-into-internal-postgis-database/30102)

> [@MinimalPotato](#):
>
> A more stable and supported way to manage or retrieve data is through the `ODK Central's front-end` or its `REST API` (especially if you are developing something, explore `pyODK` as well) or maybe `OData connection`.

If you want to use SQL to query your data, as I love to, you can check this ODATA integration within pl-python functions : [Pl-pyodk : use of pyODK with PL/Python PostgreSQL functions to pull data from Central into your own database](https://forum.getodk.org/t/pl-pyodk-use-of-pyodk-with-pl-python-postgresql-functions-to-pull-data-from-central-into-your-own-database/41569)
