From c62b2f434001c9d88e56d068a53cb69d044e0323 Mon Sep 17 00:00:00 2001 From: Daniel Vaz Gaspar Date: Thu, 17 Oct 2019 14:54:02 +0100 Subject: [PATCH] [docs] CTAS on PostgreSQL needs commit to apply (#8367) * [docs] New, document need for PG to use autocommit for CTAS --- docs/installation.rst | 3 +++ docs/sqllab.rst | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/installation.rst b/docs/installation.rst index cc6792a0d..569277ed4 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -579,6 +579,9 @@ object gets unpacked into the while the ``metadata_params`` get unpacked into the `sqlalchemy.MetaData `_ call. Refer to the SQLAlchemy docs for more information. +.. note:: If your using CTAS on SQLLab and PostgreSQL + take a look at :ref:`ref_ctas_engine_config` for specific ``engine_params``. + Schemas (Postgres & Redshift) ----------------------------- diff --git a/docs/sqllab.rst b/docs/sqllab.rst index 9f9bac076..39ae4d4d7 100644 --- a/docs/sqllab.rst +++ b/docs/sqllab.rst @@ -122,3 +122,22 @@ database configuration: Here, "version" should be the version of your Presto cluster. Support for this functionality was introduced in Presto 0.319. + +.. _ref_ctas_engine_config: + +Create Table As (CTAS) +'''''''''''''''''''''' + +You can use ``CREATE TABLE AS SELECT ...`` statements on SQLLab. This feature can be toggled on +and off at the database configuration level. + +Note that since ``CREATE TABLE..`` belongs to a SQL DDL category. Specifically on PostgreSQL, DDL is transactional, +this means that to properly use this feature you have to set ``autocommit`` to true on your engine parameters: + +.. code-block:: json + + { + ... + "engine_params": {"isolation_level":"AUTOCOMMIT"}, + ... + }