diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c new file mode 100644 index 21bbdf8..367cb97 *** a/src/bin/psql/describe.c --- b/src/bin/psql/describe.c *************** describeOneTableDetails(const char *sche *** 1169,1174 **** --- 1169,1175 ---- bool hasrules; bool hastriggers; bool hasoids; + bool default_with_oids; Oid tablespace; char *reloptions; char *reloftype; *************** describeOneTableDetails(const char *sche *** 1194,1199 **** --- 1195,1201 ---- printfPQExpBuffer(&buf, "SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, " "c.relhastriggers, c.relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "%s, c.reltablespace, " "CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, " "c.relpersistence, c.relreplident\n" *************** describeOneTableDetails(const char *sche *** 1211,1216 **** --- 1213,1219 ---- printfPQExpBuffer(&buf, "SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, " "c.relhastriggers, c.relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "%s, c.reltablespace, " "CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END, " "c.relpersistence\n" *************** describeOneTableDetails(const char *sche *** 1228,1233 **** --- 1231,1237 ---- printfPQExpBuffer(&buf, "SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, " "c.relhastriggers, c.relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "%s, c.reltablespace, " "CASE WHEN c.reloftype = 0 THEN '' ELSE c.reloftype::pg_catalog.regtype::pg_catalog.text END\n" "FROM pg_catalog.pg_class c\n " *************** describeOneTableDetails(const char *sche *** 1244,1249 **** --- 1248,1254 ---- printfPQExpBuffer(&buf, "SELECT c.relchecks, c.relkind, c.relhasindex, c.relhasrules, " "c.relhastriggers, c.relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "%s, c.reltablespace\n" "FROM pg_catalog.pg_class c\n " "LEFT JOIN pg_catalog.pg_class tc ON (c.reltoastrelid = tc.oid)\n" *************** describeOneTableDetails(const char *sche *** 1259,1264 **** --- 1264,1270 ---- printfPQExpBuffer(&buf, "SELECT relchecks, relkind, relhasindex, relhasrules, " "reltriggers <> 0, relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "%s, reltablespace\n" "FROM pg_catalog.pg_class WHERE oid = '%s';", (verbose ? *************** describeOneTableDetails(const char *sche *** 1270,1275 **** --- 1276,1282 ---- printfPQExpBuffer(&buf, "SELECT relchecks, relkind, relhasindex, relhasrules, " "reltriggers <> 0, relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "'', reltablespace\n" "FROM pg_catalog.pg_class WHERE oid = '%s';", oid); *************** describeOneTableDetails(const char *sche *** 1279,1284 **** --- 1286,1292 ---- printfPQExpBuffer(&buf, "SELECT relchecks, relkind, relhasindex, relhasrules, " "reltriggers <> 0, relhasoids, " + "(SELECT setting FROM pg_settings WHERE name = 'default_with_oids') AS default_with_oids, " "'', ''\n" "FROM pg_catalog.pg_class WHERE oid = '%s';", oid); *************** describeOneTableDetails(const char *sche *** 1302,1318 **** tableinfo.hasrules = strcmp(PQgetvalue(res, 0, 3), "t") == 0; tableinfo.hastriggers = strcmp(PQgetvalue(res, 0, 4), "t") == 0; tableinfo.hasoids = strcmp(PQgetvalue(res, 0, 5), "t") == 0; tableinfo.reloptions = (pset.sversion >= 80200) ? ! pg_strdup(PQgetvalue(res, 0, 6)) : NULL; tableinfo.tablespace = (pset.sversion >= 80000) ? ! atooid(PQgetvalue(res, 0, 7)) : 0; tableinfo.reloftype = (pset.sversion >= 90000 && ! strcmp(PQgetvalue(res, 0, 8), "") != 0) ? ! pg_strdup(PQgetvalue(res, 0, 8)) : NULL; tableinfo.relpersistence = (pset.sversion >= 90100) ? ! *(PQgetvalue(res, 0, 9)) : 0; tableinfo.relreplident = (pset.sversion >= 90400) ? ! *(PQgetvalue(res, 0, 10)) : 'd'; PQclear(res); res = NULL; --- 1310,1327 ---- tableinfo.hasrules = strcmp(PQgetvalue(res, 0, 3), "t") == 0; tableinfo.hastriggers = strcmp(PQgetvalue(res, 0, 4), "t") == 0; tableinfo.hasoids = strcmp(PQgetvalue(res, 0, 5), "t") == 0; + tableinfo.default_with_oids = strcmp(PQgetvalue(res, 0, 6), "t") == 0; tableinfo.reloptions = (pset.sversion >= 80200) ? ! pg_strdup(PQgetvalue(res, 0, 7)) : NULL; tableinfo.tablespace = (pset.sversion >= 80000) ? ! atooid(PQgetvalue(res, 0, 8)) : 0; tableinfo.reloftype = (pset.sversion >= 90000 && ! strcmp(PQgetvalue(res, 0, 9), "") != 0) ? ! pg_strdup(PQgetvalue(res, 0, 9)) : NULL; tableinfo.relpersistence = (pset.sversion >= 90100) ? ! *(PQgetvalue(res, 0, 10)) : 0; tableinfo.relreplident = (pset.sversion >= 90400) ? ! *(PQgetvalue(res, 0, 11)) : 'd'; PQclear(res); res = NULL; *************** describeOneTableDetails(const char *sche *** 2362,2368 **** } /* OIDs, if verbose and not a materialized view */ ! if (verbose && tableinfo.relkind != 'm') { const char *s = _("Has OIDs"); --- 2371,2378 ---- } /* OIDs, if verbose and not a materialized view */ ! if (verbose && tableinfo.relkind != 'm' && ! tableinfo.hasoids != tableinfo.default_with_oids) { const char *s = _("Has OIDs");