Fetch DB tables blueprint like “describe table_name” commande from redshift and DB2 from python












0















I want to fetch data using my python code like we do with describe [tableName] statement. I want to do that on Redshift and DB2.



I tried to do that using Pandas and cursors, I tried the following chunks of commands:




  1. "set search_path to SCHEMA; select * from pg_table_def where schemaname = 'schema' and LOWER(tablename) = 'TableName';


  2. describe schema.tableName


  3. select column_name, data_type, character_manimum_length from information_schema.columns where table_schema = 'Schema' and table_name = 'TableName';


  4. d or d+



.



import psycopg2
import numpy as np
import pandas as pd



con=psycopg2.connect(dbname= 'DBNAME', host="Host-Link",
port= '5439', user= 'username', password= 'password')
print(con)

cur = con.cursor()
query = "set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';"
cur.execute(query)
temp = cur.fetchall()
print(temp)

data_frame = pd.read_sql("set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';", con)
print(data_frame)

con.close()


I want the output as following:



COLUMN_NAME DATA_TYPE   PK  NULLABLE    DEFAULT AUTOINCREMENT   COMPUTED    REMARKS POSITION
col1 varchar(10) YES NO NO NO 1
col2 varchar(50) NO NO NO NO 2
col3 smallint NO NO NO NO 3









share|improve this question





























    0















    I want to fetch data using my python code like we do with describe [tableName] statement. I want to do that on Redshift and DB2.



    I tried to do that using Pandas and cursors, I tried the following chunks of commands:




    1. "set search_path to SCHEMA; select * from pg_table_def where schemaname = 'schema' and LOWER(tablename) = 'TableName';


    2. describe schema.tableName


    3. select column_name, data_type, character_manimum_length from information_schema.columns where table_schema = 'Schema' and table_name = 'TableName';


    4. d or d+



    .



    import psycopg2
    import numpy as np
    import pandas as pd



    con=psycopg2.connect(dbname= 'DBNAME', host="Host-Link",
    port= '5439', user= 'username', password= 'password')
    print(con)

    cur = con.cursor()
    query = "set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';"
    cur.execute(query)
    temp = cur.fetchall()
    print(temp)

    data_frame = pd.read_sql("set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';", con)
    print(data_frame)

    con.close()


    I want the output as following:



    COLUMN_NAME DATA_TYPE   PK  NULLABLE    DEFAULT AUTOINCREMENT   COMPUTED    REMARKS POSITION
    col1 varchar(10) YES NO NO NO 1
    col2 varchar(50) NO NO NO NO 2
    col3 smallint NO NO NO NO 3









    share|improve this question



























      0












      0








      0








      I want to fetch data using my python code like we do with describe [tableName] statement. I want to do that on Redshift and DB2.



      I tried to do that using Pandas and cursors, I tried the following chunks of commands:




      1. "set search_path to SCHEMA; select * from pg_table_def where schemaname = 'schema' and LOWER(tablename) = 'TableName';


      2. describe schema.tableName


      3. select column_name, data_type, character_manimum_length from information_schema.columns where table_schema = 'Schema' and table_name = 'TableName';


      4. d or d+



      .



      import psycopg2
      import numpy as np
      import pandas as pd



      con=psycopg2.connect(dbname= 'DBNAME', host="Host-Link",
      port= '5439', user= 'username', password= 'password')
      print(con)

      cur = con.cursor()
      query = "set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';"
      cur.execute(query)
      temp = cur.fetchall()
      print(temp)

      data_frame = pd.read_sql("set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';", con)
      print(data_frame)

      con.close()


      I want the output as following:



      COLUMN_NAME DATA_TYPE   PK  NULLABLE    DEFAULT AUTOINCREMENT   COMPUTED    REMARKS POSITION
      col1 varchar(10) YES NO NO NO 1
      col2 varchar(50) NO NO NO NO 2
      col3 smallint NO NO NO NO 3









      share|improve this question
















      I want to fetch data using my python code like we do with describe [tableName] statement. I want to do that on Redshift and DB2.



      I tried to do that using Pandas and cursors, I tried the following chunks of commands:




      1. "set search_path to SCHEMA; select * from pg_table_def where schemaname = 'schema' and LOWER(tablename) = 'TableName';


      2. describe schema.tableName


      3. select column_name, data_type, character_manimum_length from information_schema.columns where table_schema = 'Schema' and table_name = 'TableName';


      4. d or d+



      .



      import psycopg2
      import numpy as np
      import pandas as pd



      con=psycopg2.connect(dbname= 'DBNAME', host="Host-Link",
      port= '5439', user= 'username', password= 'password')
      print(con)

      cur = con.cursor()
      query = "set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';"
      cur.execute(query)
      temp = cur.fetchall()
      print(temp)

      data_frame = pd.read_sql("set search_path to Schema; select * from pg_table_def where schemaname = 'Schema' and LOWER(tablename) = 'TableName';", con)
      print(data_frame)

      con.close()


      I want the output as following:



      COLUMN_NAME DATA_TYPE   PK  NULLABLE    DEFAULT AUTOINCREMENT   COMPUTED    REMARKS POSITION
      col1 varchar(10) YES NO NO NO 1
      col2 varchar(50) NO NO NO NO 2
      col3 smallint NO NO NO NO 3






      python pandas db2 cursor amazon-redshift






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 13:09









      Josh Friedlander

      2,7501928




      2,7501928










      asked Jan 1 at 12:48









      Salman AsifSalman Asif

      1




      1
























          1 Answer
          1






          active

          oldest

          votes


















          0














          A lot of this data is included in the SVV_COLUMNS system view. You can query that table using the table_name and table_schema columns.



          https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_COLUMNS.html






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53995570%2ffetch-db-tables-blueprint-like-describe-table-name-commande-from-redshift-and%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            A lot of this data is included in the SVV_COLUMNS system view. You can query that table using the table_name and table_schema columns.



            https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_COLUMNS.html






            share|improve this answer




























              0














              A lot of this data is included in the SVV_COLUMNS system view. You can query that table using the table_name and table_schema columns.



              https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_COLUMNS.html






              share|improve this answer


























                0












                0








                0







                A lot of this data is included in the SVV_COLUMNS system view. You can query that table using the table_name and table_schema columns.



                https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_COLUMNS.html






                share|improve this answer













                A lot of this data is included in the SVV_COLUMNS system view. You can query that table using the table_name and table_schema columns.



                https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_COLUMNS.html







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 3 at 15:21









                IronFarmIronFarm

                8612




                8612
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53995570%2ffetch-db-tables-blueprint-like-describe-table-name-commande-from-redshift-and%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                    Concat DataFrame Reindexing only valid with uniquely valued Index objects

                    How to use invoke http to perform GET request in nifi?