[1] PostgREST v9.0
       
          Release Notes
       
            * v9.0.0
       
            * [2]v8.0.0
       
            * [3]v7.0.1
       
            * [4]v7.0.0
       
            * [5]v6.0.2
       
            * [6]v5.2.0
       
          Tutorials
       
            * [7]Tutorial 0 - Get it Running
       
            * [8]Tutorial 1 - The Golden Key
       
          API
       
            * [9]Tables and Views
       
            * [10]Resource Embedding
       
            * [11]Insertions / Updates
       
            * [12]Deletions
       
            * [13]Custom Queries
       
            * [14]Stored Procedures
       
            * [15]Binary Output
       
            * [16]OpenAPI Support
       
            * [17]OPTIONS
       
            * [18]Switching Schemas
       
            * [19]HTTP Context
       
          Configuration
       
            * [20]Configuration
       
            * [21]Environment Variables
       
            * [22]Configuration Reloading
       
            * [23]In-Database Configuration
       
          Schema Cache
       
            * [24]Schema Cache
       
          Authentication
       
            * [25]Overview of Role System
       
            * [26]Client Auth
       
            * [27]Schema Isolation
       
            * [28]SQL User Management
       
          Schema Structure
       
            * [29]Schema Isolation
       
            * [30]Functions
       
            * [31]Views
       
          Administration
       
            * [32]Hardening PostgREST
       
            * [33]Debugging
       
            * [34]Daemonizing
       
            * [35]Alternate URL Structure
       
          Installation
       
            * [36]Installation
       
            * [37]Running PostgREST
       
            * [38]Docker
       
            * [39]Building from Source
       
            * [40]Deploying to Heroku
       
          How-to guides
       
            * [41]Casting a type to a custom JSON object
       
            * [42]Embedding a table from another schema
       
            * [43]Providing images for <img>
       
          Ecosystem
       
            * [44]Community Tutorials
       
            * [45]Templates
       
            * [46]Example Apps
       
            * [47]DevOps
       
            * [48]External Notification
       
            * [49]Extensions
       
            * [50]Client-Side Libraries
       
          [1]PostgREST
       
            * [1]Docs »
       
            * PostgREST 9.0.0
       
            * [51] Edit on GitHub
       
          ---------------------------------------------------------------------
       
          PostgREST 9.0.0¶
          ================
       
          This major version is released with PostgreSQL 14 compatibility and is
          accompanied with new features and bug fixes. You can look at the
          detailed changelog and download the pre-compiled binaries on the [52]GitHub
          release page.
       
          Features¶
          ---------
       
          PostgreSQL 14 compatibility¶
       
          PostgreSQL 14 Beta 1 tightened its GUC naming scheme making it
          impossible to use multiple dots (.) and dashes (-) on custom GUC
          parameters, this caused our [53]old HTTP Context to fail across all
          requests. Thankfully, [54]@robertsosinski got the PostgreSQL team to
          reconsider allowing multiple dots in the GUC name, allowing us to
          avoid a major breaking change. You can see the full discussion [55]here.
       
          Still, dashes cannot be used on PostgreSQL 14 custom GUC parameters,
          so we changed our HTTP Context [56]to namespace using a mix of dots
          and JSON. On older PostgreSQL versions we still use the [57]Legacy GUC
          variable names. If you wish to use the new JSON GUCs on these
          versions, set the [58]db-use-legacy-gucs config option to false.
       
          Resource Embedding with Top-level Filtering¶
       
          Historically, Resource Embedding was always done with a query that
          included the equivalent of a LEFT JOIN, which meant you could not
          exclude any of the top-level resource rows. You can now use [59]Embedding
          with Top-level Filtering to do the equivalent of an INNER JOIN, thus
          you can filter the top-level resource rows with any of the available
          operators.
       
          Partitioned Tables¶
       
          Partitioned tables now integrate with all the feature set. You can
          [60]embed partitioned tables, UPSERT, INSERT(with a correctly
          generated Location header) and make OPTIONS requests on them. They’re
          also included in the generated OpenAPI.
       
          Functions(RPC)¶
       
            * 
       
              Functions with a [61]single unnamed parameter can now be used to
              POST raw bytea, text or json/jsonb.
       
          Horizontal Filtering¶
       
            * 
       
              The unknown value for three-valued logic can now be used on the is
              [62]operator.
       
            * 
       
              Escaping double quotes(") in double-quoted surrounded strings is
              now possible by using backslashes, e.g. ?col=in.("Double\"Quote").
              Backslashes can be escaped with a preceding backslash, e.g.
              ?col=in.("Back\\slash"). See [63]Reserved characters.
       
          Administration¶
       
            * 
       
              A Retry-After header is now added when PostgREST is doing [64]Automatic
              Connection Recovery.
       
          Error messages¶
       
            * 
       
              [65]Embedding Disambiguation now shows an improved error message
              that includes relevant hints for clearing out the ambiguous
              embedding.
       
          Documentation improvements¶
       
            * 
       
              Added curl snippets to the [9]API page.
       
            * 
       
              Added the [64]Automatic Connection Recovery section.
       
            * 
       
              Added the [66]Nested Embedding section.
       
            * 
       
              Added the [67]Logical operators section.
       
            * 
       
              Added the [45]Templates and [47]DevOps sections to the [44]Ecosystem.
       
          Bug fixes¶
          ----------
       
            * 
       
              Correct RPC return type handling for RETURNS TABLE with a single
              column ([68]#1930).
       
            * 
       
              Schema Cache query failing with standard_conforming_strings = off
              ([69]#1992).
       
            * 
       
              OpenAPI missing default values for String types ([70]#1871).
       
          Breaking changes¶
          -----------------
       
            * 
       
              Dropped support for PostgreSQL 9.5 as it already reached its
              end-of-life according to [71]PostgreSQL versioning policy.
       
            * 
       
              Partitions of a [72]partitioned table are no longer included in
              the [73]Schema Cache. This is so errors are not generated when
              doing resource embedding on partitioned tables.
       
            * 
       
              Dropped support for doing [74]Hint Disambiguation using dots
              instead of exclamation marks, e.g. doing
              select=*,projects.client_id(*) instead of
              select=*,projects!client_id(*)). Using dots was undocumented and
              deprecated back in [75]v6.0.2.
       
          Thanks¶
          -------
       
          Big thanks from the [76]PostgREST team to our sponsors!
       
          [77]../_images/cybertec-new.png [78]../_images/2ndquadrant.png [79]../_images/retool.png
          [80]../_images/gnuhost.png [81]../_images/supabase.png [82]../_images/oblivious.jpg
       
            * 
       
              Evans Fernandes
       
            * 
       
              [83]Jan Sommer
       
            * 
       
              [84]Franz Gusenbauer
       
            * 
       
              [85]Daniel Babiak
       
            * 
       
              Tsingson Qin
       
            * 
       
              Michel Pelletier
       
            * 
       
              Jay Hannah
       
            * 
       
              Robert Stolarz
       
            * 
       
              Nicholas DiBiase
       
            * 
       
              Christopher Reid
       
            * 
       
              Nathan Bouscal
       
            * 
       
              Daniel Rafaj
       
            * 
       
              David Fenko
       
            * 
       
              Remo Rechkemmer
       
            * 
       
              Severin Ibarluzea
       
            * 
       
              Tom Saleeba
       
            * 
       
              Pawel Tyll
       
          If you like to join them please consider [86]supporting PostgREST
          development.
       
          [2]Next [1] Previous
       
          ---------------------------------------------------------------------
       
          © Copyright 2017, Joe Nelson, Steve Chavez Revision c46c3b7a.
       
          Built with [87]Sphinx using a [88]theme provided by [89]Read the Docs.
          Read the Docs v: v9.0
       
          Versions
                [90]latest
       
                [91]stable
       
                [92]v9.0
       
                [93]v8.0
       
                [94]v7.0.0
       
                [95]v6.0
       
                [96]v5.2
       
                [97]v5.1
       
                [98]v5.0
       
                [99]v4.4
       
                [100]v4.3
       
                [101]v4.1
       
                [102]v3.2
       
          Downloads
                [103]pdf
       
                [104]html
       
                [105]epub
       
          On Read the Docs
                [106]Project Home
       
                [107]Builds
       
          ---------------------------------------------------------------------
       
          Free document hosting provided by [108]Read the Docs.
       
           1. https://postgrest.org/en/v9.0/index.html
          2. https://postgrest.org/en/v9.0/releases/v8.0.0.html
          3. https://postgrest.org/en/v9.0/releases/v7.0.1.html
          4. https://postgrest.org/en/v9.0/releases/v7.0.0.html
          5. https://postgrest.org/en/v9.0/releases/v6.0.2.html
          6. https://postgrest.org/en/v9.0/releases/v5.2.0.html
          7. https://postgrest.org/en/v9.0/tutorials/tut0.html
          8. https://postgrest.org/en/v9.0/tutorials/tut1.html
          9. https://postgrest.org/en/v9.0/api.html
          10. https://postgrest.org/en/v9.0/api.html#resource-embedding
          11. https://postgrest.org/en/v9.0/api.html#insertions-updates
          12. https://postgrest.org/en/v9.0/api.html#deletions
          13. https://postgrest.org/en/v9.0/api.html#custom-queries
          14. https://postgrest.org/en/v9.0/api.html#stored-procedures
          15. https://postgrest.org/en/v9.0/api.html#binary-output
          16. https://postgrest.org/en/v9.0/api.html#openapi-support
          17. https://postgrest.org/en/v9.0/api.html#options
          18. https://postgrest.org/en/v9.0/api.html#switching-schemas
          19. https://postgrest.org/en/v9.0/api.html#http-context
          20. https://postgrest.org/en/v9.0/configuration.html
          21. https://postgrest.org/en/v9.0/configuration.html#environment-variables
          22. https://postgrest.org/en/v9.0/configuration.html#configuration-reloading
          23. https://postgrest.org/en/v9.0/configuration.html#in-database-configuration
          24. https://postgrest.org/en/v9.0/schema_cache.html
          25. https://postgrest.org/en/v9.0/auth.html
          26. https://postgrest.org/en/v9.0/auth.html#client-auth
          27. https://postgrest.org/en/v9.0/auth.html#schema-isolation
          28. https://postgrest.org/en/v9.0/auth.html#sql-user-management
          29. https://postgrest.org/en/v9.0/schema_structure.html
          30. https://postgrest.org/en/v9.0/schema_structure.html#functions
          31. https://postgrest.org/en/v9.0/schema_structure.html#views
          32. https://postgrest.org/en/v9.0/admin.html
          33. https://postgrest.org/en/v9.0/admin.html#debugging
          34. https://postgrest.org/en/v9.0/admin.html#daemonizing
          35. https://postgrest.org/en/v9.0/admin.html#alternate-url-structure
          36. https://postgrest.org/en/v9.0/install.html
          37. https://postgrest.org/en/v9.0/install.html#running-postgrest
          38. https://postgrest.org/en/v9.0/install.html#docker
          39. https://postgrest.org/en/v9.0/install.html#building-from-source
          40. https://postgrest.org/en/v9.0/install.html#deploying-to-heroku
          41. https://postgrest.org/en/v9.0/how-tos/casting-type-to-custom-json.html
          42. https://postgrest.org/en/v9.0/how-tos/embedding-table-from-another-schema.html
          43. https://postgrest.org/en/v9.0/how-tos/providing-images-for-img.html
          44. https://postgrest.org/en/v9.0/ecosystem.html
          45. https://postgrest.org/en/v9.0/ecosystem.html#templates
          46. https://postgrest.org/en/v9.0/ecosystem.html#example-apps
          47. https://postgrest.org/en/v9.0/ecosystem.html#devops
          48. https://postgrest.org/en/v9.0/ecosystem.html#external-notification
          49. https://postgrest.org/en/v9.0/ecosystem.html#extensions
          50. https://postgrest.org/en/v9.0/ecosystem.html#client-side-libraries
          51. https://github.com/postgrest/postgrest-docs/blob/v9.0/releases/v9.0.0.rst
          52. https://github.com/PostgREST/postgrest/releases/tag/v9.0.0
          53. https://postgrest.org/en/v8.0/api.html#accessing-request-headers-cookies-and-jwt-claims
          54. https://github.com/robertsosinski
          55. https://www.postgresql.org/message-id/17045-6a4a9f0d1513f72b%40postgresql.org
          56. https://postgrest.org/en/v9.0/api.html#guc-req-headers-cookies-claims
          57. https://postgrest.org/en/v9.0/api.html#guc-legacy-names
          58. https://postgrest.org/en/v9.0/configuration.html#db-use-legacy-gucs
          59. https://postgrest.org/en/v9.0/api.html#embedding-top-level-filter
          60. https://postgrest.org/en/v9.0/api.html#embedding-partitioned-tables
          61. https://postgrest.org/en/v9.0/api.html#s-proc-single-unnamed
          62. https://postgrest.org/en/v9.0/api.html#operators
          63. https://postgrest.org/en/v9.0/api.html#reserved-chars
          64. https://postgrest.org/en/v9.0/admin.html#automatic-recovery
          65. https://postgrest.org/en/v9.0/api.html#embed-disamb
          66. https://postgrest.org/en/v9.0/api.html#nested-embedding
          67. https://postgrest.org/en/v9.0/api.html#logical-operators
          68. https://github.com/PostgREST/postgrest/pull/1930
          69. https://github.com/PostgREST/postgrest/issues/1992
          70. https://github.com/PostgREST/postgrest/issues/1871
          71. https://www.postgresql.org/support/versioning/
          72. https://www.postgresql.org/docs/current/ddl-partitioning.html#DDL-PARTITIONING-DECLARATIVE
          73. https://postgrest.org/en/v9.0/schema_cache.html#schema-cache
          74. https://postgrest.org/en/v9.0/api.html#hint-disamb
          75. https://github.com/PostgREST/postgrest/releases/tag/v6.0.2
          76. https://github.com/orgs/PostgREST/people
          77. https://www.cybertec-postgresql.com/en/?utm_source=postgrest.org&utm_medium=referral&utm_campaign=postgrest
          78. https://www.2ndquadrant.com/en/?utm_campaign=External%20Websites&utm_source=PostgREST&utm_medium=Logo
          79. https://retool.com/?utm_source=sponsor&utm_campaign=postgrest
          80. https://gnuhost.eu/?utm_source=sponsor&utm_campaign=postgrest
          81. https://supabase.io/?utm_source=postgrest%20backers&utm_medium=open%20source%20partner&utm_campaign=postgrest%20backers%20github&utm_term=homepage
          82. https://oblivious.ai/?utm_source=sponsor&utm_campaign=postgrest
          83. https://github.com/nerfpops
          84. https://www.igutech.at/
          85. https://github.com/dbabiak
          86. https://github.com/PostgREST/postgrest#user-content-supporting-development
          87. http://sphinx-doc.org/
          88. https://github.com/rtfd/sphinx_rtd_theme
          89. https://readthedocs.org
          90. https://postgrest.org/en/latest/
          91. https://postgrest.org/en/stable/
          92. https://postgrest.org/en/v9.0/
          93. https://postgrest.org/en/v8.0/
          94. https://postgrest.org/en/v7.0.0/
          95. https://postgrest.org/en/v6.0/
          96. https://postgrest.org/en/v5.2/
          97. https://postgrest.org/en/v5.1/
          98. https://postgrest.org/en/v5.0/
          99. https://postgrest.org/en/v4.4/
          100. https://postgrest.org/en/v4.3/
          101. https://postgrest.org/en/v4.1/
          102. https://postgrest.org/en/v3.2/
          103. https://postgrest.org/_/downloads/en/v9.0/pdf/
          104. https://postgrest.org/_/downloads/en/v9.0/htmlzip/
          105. https://postgrest.org/_/downloads/en/v9.0/epub/
          106. https://readthedocs.org/projects/postgrest/?fromdocs=postgrest
          107. https://readthedocs.org/builds/postgrest/?fromdocs=postgrest
          108. http://www.readthedocs.org