Je fais une décharge de PostgreSQL 9.1 et je restaure sur PostgreSQL 9.4 et obtenir cet avertissement
pg_restore: WARNING: column "foobar" has type "unknown"
DETAIL: Proceeding with relation creation anyway.
Mais après la restauration, je peux vérifier la colonne "Foobar" Type est définie et correcte.
Qu'est-ce qui pourrait causer cet avertissement?
CREATE VIEW
ou alors CREATE TABLE... AS SELECT
Vous devez déduire les types de colonne pour la relation à créer. Parfois, le contexte n'est pas suffisant pour deviner un type de données, par exemple lorsqu'il s'agit simplement d'un littéral à chaîne. Dans ce cas, il est créé comme unknown
.
Exemple :
[. ____ ____.] Créer une vue
Résultat:
Test =>\D TestView Voir "Public.TestView" Colonne | Type | Modificateurs -------- + --------- + ----------- Foobar | Inconnu |
Si cette vue était pg_dumped et pg_Restoraté, la colonne serait créée comme unknown
avec à nouveau l'avertissement mentionné:
pg_restore: Avertissement: colonne "foobar" a type "inconnu"
Détail: En procédant de toute façon.
La table/la vue doit être créée pour commencer avec des moulages explicites aux colonnes si nécessaire, comme dans
CREATE VIEW testview AS SELECT 'bla'::text AS foobar;
que nous pouvons supposer est le point de cet avertissement en premier lieu.