Consultar as tabelas de catálogo
Em geral, você pode associar tabelas e visualizações de catálogo (relações cujos nomes começam com PG_
) a tabelas e visualizações do Amazon Redshift.
As tabelas do catálogo usam vários tipos de dados não compatíveis com o Amazon Redshift. Os seguintes tipos de dados são compatíveis quando as consultas unem tabelas de catálogo a tabelas do Amazon Redshift:
-
bool
-
"char"
-
float4
-
int2
-
int4
-
int8
-
name
-
oid
-
text
-
varchar
Se você gravar uma consulta de união que referencie explícita ou implicitamente uma coluna com um tipo de dados incompatível, a consulta retornará um erro. As funções SQL usadas em algumas das tabelas de catálogo também são incompatíveis, exceto as usadas pelas tabelas PG_SETTINGS e PG_LOCKS.
Por exemplo, a tabela PG_STATS não pode ser consultada em uma junção com uma tabela Amazon Redshift devido a funções não suportadas.
As tabelas e visualizações do catálogo a seguir fornecem informações úteis que podem ser associadas às informações nas tabelas do Amazon Redshift. Algumas dessas tabelas permitem somente acesso parcial por causa do tipo de dados e das restrições da função. Ao consultar as tabelas parcialmente acessíveis, selecione ou referencie as colunas com cuidado.
As seguintes tabelas são completamente acessíveis e não contêm tipos ou funções incompatíveis:
As tabelas a seguir são parcialmente acessíveis e contêm alguns tipos incompatíveis, funções e colunas de texto truncadas. Os valores em colunas de texto são truncados em valores varchar(256).
As tabelas do catálogo que não estão listadas aqui são inacessíveis ou improváveis de serem úteis para administradores do Amazon Redshift. No entanto, você pode consultar qualquer tabela de catálogo ou visualizar abertamente se sua consulta não envolver uma junção a uma tabela do Amazon Redshift.
Você pode usar as colunas OID nas tabelas de catálogos Postgres como colunas de união. Por exemplo, a condição de união pg_database.oid = stv_tbl_perm.db_id
compara o ID de objeto de banco de dados interno de cada linha PG_DATABASE com a coluna DB_ID visível na tabela STV_TBL_PERM. As colunas OID são chaves primárias internas que não são visíveis quando você seleciona uma na tabela. As exibições de catálogo não têm colunas OID.
Algumas funções do Amazon Redshift devem ser executadas apenas nos nós de computação. Se uma consulta fizer referência a uma tabela criada pelo usuário, o SQL executará em nós de computação.
Uma consulta que se refere apenas a tabelas do catálogo (tabelas com um prefixo PG, tal como PG_TABLE_DEF), ou que não se refere a qualquer tabela, é executada exclusivamente no nó de liderança.
Se uma consulta que usa uma função de nó de computação não fizer referência a uma tabela definida pelo usuário ou a uma tabela do sistema do Amazon Redshift, o erro a seguir será retornado.
[Amazon](500310) Invalid operation: One or more of the used functions must be applied on at least one user created table.