Push the Logic to the Data: Using PL/Python and GreenplumPython for Scalable In-Database Processing

In a recent client engagement, I demonstrated how to leverage PL/Python and the GreenplumPython library to push data transformation logic directly into the Greenplum Database. This approach embodies one of the foundational principles of big data architecture, move processing to the data. Interestingly, much of today’s “modern” pipeline architecture has drifted from this principle, pulling large volumes of data out of databases into external processing layers. While this trend can make sense in certain contexts, it often reintroduces the very inefficiencies early big data systems were designed to eliminate. By revisiting this original best practice, we can achieve lower latency, reduce data movement, and maximize the parallel processing power built into the database itself.

Rather than extracting large datasets into Python or pandas for processing, then writing the results back, this demo showcased how Greenplum’s native support for Python and pandas-like operations through PL/Python and GreenplumPython makes in-database computation both practical and powerful.

Why Push Processing into Greenplum?

Processing data directly inside Greenplum eliminates the inefficiencies and risks of pulling large datasets out for external computation. Extracting data first introduces:

  • Latency and I/O Overhead - Moving massive datasets across the network slows results and consumes bandwidth.

  • Data Duplication & Security Risks - Multiple copies increase the attack surface and the potential for data inconsistency.

  • Scalability Bottlenecks - Distributed databases scale horizontally, but your middle-tier processing layer might not.

  • Unnecessary Costs - You’ve already invested in a massively parallel processing (MPP) database and its hardware; duplicating compute in another layer wastes both money and resources.

Greenplum’s MPP architecture, combined with plpython3u, enables Python code to run natively and in parallel across the cluster, right where the data resides. With the GreenplumPython library, in-database Python programming feels much like working with pandas, offering familiar syntax for both data scientists and engineers, while leveraging the full power of the database.

The Four Strategies I Demonstrated

The demo is showing alternative pl/python or greenplumpython alternatives to this very simple pandasexample.py python code (running outside the database but connecting to it). The code simply prints the first 2 rows and returns a row count:

import pandas as pd
import sqlalchemy

db = sqlalchemy.create_engine('postgresql://gpadmin@localhost:5432/gpadmin')
df = pd.read_sql_table('masterlog', db)

print(df[:2])
row_count = len(df)
print(f"Number of rows: {row_count}")

The demo also shows a small example of running some ELT processing in the database using python code since this was something the ETL team was looking at doing.

Strategy / Test What it Does & When to Use
Test 1 — pandas_plpython_example.sql
PL/Python with SQLAlchemy read_sql_table (Direct copy of native python code into a function, normally the first thought when moving python code to pl/python)
  • Connects back to GP via SQLAlchemy from PL/Python.
  • Reads table to a pandas DataFrame, then transforms.
  • Essentially makes the Coordinator node the python "client" so uses memory from your coordinator.
  • Use when: you prefer pandas I/O ergonomics; fine for moderate volumes.
Test 2 — pandas_plpython_example2.sql
PL/Python with plpy.execute → pandas (no SQLAlchemy)
  • Lighter footprint, builds DataFrame from plpy.execute result.
  • Good for debugging and teaching the pattern.
  • Use when: you want a simpler pandas demo still running in-DB.
Test 3 — greenplumpython_example.py
GreenplumPython (pandas-like API that compiles to SQL)
  • High-level DataFrame API (.assign(), .groupby()) with execution in GP.
  • Generates SQL under the hood; no full data pulls.
  • Use when: you want scalability + developer-friendly, pandas-style code.
Test 4 — plpython_elt_example.sql
PL/Python ELT UDF using plpy.execute + pandas
  • Runs all logic in-database inside a PL/Python function.
  • Row transforms (string edit, square, sqrt) + pandas groupby aggregation.
  • Writes directly to target_table and target_table_sum.
  • Use when: you want full control and explicit inserts in SQL from Python.

Takeaways for the Client

  • All approaches accomplish the same tasks, but differ in efficiency, maintainability, and developer ergonomics.

  • Best practice: For large datasets, avoid full pulls into Python; use PL/Python or GreenplumPython to run logic in the database.

  • GreenplumPython offers the cleanest, most scalable way to get pandas-like transformations without leaving SQL-land.

  • PL/Python gives you full access to pandas, math, and other libraries (Be sure to install the Tanzu Greenplum offered DataSciencePython package to get a rich set of python modules for your Data Science team).

GreenplumPython Caveat

GreenplumPython is no longer an open source project, and its continued availability as a supported closed-source offering from Broadcom should be evaluated before adopting at scale. In January 2025, I opened a Broadcom support ticket on behalf of a client, and support confirmed that the library is still supported and that plans exist to deliver a packaged version. However, as of this writing, no official documentation or packaged release has been made available. Proceed with caution and if you feel, as I do, that this addition is valuable to Greenplum be sure to request it. The Tanzu Data Product Management team is very responsive to customers so will prioritize features based on customer demand.

Code (expandable)

README (notes & test descriptions)
This directory shows various ways of using Python in Greenplum.  It is meant to show different techniques from a performance standpoint.  Fortunately, or unfortunately, depending on your point of view Greenplum and Postgres is flexible in it's support of Python which leads to poorly performing development.

Let's look at some really simple Python examples and different ways of accomplishing the exact same outcome.

Use Case: Read a database table and return the first 2 rows and the total number of rows in the table
          
1) pandas_example.py: This is an example of code using pandas.  If you look at the file log_output.xls you can see all the activity at the Greenplum level performed by this code.  Most of the activity is the sqlalchemy connection and the dataframe metadata queries. Line 160 basically shows the SQL performed by the read_sql_table.  What you'll notice is that, at the db level, this is the last interaction with the database.  This is because this code will bring all the data to the client and the client will then process the code to get the first 2 rows and the row count.

2) greenplumpython_example.py: This is an example of code using greenplumpython library. If you look at the log_output.xls you can see the database activity for the same use case. In this case you can see that this library waits to see what activities you are doing on the dataframe and "pushing" that processing down to the database as opposed to doing the processing on the client.  Line 169 shows the SQL to get the first 2 rows (notice the LIMIT 2 in the sql).  Line 172 shows the SQL to get the count (notice the count(*) in the sql).  This shows the fundametal believe of BigData processing which is to push the processing to the data vs pulling the data to the processing (which simply doesn't work with massive volume)

3) pandas_plpython_example.sql: This is an example where we simply take the pandas example above and put that code inside a plpython3u function.  This "works" however if you look at the log_output you can see that with this code all we are really doing is making the Greenplum master act as the "client".  You can still see the code is making a connection to the database and still just reading all the contents of the table into memory (in this case it'll be in the Greenplum masters memory instead of the client box).

4) pandas_plpython_example2.sql: This is an example where we change the code to use pl/python code.  This is slightly different from standard pandas code but once the data is in a dataframe then the code is familiar.  With this code you are running all the code within the database itself.  The log, like UDF calls in general, doesn't show much because the log just shows the call to the UDF as a black box.

5) plpython_elt_example.sql: This is a more complex pl/python example showing using pl/python for ELT-type functionality where we read data, transform it, and load it into another table.
pandas_example.py
import pandas as pd
import sqlalchemy

db = sqlalchemy.create_engine('postgresql://gpadmin@localhost:5432/gpadmin')
df = pd.read_sql_table('masterlog', db)

print(df[:2])
row_count = len(df)
print(f"Number of rows: {row_count}")
pandas_plpython_example.sql
CREATE OR REPLACE FUNCTION test.pandas_pl()
RETURNS void AS
$$
import pandas as pd
import sqlalchemy

db = sqlalchemy.create_engine('postgresql://gpadmin@localhost:5432/gpadmin')
df = pd.read_sql_table('masterlog', db)

plpy.notice(df[:2])

row_count = len(df)
plpy.notice(f"Number of rows: {row_count}")

$$
LANGUAGE plpython3u
;

select test.pandas_pl();
pandas_plpython_example2.sql
CREATE OR REPLACE FUNCTION test.pandas_pl2()
RETURNS void AS
$$
import pandas as pd

rv = plpy.execute("select * from masterlog")
df = pd.DataFrame([dict[row] for row in rv])

plpy.notice(df[:2])

row_count = len(df)
plpy.notice(f"Number of rows: {row_count}")

$$
LANGUAGE plpython3u
;

select test.pandas_pl2();
greenplumpython_example.py
import greenplumpython as gp
import greenplumpython.builtins.functions as F

db = gp.database(uri="postgres://gpadmin@localhost:5432/gpadmin")
df = gp.DataFrame.from_table("masterlog",db=db)

# Print 2 rows
print(df[:2])

# Get Count
row_count = df.apply(lambda _: F.count())
print(f"Number of rows: {row_count}")
plpython_elt_example.sql
drop schema test cascade;
create schema test;
grant usage,create on schema test to public;

CREATE OR REPLACE FUNCTION test.transform_and_insert_gp()
RETURNS void AS
$$
import math
import pandas as pd

# Fetch data from the source table
rv = plpy.execute("SELECT id, name, category, value FROM test.source_table")
data = pd.DataFrame([dict(row) for row in rv])

# Process and insert each row into the target table
for row in rv:
    # Transform data
    transformed_name = row['name'] + " - processed"
    squared_value = row['value'] ** 2
    square_root_val = round(math.sqrt(row['value']), 2)

    # Insert the transformed data into the target table
    query = "INSERT INTO test.target_table (id, transformed_name, category, value, squared_value, square_root_val) \
             VALUES (%s, %s, %s, %s, %s, %s)"
    plpy.execute(query % (row['id'], plpy.quote_literal(transformed_name),
                          plpy.quote_literal(row['category']), row['value'], squared_value, square_root_val))

# Perform transformations: group by category, calculate average and total
grouped = data.groupby('category').agg(
    average_value=('value', 'mean'),
    total_value=('value', 'sum')
).reset_index()

# Insert the transformed data into the target table
for _, row in grouped.iterrows():
    query = "INSERT INTO test.target_table_sum (category, average_value, total_value) VALUES (%s, %s, %s)"
    plpy.execute(query % (
        plpy.quote_literal(row['category']),
        row['average_value'],
        row['total_value']
    ))

$$
LANGUAGE plpython3u
;

create table test.source_table(id int, name text, category text, value int) distributed by (id);
create table test.target_table(id int, transformed_name text, category text, value int, squared_value int, square_root_val int) distributed by (id);
create table test.target_table_sum(category TEXT,average_value FLOAT NOT NULL,total_value FLOAT NOT NULL) distributed randomly;
grant all on table test.source_table to public;
grant all on table test.target_table to public;
grant all on table test.target_table_sum to public;

INSERT INTO test.source_table (id, name, category, value) VALUES
(1, 'Alice', 'A', 2),
(2, 'Bob', 'A', 30),
(3, 'Charlie', 'B', 4),
(4, 'Fred', 'B', 40);


SELECT test.transform_and_insert_gp();

SELECT * FROM test.target_table;
select * from test.target_table_sum;

Logs (Excel) - Expandable Preview & Download

View log file preview (first 200 rows)
Unnamed: 0Unnamed: 1Unnamed: 2Unnamed: 3Unnamed: 4Unnamed: 5Unnamed: 6Unnamed: 7Unnamed: 8Unnamed: 9Unnamed: 10Unnamed: 11Unnamed: 12Unnamed: 13Unnamed: 14Unnamed: 15Unnamed: 16Unnamed: 17Unnamed: 18Unnamed: 19Unnamed: 20Unnamed: 21Unnamed: 22Unnamed: 23Unnamed: 24Unnamed: 25Unnamed: 26Unnamed: 27Unnamed: 28Unnamed: 29
######### Standard pandas python code to return 2 rows and a table count ############nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.483403 CSTstatement: BEGINgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd1seg-1nannannansx1LOG0statement: BEGINnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.486035 CSTstatement: SELECT t.oid, typarraygpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd3seg-1nandx63672nansx1LOG0statement: SELECT t.oid, typarraynannannannannannannannannannan
FROM pg_type t JOIN pg_namespace nsnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
ON typnamespace = ns.oidnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE typname = 'hstore';nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
,,,,,,,0,,postgres.c"nan1732nannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.565709 CST2025-01-16 00:28:39:563038 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd3seg-1nandx63672nansx1LOG02025-01-16 00:28:39:563038 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT t.oidnan typarraynannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_type t JOIN pg_namespace nsnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
ON typnamespace = ns.oidnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE typname = 'hstore';nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
,0,,COptTasks.cpp"nan268nannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.601934 CSTstatement: ROLLBACKgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd5seg-1nandx63672nansx1LOG0statement: ROLLBACKnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.604675 CSTstatement: BEGINgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd7seg-1nannannansx1LOG0statement: BEGINnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.605044 CSTstatement: select pg_catalog.version()gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd9seg-1nandx63673nansx1LOG0statement: select pg_catalog.version()nannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.672946 CSTstatement: select current_schema()gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd11seg-1nandx63673nansx1LOG0statement: select current_schema()nannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.675968 CST2025-01-16 00:28:39:675724 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd11seg-1nandx63673nansx1LOG02025-01-16 00:28:39:675724 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,select current_schema()"nan0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.677784 CSTstatement: show transaction isolation levelgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd13seg-1nandx63673nansx1LOG0statement: show transaction isolation levelnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.679287 CSTstatement: show standard_conforming_stringsgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd15seg-1nandx63673nansx1LOG0statement: show standard_conforming_stringsnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.679983 CSTstatement: ROLLBACKgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd17seg-1nandx63673nansx1LOG0statement: ROLLBACKnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.697139 CSTstatement: BEGINgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd19seg-1nannannansx1LOG0statement: BEGINnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:28:39.697632 CSTstatement: SELECT pg_catalog.pg_class.relname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd21seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname nannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relname = 'masterlog' AND pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannan
2025-01-16 00:28:39.705343 CST2025-01-16 00:28:39:705106 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd21seg-1nandx63674nansx1LOG02025-01-16 00:28:39:705106 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relname nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relname = 'masterlog' AND pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.739526 CSTstatement: SELECT pg_catalog.pg_class.relname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd23seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname nannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.741554 CST2025-01-16 00:28:39:741323 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd23seg-1nandx63674nansx1LOG02025-01-16 00:28:39:741323 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relname nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.766607 CSTstatement: SELECT pg_catalog.pg_class.relname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd25seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname nannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['v']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nannannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.768286 CST2025-01-16 00:28:39:768069 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd25seg-1nandx63674nansx1LOG02025-01-16 00:28:39:768069 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relname nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['v']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nan0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.791321 CSTstatement: SELECT pg_catalog.pg_class.relname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd27seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname nannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['m']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nannannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.792957 CST2025-01-16 00:28:39:792748 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd27seg-1nandx63674nansx1LOG02025-01-16 00:28:39:792748 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relname nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['m']) AND pg_catalog.pg_class.relpersistence != 't' AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog'"nan0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.819219 CSTstatement: SELECT pg_catalog.pg_attribute.attname AS name, pg_catalog.format_type(pg_catalog.pg_attribute.atttypid, pg_catalog.pg_attribute.atttypmod) AS format_type, (SELECT pg_catalog.pg_get_expr(pg_catalog.pg_attrdef.adbin, pg_catalog.pg_attrdef.adrelid) AS pg_get_expr_1 gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd29seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_attribute.attname AS name, pg_catalog.format_type(pg_catalog.pg_attribute.atttypid, pg_catalog.pg_attribute.atttypmod) AS format_type, (SELECT pg_catalog.pg_get_expr(pg_catalog.pg_attrdef.adbin, pg_catalog.pg_attrdef.adrelid) AS pg_get_expr_1 nannannannannannannannannannan
FROM pg_catalog.pg_attrdef nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_attrdef.adrelid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_attrdef.adnum = pg_catalog.pg_attribute.attnum AND pg_catalog.pg_attribute.atthasdef) AS ""default"" pg_catalog.pg_sequence.seqcycle) AS json_build_object_1 pg_catalog.pg_attribute.attnotnull AS not_null pg_catalog.pg_class.relname AS table_name pg_catalog.pg_description.description AS comment pg_catalog.pg_attribute.attgenerated AS generated (SELECT json_build_object('always' pg_catalog.pg_attribute.attidentity = 'a' 'start' pg_catalog.pg_sequence.seqstart 'increment' pg_catalog.pg_sequence.seqincrement 'minvalue' pg_catalog.pg_sequence.seqmin 'maxvalue' pg_catalog.pg_sequence.seqmax 'cache' pg_catalog.pg_sequence.seqcache 'cycle' pg_catalog.pg_sequence.seqcycle) AS json_build_object_1 nannannannannannannannannannan
FROM pg_catalog.pg_sequence nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_attribute.attidentity != '' AND pg_catalog.pg_sequence.seqrelid = CAST(CAST(pg_catalog.pg_get_serial_sequence(CAST(CAST(pg_catalog.pg_attribute.attrelid AS REGCLASS) AS TEXT)nan pg_catalog.pg_attribute.attname) AS REGCLASS) AS OID)) AS identity_options nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_attribute ON pg_catalog.pg_class.oid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_attribute.attnum > 0 AND NOT pg_catalog.pg_attribute.attisdropped LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_description.objsubid = pg_catalog.pg_attribute.attnum JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_attribute.attnum"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannan
2025-01-16 00:28:39.829236 CST2025-01-16 00:28:39:828969 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd29seg-1nandx63674nansx1LOG02025-01-16 00:28:39:828969 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_attribute.attname AS namenan pg_catalog.format_type(pg_catalog.pg_attribute.atttypid pg_catalog.pg_attribute.atttypmod) AS format_type (SELECT pg_catalog.pg_get_expr(pg_catalog.pg_attrdef.adbin pg_catalog.pg_attrdef.adrelid) AS pg_get_expr_1 nannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_attrdef nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_attrdef.adrelid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_attrdef.adnum = pg_catalog.pg_attribute.attnum AND pg_catalog.pg_attribute.atthasdef) AS ""default"" pg_catalog.pg_sequence.seqcycle) AS json_build_object_1 pg_catalog.pg_attribute.attnotnull AS not_null pg_catalog.pg_class.relname AS table_name pg_catalog.pg_description.description AS comment pg_catalog.pg_attribute.attgenerated AS generated (SELECT json_build_object('always' pg_catalog.pg_attribute.attidentity = 'a' 'start' pg_catalog.pg_sequence.seqstart 'increment' pg_catalog.pg_sequence.seqincrement 'minvalue' pg_catalog.pg_sequence.seqmin 'maxvalue' pg_catalog.pg_sequence.seqmax 'cache' pg_catalog.pg_sequence.seqcache 'cycle' pg_catalog.pg_sequence.seqcycle) AS json_build_object_1 nannannannannannannannannannan
FROM pg_catalog.pg_sequence nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_attribute.attidentity != '' AND pg_catalog.pg_sequence.seqrelid = CAST(CAST(pg_catalog.pg_get_serial_sequence(CAST(CAST(pg_catalog.pg_attribute.attrelid AS REGCLASS) AS TEXT)nan pg_catalog.pg_attribute.attname) AS REGCLASS) AS OID)) AS identity_options nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_attribute ON pg_catalog.pg_class.oid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_attribute.attnum > 0 AND NOT pg_catalog.pg_attribute.attisdropped LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_attribute.attrelid AND pg_catalog.pg_description.objsubid = pg_catalog.pg_attribute.attnum JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_attribute.attnum"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.909078 CSTstatement: SELECT pg_catalog.pg_type.typname AS name, pg_catalog.format_type(pg_catalog.pg_type.typbasetype, pg_catalog.pg_type.typtypmod) AS attype, NOT pg_catalog.pg_type.typnotnull AS nullable, pg_catalog.pg_type.typdefault AS "default", pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible, pg_catalog.pg_namespace.nspname AS schema, domain_constraints.condefs, domain_constraints.connames, pg_catalog.pg_collation.collname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd31seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_type.typname AS name, pg_catalog.format_type(pg_catalog.pg_type.typbasetype, pg_catalog.pg_type.typtypmod) AS attype, NOT pg_catalog.pg_type.typnotnull AS nullable, pg_catalog.pg_type.typdefault AS "default", pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible, pg_catalog.pg_namespace.nspname AS schema, domain_constraints.condefs, domain_constraints.connames, pg_catalog.pg_collation.collname nannannannannannannannannannan
FROM pg_catalog.pg_type JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_type.typnamespace LEFT OUTER JOIN pg_catalog.pg_collation ON pg_catalog.pg_type.typcollation = pg_catalog.pg_collation.oid LEFT OUTER JOIN (SELECT pg_catalog.pg_constraint.contypid AS contypidnan array_agg(pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid true)) AS condefs array_agg(CAST(pg_catalog.pg_constraint.conname AS TEXT)) AS connames nannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contypid != 0 GROUP BY pg_catalog.pg_constraint.contypid) AS domain_constraints ON pg_catalog.pg_type.oid = domain_constraints.contypid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_type.typtype = 'd' ORDER BY pg_catalog.pg_namespace.nspnamenan pg_catalog.pg_type.typname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.915140 CST2025-01-16 00:28:39:914846 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd31seg-1nandx63674nansx1LOG02025-01-16 00:28:39:914846 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_type.typname AS namenan pg_catalog.format_type(pg_catalog.pg_type.typbasetype pg_catalog.pg_type.typtypmod) AS attype NOT pg_catalog.pg_type.typnotnull AS nullable pg_catalog.pg_type.typdefault AS ""default"" pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible pg_catalog.pg_namespace.nspname AS schema domain_constraints.condefs domain_constraints.connames pg_catalog.pg_collation.collname nannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_type JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_type.typnamespace LEFT OUTER JOIN pg_catalog.pg_collation ON pg_catalog.pg_type.typcollation = pg_catalog.pg_collation.oid LEFT OUTER JOIN (SELECT pg_catalog.pg_constraint.contypid AS contypidnan array_agg(pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid true)) AS condefs array_agg(CAST(pg_catalog.pg_constraint.conname AS TEXT)) AS connames nannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contypid != 0 GROUP BY pg_catalog.pg_constraint.contypid) AS domain_constraints ON pg_catalog.pg_type.oid = domain_constraints.contypid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_type.typtype = 'd' ORDER BY pg_catalog.pg_namespace.nspnamenan pg_catalog.pg_type.typname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.964227 CSTstatement: SELECT pg_catalog.pg_type.typname AS name, pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible, pg_catalog.pg_namespace.nspname AS schema, lbl_agg.labels AS labels gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd33seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_type.typname AS name, pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible, pg_catalog.pg_namespace.nspname AS schema, lbl_agg.labels AS labels nannannannannannannannannannan
FROM pg_catalog.pg_type JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_type.typnamespace LEFT OUTER JOIN (SELECT pg_catalog.pg_enum.enumtypid AS enumtypidnan array_agg(CAST(pg_catalog.pg_enum.enumlabel AS TEXT) ORDER BY pg_catalog.pg_enum.enumsortorder) AS labels nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_enum GROUP BY pg_catalog.pg_enum.enumtypid) AS lbl_agg ON pg_catalog.pg_type.oid = lbl_agg.enumtypid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_type.typtype = 'e' ORDER BY pg_catalog.pg_namespace.nspnamenan pg_catalog.pg_type.typname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.966754 CST2025-01-16 00:28:39:966548 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd33seg-1nandx63674nansx1LOG02025-01-16 00:28:39:966548 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_type.typname AS namenan pg_catalog.pg_type_is_visible(pg_catalog.pg_type.oid) AS visible pg_catalog.pg_namespace.nspname AS schema lbl_agg.labels AS labels nannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_type JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_type.typnamespace LEFT OUTER JOIN (SELECT pg_catalog.pg_enum.enumtypid AS enumtypidnan array_agg(CAST(pg_catalog.pg_enum.enumlabel AS TEXT) ORDER BY pg_catalog.pg_enum.enumsortorder) AS labels nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_enum GROUP BY pg_catalog.pg_enum.enumtypid) AS lbl_agg ON pg_catalog.pg_type.oid = lbl_agg.enumtypid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_type.typtype = 'e' ORDER BY pg_catalog.pg_namespace.nspnamenan pg_catalog.pg_type.typname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:39.978464 CSTstatement: SELECT pg_catalog.pg_class.oid, pg_catalog.pg_class.relname gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd35seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.oid, pg_catalog.pg_class.relname nannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog')"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannan
2025-01-16 00:28:39.980390 CST2025-01-16 00:28:39:980172 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd35seg-1nandx63674nansx1LOG02025-01-16 00:28:39:980172 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.oidnan pg_catalog.pg_class.relname nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog')"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.009485 CSTstatement: SELECT attr.conrelid, array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols, attr.conname, min(attr.description) AS description, NULL AS extra gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd37seg-1nandx63674nansx1LOG0statement: SELECT attr.conrelid, array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols, attr.conname, min(attr.description) AS description, NULL AS extra nannannannannannannannannannan
FROM (SELECT con.conrelid AS conrelidnan con.conname AS conname con.conindid AS conindid con.description AS description con.ord AS ord pg_catalog.pg_attribute.attname AS attname nannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelidnan pg_catalog.pg_constraint.conname AS conname pg_catalog.pg_constraint.conindid AS conindid unnest(pg_catalog.pg_constraint.conkey) AS attnum generate_subscripts(pg_catalog.pg_constraint.conkey 1) AS ord pg_catalog.pg_description.description AS description nannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contype = 'p' AND pg_catalog.pg_constraint.conrelid IN (27721)) AS con ON pg_catalog.pg_attribute.attnum = con.attnum AND pg_catalog.pg_attribute.attrelid = con.conrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelidnan attr.conname ORDER BY attr.conrelid attr.conname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.012915 CST2025-01-16 00:28:40:012694 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd37seg-1nandx63674nansx1LOG02025-01-16 00:28:40:012694 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT attr.conrelidnan array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols attr.conname min(attr.description) AS description NULL AS extra nannannannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT con.conrelid AS conrelidnan con.conname AS conname con.conindid AS conindid con.description AS description con.ord AS ord pg_catalog.pg_attribute.attname AS attname nannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelidnan pg_catalog.pg_constraint.conname AS conname pg_catalog.pg_constraint.conindid AS conindid unnest(pg_catalog.pg_constraint.conkey) AS attnum generate_subscripts(pg_catalog.pg_constraint.conkey 1) AS ord pg_catalog.pg_description.description AS description nannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contype = 'p' AND pg_catalog.pg_constraint.conrelid IN (27721)) AS con ON pg_catalog.pg_attribute.attnum = con.attnum AND pg_catalog.pg_attribute.attrelid = con.conrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelidnan attr.conname ORDER BY attr.conrelid attr.conname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.035464 CSTstatement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_constraint.conname, CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid, true) END AS anon_1, nsp_ref.nspname, pg_catalog.pg_description.description gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd39seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_constraint.conname, CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid, true) END AS anon_1, nsp_ref.nspname, pg_catalog.pg_description.description nannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_class.oid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_constraint.contype = 'f' LEFT OUTER JOIN pg_catalog.pg_class AS cls_ref ON cls_ref.oid = pg_catalog.pg_constraint.confrelid LEFT OUTER JOIN pg_catalog.pg_namespace AS nsp_ref ON cls_ref.relnamespace = nsp_ref.oid LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_constraint.conname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannan
2025-01-16 00:28:40.039094 CST2025-01-16 00:28:40:038840 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd39seg-1nandx63674nansx1LOG02025-01-16 00:28:40:038840 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relnamenan pg_catalog.pg_constraint.conname CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid true) END AS anon_1 nsp_ref.nspname pg_catalog.pg_description.description nannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_class.oid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_constraint.contype = 'f' LEFT OUTER JOIN pg_catalog.pg_class AS cls_ref ON cls_ref.oid = pg_catalog.pg_constraint.confrelid LEFT OUTER JOIN pg_catalog.pg_namespace AS nsp_ref ON cls_ref.relnamespace = nsp_ref.oid LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_constraint.conname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.092407 CSTstatement: SELECT pg_catalog.pg_index.indrelid, cls_idx.relname AS relname_index, pg_catalog.pg_index.indisunique, pg_catalog.pg_constraint.conrelid IS NOT NULL AS has_constraint, pg_catalog.pg_index.indoption, cls_idx.reloptions, pg_catalog.pg_am.amname, CASE WHEN (pg_catalog.pg_index.indpred IS NOT NULL) THEN pg_catalog.pg_get_expr(pg_catalog.pg_index.indpred, pg_catalog.pg_index.indrelid) END AS filter_definition, pg_catalog.pg_index.indnkeyatts, false AS indnullsnotdistinct, idx_cols.elements, idx_cols.elements_is_expr gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd41seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_index.indrelid, cls_idx.relname AS relname_index, pg_catalog.pg_index.indisunique, pg_catalog.pg_constraint.conrelid IS NOT NULL AS has_constraint, pg_catalog.pg_index.indoption, cls_idx.reloptions, pg_catalog.pg_am.amname, CASE WHEN (pg_catalog.pg_index.indpred IS NOT NULL) THEN pg_catalog.pg_get_expr(pg_catalog.pg_index.indpred, pg_catalog.pg_index.indrelid) END AS filter_definition, pg_catalog.pg_index.indnkeyatts, false AS indnullsnotdistinct, idx_cols.elements, idx_cols.elements_is_expr nannannannannannannannannannan
FROM pg_catalog.pg_index JOIN pg_catalog.pg_class AS cls_idx ON pg_catalog.pg_index.indexrelid = cls_idx.oid JOIN pg_catalog.pg_am ON cls_idx.relam = pg_catalog.pg_am.oid LEFT OUTER JOIN (SELECT idx_attr.indexrelid AS indexrelidnan min(idx_attr.indrelid) AS min_1 array_agg(idx_attr.element ORDER BY idx_attr.ord) AS elements array_agg(idx_attr.is_expr ORDER BY idx_attr.ord) AS elements_is_expr nannannannannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT idx.indexrelid AS indexrelidnan idx.indrelid AS indrelid idx.ord AS ord CASE WHEN (idx.attnum = 0) THEN pg_catalog.pg_get_indexdef(idx.indexrelid idx.ord + 1 true) ELSE CAST(pg_catalog.pg_attribute.attname AS TEXT) END AS element idx.attnum = 0 AS is_expr nannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT pg_catalog.pg_index.indexrelid AS indexrelidnan pg_catalog.pg_index.indrelid AS indrelid unnest(pg_catalog.pg_index.indkey) AS attnum generate_subscripts(pg_catalog.pg_index.indkey 1) AS ord nannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_index nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE NOT pg_catalog.pg_index.indisprimary AND pg_catalog.pg_index.indrelid IN (27721)) AS idx LEFT OUTER JOIN pg_catalog.pg_attribute ON pg_catalog.pg_attribute.attnum = idx.attnum AND pg_catalog.pg_attribute.attrelid = idx.indrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE idx.indrelid IN (27721)) AS idx_attr GROUP BY idx_attr.indexrelid) AS idx_cols ON pg_catalog.pg_index.indexrelid = idx_cols.indexrelid LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_index.indrelid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_index.indexrelid = pg_catalog.pg_constraint.conindid AND pg_catalog.pg_constraint.contype = ANY (ARRAY['p'nan 'u' 'x']) nannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_index.indrelid IN (27721) AND NOT pg_catalog.pg_index.indisprimary ORDER BY pg_catalog.pg_index.indrelidnan cls_idx.relname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.096469 CST2025-01-16 00:28:40:096229 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd41seg-1nandx63674nansx1LOG02025-01-16 00:28:40:096229 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_index.indrelidnan cls_idx.relname AS relname_index pg_catalog.pg_index.indisunique pg_catalog.pg_constraint.conrelid IS NOT NULL AS has_constraint pg_catalog.pg_index.indoption cls_idx.reloptions pg_catalog.pg_am.amname CASE WHEN (pg_catalog.pg_index.indpred IS NOT NULL) THEN pg_catalog.pg_get_expr(pg_catalog.pg_index.indpred pg_catalog.pg_index.indrelid) END AS filter_definition pg_catalog.pg_index.indnkeyatts false AS indnullsnotdistinct idx_cols.elements idx_cols.elements_is_expr nannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_index JOIN pg_catalog.pg_class AS cls_idx ON pg_catalog.pg_index.indexrelid = cls_idx.oid JOIN pg_catalog.pg_am ON cls_idx.relam = pg_catalog.pg_am.oid LEFT OUTER JOIN (SELECT idx_attr.indexrelid AS indexrelidnan min(idx_attr.indrelid) AS min_1 array_agg(idx_attr.element ORDER BY idx_attr.ord) AS elements array_agg(idx_attr.is_expr ORDER BY idx_attr.ord) AS elements_is_expr nannannannannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT idx.indexrelid AS indexrelidnan idx.indrelid AS indrelid idx.ord AS ord CASE WHEN (idx.attnum = 0) THEN pg_catalog.pg_get_indexdef(idx.indexrelid idx.ord + 1 true) ELSE CAST(pg_catalog.pg_attribute.attname AS TEXT) END AS element idx.attnum = 0 AS is_expr nannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT pg_catalog.pg_index.indexrelid AS indexrelidnan pg_catalog.pg_index.indrelid AS indrelid unnest(pg_catalog.pg_index.indkey) AS attnum generate_subscripts(pg_catalog.pg_index.indkey 1) AS ord nannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_index nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE NOT pg_catalog.pg_index.indisprimary AND pg_catalog.pg_index.indrelid IN (27721)) AS idx LEFT OUTER JOIN pg_catalog.pg_attribute ON pg_catalog.pg_attribute.attnum = idx.attnum AND pg_catalog.pg_attribute.attrelid = idx.indrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE idx.indrelid IN (27721)) AS idx_attr GROUP BY idx_attr.indexrelid) AS idx_cols ON pg_catalog.pg_index.indexrelid = idx_cols.indexrelid LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_index.indrelid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_index.indexrelid = pg_catalog.pg_constraint.conindid AND pg_catalog.pg_constraint.contype = ANY (ARRAY['p'nan 'u' 'x']) nannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_index.indrelid IN (27721) AND NOT pg_catalog.pg_index.indisprimary ORDER BY pg_catalog.pg_index.indrelidnan cls_idx.relname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.121505 CSTstatement: SELECT attr.conrelid, array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols, attr.conname, min(attr.description) AS description, false AS indnullsnotdistinct gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd43seg-1nandx63674nansx1LOG0statement: SELECT attr.conrelid, array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols, attr.conname, min(attr.description) AS description, false AS indnullsnotdistinct nannannannannannannannannannan
FROM (SELECT con.conrelid AS conrelidnan con.conname AS conname con.conindid AS conindid con.description AS description con.ord AS ord pg_catalog.pg_attribute.attname AS attname nannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelidnan pg_catalog.pg_constraint.conname AS conname pg_catalog.pg_constraint.conindid AS conindid unnest(pg_catalog.pg_constraint.conkey) AS attnum generate_subscripts(pg_catalog.pg_constraint.conkey 1) AS ord pg_catalog.pg_description.description AS description nannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contype = 'u' AND pg_catalog.pg_constraint.conrelid IN (27721)) AS con ON pg_catalog.pg_attribute.attnum = con.attnum AND pg_catalog.pg_attribute.attrelid = con.conrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelidnan attr.conname ORDER BY attr.conrelid attr.conname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.123560 CST2025-01-16 00:28:40:123341 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd43seg-1nandx63674nansx1LOG02025-01-16 00:28:40:123341 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT attr.conrelidnan array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols attr.conname min(attr.description) AS description false AS indnullsnotdistinct nannannannannannannannannannannannannannannannannannannannannannannannan
FROM (SELECT con.conrelid AS conrelidnan con.conname AS conname con.conindid AS conindid con.description AS description con.ord AS ord pg_catalog.pg_attribute.attname AS attname nannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelidnan pg_catalog.pg_constraint.conname AS conname pg_catalog.pg_constraint.conindid AS conindid unnest(pg_catalog.pg_constraint.conkey) AS attnum generate_subscripts(pg_catalog.pg_constraint.conkey 1) AS ord pg_catalog.pg_description.description AS description nannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_constraint.contype = 'u' AND pg_catalog.pg_constraint.conrelid IN (27721)) AS con ON pg_catalog.pg_attribute.attnum = con.attnum AND pg_catalog.pg_attribute.attrelid = con.conrelid nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelidnan attr.conname ORDER BY attr.conrelid attr.conname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.133355 CSTstatement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_description.description gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd45seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_description.description nannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_class.oid = pg_catalog.pg_description.objoid AND pg_catalog.pg_description.objsubid = 0 AND pg_catalog.pg_description.classoid = CAST('pg_catalog.pg_class' AS REGCLASS) JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog')"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannan
2025-01-16 00:28:40.135720 CST2025-01-16 00:28:40:135494 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd45seg-1nandx63674nansx1LOG02025-01-16 00:28:40:135494 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relnamenan pg_catalog.pg_description.description nannannannannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_class.oid = pg_catalog.pg_description.objoid AND pg_catalog.pg_description.objsubid = 0 AND pg_catalog.pg_description.classoid = CAST('pg_catalog.pg_class' AS REGCLASS) JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog')"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.161531 CSTstatement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_constraint.conname, CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid, true) END AS anon_1, pg_catalog.pg_description.description gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd47seg-1nandx63674nansx1LOG0statement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_constraint.conname, CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid, true) END AS anon_1, pg_catalog.pg_description.description nannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_class.oid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_constraint.contype = 'c' LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_constraint.conname"nannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannan
2025-01-16 00:28:40.163871 CST2025-01-16 00:28:40:163654 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd47seg-1nandx63674nansx1LOG02025-01-16 00:28:40:163654 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Non-default collation",nannannannannannannannannannan
,,,,,,SELECT pg_catalog.pg_class.relnamenan pg_catalog.pg_constraint.conname CASE WHEN (pg_catalog.pg_constraint.oid IS NOT NULL) THEN pg_catalog.pg_get_constraintdef(pg_catalog.pg_constraint.oid true) END AS anon_1 pg_catalog.pg_description.description nannannannannannannannannannannannannannannannannannannannannannannannan
FROM pg_catalog.pg_class LEFT OUTER JOIN pg_catalog.pg_constraint ON pg_catalog.pg_class.oid = pg_catalog.pg_constraint.conrelid AND pg_catalog.pg_constraint.contype = 'c' LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
WHERE pg_catalog.pg_class.relkind = ANY (ARRAY['r'nan 'p' 'f' 'v' 'm']) AND pg_catalog.pg_table_is_visible(pg_catalog.pg_class.oid) AND pg_catalog.pg_namespace.nspname != 'pg_catalog' AND pg_catalog.pg_class.relname IN ('masterlog') ORDER BY pg_catalog.pg_class.relname pg_catalog.pg_constraint.conname"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:40.200476 CSTstatement: SELECT masterlog.logtime, masterlog.loguser, masterlog.logdatabase, masterlog.logpid, masterlog.logthread, masterlog.loghost, masterlog.logport, masterlog.logsessiontime, masterlog.logtransaction, masterlog.logsession, masterlog.logcmdcount, masterlog.logsegment, masterlog.logslice, masterlog.logdistxact, masterlog.loglocalxact, masterlog.logsubxact, masterlog.logseverity, masterlog.logstate, masterlog.logmessage, masterlog.logdetail, masterlog.loghint, masterlog.logquery, masterlog.logquerypos, masterlog.logcontext, masterlog.logdebug, masterlog.logcursorpos, masterlog.logfunction, masterlog.logfile, masterlog.logline, masterlog.logstack gpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd49seg-1nandx63674nansx1LOG0statement: SELECT masterlog.logtime, masterlog.loguser, masterlog.logdatabase, masterlog.logpid, masterlog.logthread, masterlog.loghost, masterlog.logport, masterlog.logsessiontime, masterlog.logtransaction, masterlog.logsession, masterlog.logcmdcount, masterlog.logsegment, masterlog.logslice, masterlog.logdistxact, masterlog.loglocalxact, masterlog.logsubxact, masterlog.logseverity, masterlog.logstate, masterlog.logmessage, masterlog.logdetail, masterlog.loghint, masterlog.logquery, masterlog.logquerypos, masterlog.logcontext, masterlog.logdebug, masterlog.logcursorpos, masterlog.logfunction, masterlog.logfile, masterlog.logline, masterlog.logstack nannannannannannannannannannan
FROM masterlog"nannannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannannan
2025-01-16 00:28:48.004902 CSTstatement: COMMITgpadmingpadminp9687th-1314815296::1352602025-01-16 00:28:39 CST0con13cmd51seg-1nandx63674nansx1LOG0statement: COMMITnannannannannannan0.0nanpostgres.c1732.0
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
###### GreenplumPython example ########nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:29:20.862338 CSTstatement: SELECT version();gpadmingpadminp9753th-1314815296::1377862025-01-16 00:29:20 CST0con18cmd1seg-1nannannansx1LOG0statement: SELECT version();nannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:29:20.988807 CSTstatement: WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE "masterlog"),cte_99d5550cde08436bb927effabab04945 AS (SELECT * FROM cte_7447b8049aee4487a1236c06931510ca LIMIT 2 )SELECT to_json(cte_8fb93b56134448f49973aa621fe9bfae)::TEXT FROM cte_99d5550cde08436bb927effabab04945 AS cte_8fb93b56134448f49973aa621fe9bfaegpadmingpadminp9753th-1314815296::1377862025-01-16 00:29:20 CST0con18cmd3seg-1nannannansx1LOG0statement: WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE "masterlog"),cte_99d5550cde08436bb927effabab04945 AS (SELECT * FROM cte_7447b8049aee4487a1236c06931510ca LIMIT 2 )SELECT to_json(cte_8fb93b56134448f49973aa621fe9bfae)::TEXT FROM cte_99d5550cde08436bb927effabab04945 AS cte_8fb93b56134448f49973aa621fe9bfaenannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:29:21.011408 CST2025-01-16 00:29:21:009509 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Whole-row variable",gpadmingpadminp9753th-1314815296::1377862025-01-16 00:29:20 CST0con18cmd3seg-1nannannansx1LOG02025-01-16 00:29:21:009509 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Whole-row variable",nannannannannannannannannannan
,,,,,,WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE ""masterlog"")nancte_99d5550cde08436bb927effabab04945 AS (SELECT * FROM cte_7447b8049aee4487a1236c06931510ca LIMIT 2 )SELECT to_json(cte_8fb93b56134448f49973aa621fe9bfae)::TEXT FROM cte_99d5550cde08436bb927effabab04945 AS cte_8fb93b56134448f49973aa621fe9bfae"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:29:21.091133 CSTstatement: WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE "masterlog"),cte_72061fd0b38b4139ae6ab6e7f1232936 AS (SELECT "count"( *) FROM cte_7447b8049aee4487a1236c06931510ca ),cte_4199f75e40a64342ae22e65a43d1eab9 AS (SELECT cte_72061fd0b38b4139ae6ab6e7f1232936.* FROM cte_72061fd0b38b4139ae6ab6e7f1232936)SELECT to_json(cte_b444a095b35f4a95b180ee1d2e7a61fb)::TEXT FROM cte_4199f75e40a64342ae22e65a43d1eab9 AS cte_b444a095b35f4a95b180ee1d2e7a61fbgpadmingpadminp9753th-1314815296::1377862025-01-16 00:29:20 CST0con18cmd5seg-1nannannansx1LOG0statement: WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE "masterlog"),cte_72061fd0b38b4139ae6ab6e7f1232936 AS (SELECT "count"( *) FROM cte_7447b8049aee4487a1236c06931510ca ),cte_4199f75e40a64342ae22e65a43d1eab9 AS (SELECT cte_72061fd0b38b4139ae6ab6e7f1232936.* FROM cte_72061fd0b38b4139ae6ab6e7f1232936)SELECT to_json(cte_b444a095b35f4a95b180ee1d2e7a61fb)::TEXT FROM cte_4199f75e40a64342ae22e65a43d1eab9 AS cte_b444a095b35f4a95b180ee1d2e7a61fbnannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:29:21.099853 CST2025-01-16 00:29:21:099574 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Whole-row variable",gpadmingpadminp9753th-1314815296::1377862025-01-16 00:29:20 CST0con18cmd5seg-1nannannansx1LOG02025-01-16 00:29:21:099574 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: Whole-row variable",nannannannannannannannannannan
,,,,,,WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE ""masterlog"")nancte_72061fd0b38b4139ae6ab6e7f1232936 AS (SELECT ""count""( *) FROM cte_7447b8049aee4487a1236c06931510ca )cte_4199f75e40a64342ae22e65a43d1eab9 AS (SELECT cte_72061fd0b38b4139ae6ab6e7f1232936.* FROM cte_72061fd0b38b4139ae6ab6e7f1232936)SELECT to_json(cte_b444a095b35f4a95b180ee1d2e7a61fb)::TEXT FROM cte_4199f75e40a64342ae22e65a43d1eab9 AS cte_b444a095b35f4a95b180ee1d2e7a61fb"0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
###### standard pandas example as a pl/python function (no changes except for the print statement)nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:29:47.614739 CSTstatement: CREATE OR REPLACE FUNCTION test.pandas_pl()gpadmingpadminp9806th-1314815296[local]nan2025-01-16 00:29:47 CST0con21cmd1seg-1nannannansx1LOG0statement: CREATE OR REPLACE FUNCTION test.pandas_pl()nannannannannannannannannannan
RETURNS void ASnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
$$nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
import pandas as pdnannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
import sqlalchemynannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
db = sqlalchemy.create_engine('postgresql://gpadmin@localhost:5432/gpadmin')nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
df = pd.read_sql_table('masterlog'nan db)nannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
#print(df[:2])nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
plpy.notice(df[:2])nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
row_count = len(df)nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
#print(f""Number of rows: {row_count}"")nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
plpy.notice(f""Number of rows: {row_count}"")nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
$$nannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
LANGUAGE plpython3unannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
;"nannannannannannannan0nanpostgres.c1732nannannannannannannannannannannannannannannannannannan
nannannannannannannannannannannannannannannannannannannannannannannannannannannannannannan
2025-01-16 00:29:47.890826 CSTstatement: select test.pandas_pl();gpadmingpadminp9806th-1314815296[local]nan2025-01-16 00:29:47 CST0con21cmd3seg-1nannannansx1LOG0statement: select test.pandas_pl();nannannannannannan0.0nanpostgres.c1732.0
2025-01-16 00:29:47.955689 CST2025-01-16 00:29:47:954671 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: SIRV functions",gpadmingpadminp9806th-1314815296[local]nan2025-01-16 00:29:47 CST0con21cmd3seg-1nannannansx1LOG02025-01-16 00:29:47:954671 CST,THD000,NOTICE,"Falling back to Postgres-based planner because GPORCA does not support the following feature: SIRV functions",nannannannannannannannannannan
,,,,,,select test.pandas_pl();"nan0nanCOptTasks.cpp268nannannannannannannannannannannannannannannannannannannannannannannannan

Download the full Excel from Squarespace: Download full Excel

Learn More

If your team is looking to modernize ETL pipelines or adopt in-database analytics patterns, we can help you evaluate the right approach and integrate it into your workflows.

Reach out through our contact page on mugnanodc.com to learn more

Previous
Previous

Our Blogs: A Curated Guide to Our Technical Posts

Next
Next

Predicting Customer Churn Using Greenplum and gpmlbot