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)
|
|
Test 2 — pandas_plpython_example2.sql PL/Python with plpy.execute → pandas (no SQLAlchemy)
|
|
Test 3 — greenplumpython_example.py GreenplumPython (pandas-like API that compiles to SQL) |
|
Test 4 — plpython_elt_example.sql PL/Python ELT UDF using plpy.execute + pandas
|
|
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: 0 | Unnamed: 1 | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Unnamed: 5 | Unnamed: 6 | Unnamed: 7 | Unnamed: 8 | Unnamed: 9 | Unnamed: 10 | Unnamed: 11 | Unnamed: 12 | Unnamed: 13 | Unnamed: 14 | Unnamed: 15 | Unnamed: 16 | Unnamed: 17 | Unnamed: 18 | Unnamed: 19 | Unnamed: 20 | Unnamed: 21 | Unnamed: 22 | Unnamed: 23 | Unnamed: 24 | Unnamed: 25 | Unnamed: 26 | Unnamed: 27 | Unnamed: 28 | Unnamed: 29 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
######### Standard pandas python code to return 2 rows and a table count ############ | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.483403 CST | statement: BEGIN | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd1 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: BEGIN | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.486035 CST | statement: SELECT t.oid, typarray | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd3 | seg-1 | nan | dx63672 | nan | sx1 | LOG | 0 | statement: SELECT t.oid, typarray | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_type t JOIN pg_namespace ns | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
ON typnamespace = ns.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE typname = 'hstore'; | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,,0,,postgres.c" | nan | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.565709 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd3 | seg-1 | nan | dx63672 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT t.oid | nan | typarray | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_type t JOIN pg_namespace ns | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
ON typnamespace = ns.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE typname = 'hstore'; | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,0,,COptTasks.cpp" | nan | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.601934 CST | statement: ROLLBACK | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd5 | seg-1 | nan | dx63672 | nan | sx1 | LOG | 0 | statement: ROLLBACK | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.604675 CST | statement: BEGIN | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd7 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: BEGIN | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.605044 CST | statement: select pg_catalog.version() | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd9 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | statement: select pg_catalog.version() | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.672946 CST | statement: select current_schema() | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd11 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | statement: select current_schema() | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.675968 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd11 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,select current_schema()" | nan | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.677784 CST | statement: show transaction isolation level | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd13 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | statement: show transaction isolation level | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.679287 CST | statement: show standard_conforming_strings | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd15 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | statement: show standard_conforming_strings | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.679983 CST | statement: ROLLBACK | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd17 | seg-1 | nan | dx63673 | nan | sx1 | LOG | 0 | statement: ROLLBACK | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.697139 CST | statement: BEGIN | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd19 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: BEGIN | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:28:39.697632 CST | statement: SELECT pg_catalog.pg_class.relname | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd21 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.705343 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd21 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.739526 CST | statement: SELECT pg_catalog.pg_class.relname | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd23 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.741554 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd23 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.766607 CST | statement: SELECT pg_catalog.pg_class.relname | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd25 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.768286 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd25 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.791321 CST | statement: SELECT pg_catalog.pg_class.relname | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd27 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.792957 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd27 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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'" | nan | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.819219 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd29 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attrdef | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_sequence | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.829236 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd29 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_attribute.attname AS name | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attrdef | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_sequence | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.909078 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd31 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 contypid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_type.typtype = 'd' ORDER BY pg_catalog.pg_namespace.nspname | nan | pg_catalog.pg_type.typname" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.915140 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd31 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_type.typname AS name | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 contypid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_type.typtype = 'd' ORDER BY pg_catalog.pg_namespace.nspname | nan | pg_catalog.pg_type.typname" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.964227 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd33 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 enumtypid | nan | array_agg(CAST(pg_catalog.pg_enum.enumlabel AS TEXT) ORDER BY pg_catalog.pg_enum.enumsortorder) AS labels | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_enum GROUP BY pg_catalog.pg_enum.enumtypid) AS lbl_agg ON pg_catalog.pg_type.oid = lbl_agg.enumtypid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_type.typtype = 'e' ORDER BY pg_catalog.pg_namespace.nspname | nan | pg_catalog.pg_type.typname" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.966754 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd33 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_type.typname AS name | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 enumtypid | nan | array_agg(CAST(pg_catalog.pg_enum.enumlabel AS TEXT) ORDER BY pg_catalog.pg_enum.enumsortorder) AS labels | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_enum GROUP BY pg_catalog.pg_enum.enumtypid) AS lbl_agg ON pg_catalog.pg_type.oid = lbl_agg.enumtypid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_type.typtype = 'e' ORDER BY pg_catalog.pg_namespace.nspname | nan | pg_catalog.pg_type.typname" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.978464 CST | statement: SELECT pg_catalog.pg_class.oid, pg_catalog.pg_class.relname | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd35 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.oid, pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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')" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:39.980390 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd35 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.oid | nan | pg_catalog.pg_class.relname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_class JOIN pg_catalog.pg_namespace ON pg_catalog.pg_namespace.oid = pg_catalog.pg_class.relnamespace | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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')" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.009485 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd37 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT con.conrelid AS conrelid | nan | con.conname AS conname | con.conindid AS conindid | con.description AS description | con.ord AS ord | pg_catalog.pg_attribute.attname AS attname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelid | nan | attr.conname ORDER BY attr.conrelid | attr.conname" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.012915 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd37 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT attr.conrelid | nan | array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols | attr.conname | min(attr.description) AS description | NULL AS extra | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT con.conrelid AS conrelid | nan | con.conname AS conname | con.conindid AS conindid | con.description AS description | con.ord AS ord | pg_catalog.pg_attribute.attname AS attname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelid | nan | attr.conname ORDER BY attr.conrelid | attr.conname" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.035464 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd39 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.039094 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd39 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.092407 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd41 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT idx.indexrelid AS indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT pg_catalog.pg_index.indexrelid AS indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_index | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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']) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_index.indrelid IN (27721) AND NOT pg_catalog.pg_index.indisprimary ORDER BY pg_catalog.pg_index.indrelid | nan | cls_idx.relname" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.096469 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd41 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_index.indrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT idx.indexrelid AS indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT pg_catalog.pg_index.indexrelid AS indexrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_index | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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']) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE pg_catalog.pg_index.indrelid IN (27721) AND NOT pg_catalog.pg_index.indisprimary ORDER BY pg_catalog.pg_index.indrelid | nan | cls_idx.relname" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.121505 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd43 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT con.conrelid AS conrelid | nan | con.conname AS conname | con.conindid AS conindid | con.description AS description | con.ord AS ord | pg_catalog.pg_attribute.attname AS attname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelid | nan | attr.conname ORDER BY attr.conrelid | attr.conname" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.123560 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd43 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT attr.conrelid | nan | array_agg(CAST(attr.attname AS TEXT) ORDER BY attr.ord) AS cols | attr.conname | min(attr.description) AS description | false AS indnullsnotdistinct | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM (SELECT con.conrelid AS conrelid | nan | con.conname AS conname | con.conindid AS conindid | con.description AS description | con.ord AS ord | pg_catalog.pg_attribute.attname AS attname | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_attribute JOIN (SELECT pg_catalog.pg_constraint.conrelid AS conrelid | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM pg_catalog.pg_constraint LEFT OUTER JOIN pg_catalog.pg_description ON pg_catalog.pg_description.objoid = pg_catalog.pg_constraint.oid | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
WHERE con.conrelid IN (27721)) AS attr GROUP BY attr.conrelid | nan | attr.conname ORDER BY attr.conrelid | attr.conname" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.133355 CST | statement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_description.description | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd45 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: SELECT pg_catalog.pg_class.relname, pg_catalog.pg_description.description | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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')" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.135720 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd45 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | pg_catalog.pg_description.description | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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')" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.161531 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd47 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.163871 CST | 2025-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", | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd47 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,SELECT pg_catalog.pg_class.relname | nan | 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:40.200476 CST | statement: 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 | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd49 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: 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 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
FROM masterlog" | nan | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:28:48.004902 CST | statement: COMMIT | gpadmin | gpadmin | p9687 | th-1314815296 | ::1 | 35260 | 2025-01-16 00:28:39 CST | 0 | con13 | cmd51 | seg-1 | nan | dx63674 | nan | sx1 | LOG | 0 | statement: COMMIT | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
###### GreenplumPython example ######## | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:29:20.862338 CST | statement: SELECT version(); | gpadmin | gpadmin | p9753 | th-1314815296 | ::1 | 37786 | 2025-01-16 00:29:20 CST | 0 | con18 | cmd1 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: SELECT version(); | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:29:20.988807 CST | statement: 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_8fb93b56134448f49973aa621fe9bfae | gpadmin | gpadmin | p9753 | th-1314815296 | ::1 | 37786 | 2025-01-16 00:29:20 CST | 0 | con18 | cmd3 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: 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_8fb93b56134448f49973aa621fe9bfae | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:29:21.011408 CST | 2025-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", | gpadmin | gpadmin | p9753 | th-1314815296 | ::1 | 37786 | 2025-01-16 00:29:20 CST | 0 | con18 | cmd3 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE ""masterlog"") | nan | cte_99d5550cde08436bb927effabab04945 AS (SELECT * FROM cte_7447b8049aee4487a1236c06931510ca LIMIT 2 )SELECT to_json(cte_8fb93b56134448f49973aa621fe9bfae)::TEXT FROM cte_99d5550cde08436bb927effabab04945 AS cte_8fb93b56134448f49973aa621fe9bfae" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:29:21.091133 CST | statement: 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_b444a095b35f4a95b180ee1d2e7a61fb | gpadmin | gpadmin | p9753 | th-1314815296 | ::1 | 37786 | 2025-01-16 00:29:20 CST | 0 | con18 | cmd5 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: 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_b444a095b35f4a95b180ee1d2e7a61fb | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:29:21.099853 CST | 2025-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", | gpadmin | gpadmin | p9753 | th-1314815296 | ::1 | 37786 | 2025-01-16 00:29:20 CST | 0 | con18 | cmd5 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,WITH cte_7447b8049aee4487a1236c06931510ca AS (TABLE ""masterlog"") | nan | 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_b444a095b35f4a95b180ee1d2e7a61fb" | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
###### standard pandas example as a pl/python function (no changes except for the print statement) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:29:47.614739 CST | statement: CREATE OR REPLACE FUNCTION test.pandas_pl() | gpadmin | gpadmin | p9806 | th-1314815296 | [local] | nan | 2025-01-16 00:29:47 CST | 0 | con21 | cmd1 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: CREATE OR REPLACE FUNCTION test.pandas_pl() | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
RETURNS void AS | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
$$ | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
import pandas as pd | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
import sqlalchemy | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
db = sqlalchemy.create_engine('postgresql://gpadmin@localhost:5432/gpadmin') | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
df = pd.read_sql_table('masterlog' | nan | db) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
#print(df[:2]) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
plpy.notice(df[:2]) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
row_count = len(df) | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
#print(f""Number of rows: {row_count}"") | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
plpy.notice(f""Number of rows: {row_count}"") | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
$$ | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
LANGUAGE plpython3u | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
;" | nan | nan | nan | nan | nan | nan | nan | 0 | nan | postgres.c | 1732 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
2025-01-16 00:29:47.890826 CST | statement: select test.pandas_pl(); | gpadmin | gpadmin | p9806 | th-1314815296 | [local] | nan | 2025-01-16 00:29:47 CST | 0 | con21 | cmd3 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | statement: select test.pandas_pl(); | nan | nan | nan | nan | nan | nan | 0.0 | nan | postgres.c | 1732.0 |
2025-01-16 00:29:47.955689 CST | 2025-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", | gpadmin | gpadmin | p9806 | th-1314815296 | [local] | nan | 2025-01-16 00:29:47 CST | 0 | con21 | cmd3 | seg-1 | nan | nan | nan | sx1 | LOG | 0 | 2025-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", | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
,,,,,,select test.pandas_pl();" | nan | 0 | nan | COptTasks.cpp | 268 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
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