查询postgresql的某的模式的oid
时间: 2024-04-29 19:24:05 浏览: 48
可以使用以下SQL语句查询PostgreSQL中某个模式的OID:
```
SELECT oid FROM pg_namespace WHERE nspname = 'schema_name';
```
其中,`schema_name`是需要查询的模式名称。执行以上SQL语句后,将返回该模式的OID。
相关问题
PostgreSQL查看数据库模式大小
可以使用以下命令查看PostgreSQL数据库中每个模式的大小:
```
SELECT nspname AS schemaname, pg_size_pretty(sum(pg_total_relation_size(nspname || '.' || relname))) AS total_size
FROM pg_catalog.pg_class C
LEFT JOIN pg_catalog.pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
GROUP BY nspname
ORDER BY total_size DESC;
```
该命令将返回每个模式的名称和它们的总大小。如果模式的总大小非常大,可能需要一些时间来计算。
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)的名称。该查询语句将返回指定模式下的所有分区表的名称和分区键信息。如果查询结果为空,则说明该模式下没有分区表。