relman CLI: Databases & Schema
← Back to the relman CLI command overview
Databases & schema
Read-only browsing of a project’s databases down to catalog → schema → table → column/foreign key. To propose actual schema changes, see Schema change actions.
list databases <org-token> <pg-token> <project-token> (aliases: database, dbs, db)
Fetches the id and name of every database of the project identified by <project-token>.
describe db <org-token> <pg-token> <project-token> <db-token> (aliases: database, dbs, databases)
Fetches and prints the detailed configuration of the database identified by <db-token>.
list dbcatalog <org-token> <pg-token> <project-token> <db-token> (aliases: cat, dbcs, cats, dbcat, dbcats, dbcatalogs)
Fetches the id and name of every catalog of the database identified by <db-token>. (Deliberately no dbc alias – it read too easily as a typo of dbcol, the “list column” alias.)
list dbschema <org-token> <pg-token> <project-token> <db-token> <catalog-token> (aliases: schema, schemas, dbschemas)
Fetches the id and name of every schema of the catalog identified by <catalog-token>.
list table <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> (aliases: tables, dbt, dbtab, dbtabs, dbtable, dbtables)
Fetches the id, name, type, comment and row count of every table of the schema identified by <schema-token>. A schema token alone is normally ambiguous (only guaranteed unique within its catalog) – but if this exact token happens to be unique across every catalog too, the five ancestor tokens can be omitted: list table <schema-token> also works.
list column <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (aliases: columns, dbcol, dbcols, col, cols)
Fetches the id, name, type and other metadata of every column of the table identified by <table-token>. The five ancestor tokens can be omitted if <schema-token> is unique across every catalog: list column <schema-token> <table-token> also works.
list foreignkey <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (aliases: foreign key, foreign keys, foreignkeys, fk, fks, dbfk, dbfks)
Fetches every foreign key defined on the table identified by <table-token>. Unlike every other “list” command, results have no id – a foreign key is a listing leaf, identified by its constraint name instead.
Examples
1. Listing a project’s databases
Global flags omitted below – see Utility & global flags.
$ relman list databases o-4kNc8Q pg-8mZ2Lx p-Qv73Tn
- id: db-9Zx4Kp
name: shop-production
Edge case: a database can belong to more than one project – the same db-9Zx4Kp id may also show up under a different project’s list databases output if it’s shared.
2. Listing a schema’s tables, using the short form
Skipping the five ancestor tokens (org/pg/project/db/catalog) works if the schema token alone is unique across every catalog you can reach.
$ relman list table sch-6Yp2Nx
- id: tab-Lm83Vq
name: customers
comment: null
rowCount: 18420
- id: tab-Qf29Rz
name: orders
comment: Includes archived orders
rowCount: 204118
Edge case: if sch-6Yp2Nx turns out not to be globally unique (the same token exists under two different catalogs), the short form fails – fall back to the full org pg project db catalog schema chain to disambiguate.
3. Listing a table’s foreign keys
$ relman list foreignkey o-4kNc8Q pg-8mZ2Lx p-Qv73Tn db-9Zx4Kp cat-3Hs7Bn sch-6Yp2Nx tab-Qf29Rz
- name: fk_orders_customer
fromColumn: customer_id
toTable: customers
toColumn: id
deleteCascade: false
Edge case: unlike every other list command here, rows have no id field – a foreign key is a listing leaf, identified by its constraint name (fk_orders_customer) instead. A table with no foreign keys prints an empty list, not an error.
← Zurück zur Übersicht über die relman-CLI-Befehle
Datenbanken und Schema
Schreibgeschütztes Durchsuchen der Datenbanken eines Projekts bis hinunter zu Katalog → Schema → Tabelle → Spalte/Fremdschlüssel. Um tatsächliche Schemaänderungen vorzuschlagen, siehe Aktionen zur Schemaänderung.
list databases <org-token> <pg-token> <project-token> (Aliase: database, dbs, db)
Ruft die ID und den Namen jeder Datenbank des durch <project-token> identifizierten Projekts ab.
describe db <org-token> <pg-token> <project-token> <db-token> (Aliase: database, dbs, databases)
Ruft die detaillierte Konfiguration der durch <db-token> identifizierten Datenbank ab und gibt sie aus.
list dbcatalog <org-token> <pg-token> <project-token> <db-token> (Aliase: cat, dbcs, cats, dbcat, dbcats, dbcatalogs)
Ruft die ID und den Namen jedes Katalogs der durch <db-token> identifizierten Datenbank ab. (Bewusst kein „dbc“-Alias – dies könnte leicht als Tippfehler von „dbcol“, dem Alias für „list column“, missverstanden werden.)
list dbschema <org-token> <pg-token> <project-token> <db-token> <catalog-token> (Aliase: schema, schemas, dbschemas)
Ruft die ID und den Namen jedes Schemas des durch <catalog-token> identifizierten Katalogs ab.
list table <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> (Aliase: tables, dbt, dbtab, dbtabs, dbtable, dbtables)
Ruft die ID, den Namen, den Typ, den Kommentar und die Zeilenanzahl jeder Tabelle des durch <schema-token> identifizierten Schemas ab. Ein Schema-Token allein ist normalerweise mehrdeutig (seine Eindeutigkeit ist nur innerhalb seines Katalogs gewährleistet) – sollte dieses exakte Token jedoch zufällig auch über alle Kataloge hinweg eindeutig sein, können die fünf übergeordneten Token weggelassen werden: list table <Schema-Token> funktioniert ebenfalls.
list column <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (Aliase: columns, dbcol, dbcols, col, cols)
Ruft die ID, den Namen, den Typ und weitere Metadaten jeder Spalte der durch <table-token> identifizierten Tabelle ab. Die fünf übergeordneten Token können weggelassen werden, wenn <schema-token> in allen Katalogen eindeutig ist: list column <schema-token> <table-token> funktioniert ebenfalls.
list foreignkey <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (Aliase: foreign key, foreign keys, foreignkeys, fk, fks, dbfk, dbfks)
Ruft alle Fremdschlüssel ab, die für die durch <table-token> identifizierte Tabelle definiert sind. Im Gegensatz zu allen anderen „list“-Befehlen haben die Ergebnisse keine ID – ein Fremdschlüssel ist ein Blatt in der Liste, das stattdessen durch seinen Constraint-Namen identifiziert wird.
Beispiele
1. Auflisten der Datenbanken eines Projekts
Globale Flags wurden im Folgenden weggelassen – siehe „Dienstprogramme & globale Flags“.
$ relman list databases o-4kNc8Q pg-8mZ2Lx p-Qv73Tn
- id: db-9Zx4Kp
name: shop-production
Sonderfall: Eine Datenbank kann zu mehr als einem Projekt gehören – dieselbe ID „db-9Zx4Kp“ kann auch in der Ausgabe des Befehls „list databases “ eines anderen Projekts erscheinen, wenn sie gemeinsam genutzt wird.
2. Auflisten der Tabellen eines Schemas unter Verwendung der Kurzform
Das Weglassen der fünf übergeordneten Token (org/pg/project/db/catalog) funktioniert, wenn das Schema-Token allein in allen für Sie zugänglichen Katalogen eindeutig ist.
$ relman list table sch-6Yp2Nx
- id: tab-Lm83Vq
name: customers
comment: null
rowCount: 18420
- id: tab-Qf29Rz
name: orders
comment: Enthält archivierte Bestellungen
rowCount: 204118
Sonderfall: Sollte sich herausstellen, dass „sch-6Yp2Nx“ nicht global eindeutig ist (dasselbe Token existiert in zwei verschiedenen Katalogen), schlägt die Kurzform fehl – zur Eindeutigkeitsherstellung wird auf die vollständige Schemakette (Organisation > Seite > Projekt > Datenbank > Katalog ) zurückgegriffen.
3. Auflisten der Fremdschlüssel einer Tabelle
$ relman list foreignkey o-4kNc8Q pg-8mZ2Lx p-Qv73Tn db-9Zx4Kp cat-3Hs7Bn sch-6Yp2Nx tab-Qf29Rz
- name: fk_orders_customer
fromColumn: customer_id
toTable: customers
toColumn: id
deleteCascade: false
Sonderfall: Im Gegensatz zu allen anderen List-Befehlen hier haben die Zeilen kein ID-Feld – ein Fremdschlüssel ist ein Blattknoten in der Liste, der stattdessen durch seinen Constraint-Namen (fk_orders_customer) identifiziert wird. Eine Tabelle ohne Fremdschlüssel gibt eine leere Liste aus, keinen Fehler.
← Retour à la présentation des commandes de l’interface en ligne de commande relman
Bases de données et schémas
Navigation en lecture seule dans les bases de données d’un projet, du catalogue au schéma, puis à la table et enfin à la colonne/clé étrangère. Pour proposer des modifications réelles du schéma, consultez la section Actions de modification du schéma.
list databases <org-token> <pg-token> <project-token> (alias : database, dbs, db)
Récupère l’ID et le nom de chaque base de données du projet identifié par <project-token>.
describe db <org-token> <pg-token> <project-token> <db-token> (alias : database, dbs, databases)
Récupère et affiche la configuration détaillée de la base de données identifiée par <db-token>.
list dbcatalog <org-token> <pg-token> <project-token> <db-token> (alias : cat, dbcs, cats, dbcat, dbcats, dbcatalogs)
Récupère l’identifiant et le nom de chaque catalogue de la base de données identifiée par <db-token>. (L’alias « dbc » a été délibérément évité, car il pouvait trop facilement être confondu avec « dbcol », l’alias de la commande « list column ».)
list dbschema <org-token> <pg-token> <project-token> <db-token> <catalog-token> (alias : schema, schemas, dbschemas)
Récupère l’identifiant et le nom de chaque schéma du catalogue identifié par <catalog-token>.
list table <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> (alias : tables, dbt, dbtab, dbtabs, dbtable, dbtables)
Récupère l’identifiant, le nom, le type, le commentaire et le nombre de lignes de chaque table du schéma identifié par <schema-token>. Un jeton de schéma utilisé seul est généralement ambigu (son unicité n’est garantie qu’au sein de son catalogue) ; toutefois, si ce jeton précis s’avère également unique dans tous les catalogues, les cinq jetons ancestraux peuvent être omis : la commande « list table <jeton-de-schéma> » fonctionne également.
list column <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (alias : columns, dbcol, dbcols, col, cols)
Récupère l’identifiant, le nom, le type et d’autres métadonnées de chaque colonne de la table identifiée par <table-token>. Les cinq jetons ancestraux peuvent être omis si <schema-token> est unique dans tous les catalogues : la commande `list table <schema-token>` fonctionne également .
list foreignkey <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (alias : foreign key, foreign keys, foreignkeys, fk, fks, dbfk, dbfks)
Récupère toutes les clés étrangères définies sur la table identifiée par <table-token>. Contrairement à toutes les autres commandes de type « list », les résultats n’ont pas d’identifiant : une clé étrangère est une feuille de la liste, identifiée par le nom de sa contrainte.
Exemples
1. Lister les bases de données d’un projet
Les indicateurs globaux sont omis ci-dessous – voir Utilitaires et indicateurs globaux.
$ relman list databases o-4kNc8Q pg-8mZ2Lx p-Qv73Tn
- id : db-9Zx4Kp
nom : shop-production
Cas particulier : une base de données peut appartenir à plusieurs projets — le même identifiant db-9Zx4Kp peut également apparaître dans la liste des bases de données d’un autre projet si elle est partagée.
2. Lister les tables d’un schéma, en utilisant la forme abrégée
Il est possible d’omettre les cinq tokens ancestraux (org/pg/project/db/catalog) si le token du schéma est unique dans tous les catalogues accessibles.
$ relman list table sch-6Yp2Nx
- id : tab-Lm83Vq
nom : customers
commentaire : null
nombre de lignes : 18420
- id : tab-Qf29Rz
nom : orders
commentaire : Comprend les commandes archivées
nombre de lignes : 204118
Cas limite : si sch-6Yp2Nx s’avère ne pas être globalement unique (le même jeton existe dans deux catalogues différents), la forme abrégée échoue — il faut alors recourir à la chaîne complète « organisation > projet > base de données > catalogue > schéma » pour lever l’ambiguïté.
3. Liste des clés étrangères d’une table
$ relman list foreignkey o-4kNc8Q pg-8mZ2Lx p-Qv73Tn db-9Zx4Kp cat-3Hs7Bn sch-6Yp2Nx tab-Qf29Rz
- nom : fk_orders_customer
colonneSource : customer_id
tableDestination : customers
colonneDestination : id
suppression en cascade : false
Cas particulier : contrairement à toutes les autres commandes « list » présentées ici, les lignes ne comportent pas de champ « id »; une clé étrangère est un élément terminal de la liste, identifié par le nom de sa contrainte (fk_orders_customer). Une table ne comportant aucune clé étrangère affiche une liste vide, et non une erreur.
← Volver al resumen de comandos de la CLI de relman
Bases de datos y esquemas
Navegación de solo lectura por las bases de datos de un proyecto, desde el catálogo → esquema → tabla → columna/clave foránea. Para proponer cambios reales en el esquema, consulta Acciones de cambio de esquema.
list databases <org-token> <pg-token> <project-token> (alias: database, dbs, db)
Recupera el ID y el nombre de todas las bases de datos del proyecto identificado por <token-del-proyecto>.
describe db <org-token> <pg-token> <project-token> <db-token> (alias: database, dbs, databases)
Recupera y muestra la configuración detallada de la base de datos identificada por <db-token>.
list dbcatalog <org-token> <pg-token> <project-token> <db-token> (alias: cat, dbcs, cats, dbcat, dbcats, dbcatalogs)
Recupera el identificador y el nombre de cada catálogo de la base de datos identificada por <db-token>. (Se ha omitido deliberadamente el alias «dbc», ya que se podía confundir fácilmente con un error tipográfico de «dbcol», el alias de «list column»).
list dbschema <org-token> <pg-token> <project-token> <db-token> <catalog-token> (alias: schema, schemas, dbschemas)
Recupera el identificador y el nombre de cada esquema del catálogo identificado por <catalog-token>.
list table <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> (alias: tables, dbt, dbtab, dbtabs, dbtable, dbtables)
Recupera el id, el nombre, el tipo, el comentario y el número de filas de cada tabla del esquema identificado por <token-esquema>. Un token de esquema por sí solo suele ser ambiguo (solo se garantiza su unicidad dentro de su catálogo), pero si este token concreto resulta ser único también en todos los catálogos, se pueden omitir los cinco tokens antecesores: «list table <token-esquema>» también funciona.
list column <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (alias: columns, dbcol, dbcols, col, cols)
Recupera el id, el nombre, el tipo y otros metadatos de cada columna de la tabla identificada por <table-token>. Los cinco tokens de antecesores pueden omitirse si <schema-token> es único en todos los catálogos: también funciona «list table <schema-token> <table-token> ».
list foreignkey <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (alias: foreign key, foreign keys, foreignkeys, fk, fks, dbfk, dbfks)
Recupera todas las claves foráneas definidas en la tabla identificada por <table-token>. A diferencia de todos los demás comandos «list», los resultados no tienen id: una clave foránea es una hoja de la lista, identificada en su lugar por el nombre de su restricción.
Ejemplos
1. Listado de las bases de datos de un proyecto
A continuación se omiten los indicadores globales; véase «Utilidades e indicadores globales».
$ relman list databases o-4kNc8Q pg-8mZ2Lx p-Qv73Tn
- id: db-9Zx4Kp
nombre: shop-production
Caso especial: una base de datos puede pertenecer a más de un proyecto; el mismo identificador db-9Zx4Kp también puede aparecer en la salida de la lista de bases de datos de otro proyecto si se trata de una base de datos compartida.
2. Listado de las tablas de un esquema, utilizando la forma abreviada
Se pueden omitir los cinco tokens de antepasados (org/pg/project/db/catalog) si el token del esquema por sí solo es único en todos los catálogos a los que se tiene acceso.
$ relman list table sch-6Yp2Nx
- id: tab-Lm83Vq
nombre: customers
comentario: nulo
rowCount: 18420
- id: tab-Qf29Rz
nombre: orders
comentario: Incluye pedidos archivados
número de filas: 204118
Caso extremo: si resulta que sch-6Yp2Nx no es globalmente único (el mismo token existe en dos catálogos diferentes), la forma abreviada falla; en ese caso, se recurre a la cadena completa de esquema (organización, proyecto, base de datos, catálogo ) para resolver la ambigüedad.
3. Listado de las claves externas de una tabla
$ relman list foreignkey o-4kNc8Q pg-8mZ2Lx p-Qv73Tn db-9Zx4Kp cat-3Hs7Bn sch-6Yp2Nx tab-Qf29Rz
- nombre: fk_orders_customer
columnaDeOrigen: customer_id
tablaDestino: customers
columnaDestino: id
eliminación en cascada: false
Caso especial: a diferencia de todos los demás comandos «list» que aparecen aquí, las filas no tienen campo «id»; en su lugar, una clave externa es una hoja de la lista, identificada por el nombre de su restricción (fk_orders_customer). Una tabla sin claves externas muestra una lista vacía, no un error.
数据库与模式
以只读方式浏览项目中的数据库,层级结构为:目录 → 模式 → 表 → 列/外键。如需提交实际的模式更改,请参阅“模式更改操作”。
list databases <org-token> <pg-token> <project-token> (别名:database、dbs、db)
获取由<project-token> 标识的项目中每个数据库的 ID 和名称。
describe db <org-token> <pg-token> <project-token> <db-token> (别名:database、dbs、databases)
获取并打印由<db-token> 标识的数据库的详细配置。
list dbcatalog <org-token> <pg-token> <project-token> <db-token> (别名:cat、dbcs、cats、dbcat、dbcats、dbcatalogs)
获取由<db-token> 标识的数据库中每个目录的 ID 和名称。(特意未使用dbc别名——因为它很容易被误读为dbcol 的拼写错误,而 dbcol 是“列列表”的别名。)
list dbschema <org-token> <pg-token> <project-token> <db-token> <catalog-token> (别名:schema、schemas、dbschemas)
获取由<catalog-token> 标识的目录中每个模式的 ID 和名称。
list table <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> (别名:tables、dbt、dbtab、dbtabs、dbtable、dbtables)
获取由<schema-token> 标识的模式中每个表的 ID、名称、类型、注释和行数。 仅使用模式令牌通常会产生歧义(仅保证在其所属目录内唯一)——但如果该令牌恰好在所有目录中均唯一,则可以省略前五个父级令牌:list table <schema-token>同样有效。
list column <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (别名:columns、dbcol、dbcols、col、cols)
获取由<table-token> 标识的表中每列的 id、名称、类型及其他元数据。如果<schema-token>在所有目录中都是唯一的,则可以省略这五个祖先令牌:list table <schema-token> <table-token>同样有效。
list foreignkey <org-token> <pg-token> <project-token> <db-token> <catalog-token> <schema-token> <table-token> (别名:foreign key、foreign keys、foreignkeys、fk、fks、dbfk、dbfks)
检索在由<table-token> 标识的表上定义的所有外键。与其他所有“list”命令不同,结果不包含 id —— 外键是列表的叶节点,而是通过其约束名称进行标识。
示例
1. 列出一个项目的数据库
下文省略全局标志——请参阅“实用程序与全局标志”。
$ relman list databases o-4kNc8Q pg-8mZ2Lx p-Qv73Tn
- id: db-9Zx4Kp
name: shop-production
边界情况:一个数据库可能属于多个项目——如果该数据库是共享的,相同的db-9Zx4Kpid 也可能出现在其他项目的“list databases”输出中。
2. 使用简写形式列出模式中的表
如果仅模式标识符在所有可访问的目录中都是唯一的,则可以省略前五个祖先标识符(org/pg/project/db/catalog)。
$ relman list table sch-6Yp2Nx
- id: tab-Lm83Vq
name: customers
comment: null
rowCount: 18420
- id: tab-Qf29Rz
name: orders
comment: 包含归档订单
rowCount: 204118
边界情况:如果sch-6Yp2Nx 并非全局唯一(同一令牌在两个不同的目录下存在),则简写形式将失败——此时将回退到完整的组织-数据库-项目-数据库-目录-模式链来消除歧义。
3. 列出表的外键
$ relman list foreignkey o-4kNc8Q pg-8mZ2Lx p-Qv73Tn db-9Zx4Kp cat-3Hs7Bn sch-6Yp2Nx tab-Qf29Rz
- name: fk_orders_customer
fromColumn: customer_id
toTable: customers
toColumn: id
deleteCascade: false
边界情况:与这里的其他所有list命令不同,行中没有id字段——外键是一个列表叶节点,而是通过其约束名称(fk_orders_customer)来标识。没有外键的表会输出一个空列表,而不是报错。