From 8f330890d15f71d9ea710ed320e26e507316a737 Mon Sep 17 00:00:00 2001 From: Farid Bagishev <411117+faridco@users.noreply.github.com> Date: Sun, 14 Apr 2024 02:14:13 +0500 Subject: [PATCH] List only permanent tables (#113) --- lib/pg_easy_replicate/helper.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/pg_easy_replicate/helper.rb b/lib/pg_easy_replicate/helper.rb index b384f39..25bc6aa 100644 --- a/lib/pg_easy_replicate/helper.rb +++ b/lib/pg_easy_replicate/helper.rb @@ -88,10 +88,12 @@ def list_all_tables(schema:, conn_string:) Query .run( query: - "SELECT table_name - FROM information_schema.tables - WHERE table_schema = '#{schema}' AND - table_type = 'BASE TABLE' + "SELECT c.relname::information_schema.sql_identifier AS table_name + FROM pg_namespace n + JOIN pg_class c ON n.oid = c.relnamespace + WHERE c.relkind = 'r' + AND c.relpersistence = 'p' + AND n.nspname::information_schema.sql_identifier = '#{schema}' ORDER BY table_name", connection_url: conn_string, user: db_user(conn_string),