postgresq查询某模式下的所有表的oid
时间: 2024-05-03 09:23:33 浏览: 5
您可以使用以下查询获取某个模式下所有表的OID:
```
SELECT oid, relname FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'your_schema_name') AND relkind = 'r';
```
将 `your_schema_name` 替换为您想要查询的模式名称。此查询将返回两列数据:表的OID和表的名称。
相关问题
查询postgresql的某的模式的oid
可以使用以下SQL语句查询PostgreSQL中某个模式的OID:
```
SELECT oid FROM pg_namespace WHERE nspname = 'schema_name';
```
其中,`schema_name`是需要查询的模式名称。执行以上SQL语句后,将返回该模式的OID。
postgresql怎么查询某个库下哪些表是分区表
你可以使用以下 SQL 查询语句来查询某个数据库中的所有分区表:
```sql
SELECT n.nspname AS schema_name, c.relname AS table_name, pg_get_expr(c.relpartbound, c.oid) AS partition_key
FROM pg_class c
JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind = 'p' AND n.nspname = 'your_schema_name' AND c.relpartbound IS NOT NULL;
```
在上述查询语句中,将 `your_schema_name` 替换为你要查询的模式(schema)的名称。该查询语句将返回指定模式下的所有分区表的名称和分区键信息。如果查询结果为空,则说明该模式下没有分区表。