mirror of
https://github.com/postgres/postgres.git
synced 2025-11-07 19:06:32 +03:00
Add access method names to \d[i|m|t]+ in psql
Listing a full set of relations with those psql meta-commands, without a matching pattern, has never showed the access method associated with each relation. This commit adds the access method of tables, indexes and matviews, masking it for relation kinds where it does not apply. Note that when HIDE_TABLEAM is enabled, the information does not show up. This is available when connecting to a backend version of at least 12, where table AMs have been introduced. Author: Georgios Kokolatos Reviewed-by: Vignesh C, Michael Paquier, Justin Pryzby Discussion: https://postgr.es/m/svaS1VTOEscES9CLKVTeKItjJP1EEJuBhTsA0ESOdlnbXeQSgycYwVlliL5zt8Jwcfo4ATYDXtEqsExxjkSkkhCSTCL8fnRgaCAJdr0unUg=@protonmail.com
This commit is contained in:
@@ -455,20 +455,38 @@ select 1 where false;
|
||||
\df exp
|
||||
\pset tuples_only false
|
||||
|
||||
-- check conditional tableam display
|
||||
-- check conditional am display
|
||||
\pset expanded off
|
||||
|
||||
-- Create a heap2 table am handler with heapam handler
|
||||
CREATE SCHEMA tableam_display;
|
||||
CREATE ROLE regress_display_role;
|
||||
ALTER SCHEMA tableam_display OWNER TO regress_display_role;
|
||||
SET search_path TO tableam_display;
|
||||
CREATE ACCESS METHOD heap_psql TYPE TABLE HANDLER heap_tableam_handler;
|
||||
SET ROLE TO regress_display_role;
|
||||
-- Use only relations with a physical size of zero.
|
||||
CREATE TABLE tbl_heap_psql(f1 int, f2 char(100)) using heap_psql;
|
||||
CREATE TABLE tbl_heap(f1 int, f2 char(100)) using heap;
|
||||
CREATE VIEW view_heap_psql AS SELECT f1 from tbl_heap_psql;
|
||||
CREATE MATERIALIZED VIEW mat_view_heap_psql USING heap_psql AS SELECT f1 from tbl_heap_psql;
|
||||
\d+ tbl_heap_psql
|
||||
\d+ tbl_heap
|
||||
\set HIDE_TABLEAM off
|
||||
\d+ tbl_heap_psql
|
||||
\d+ tbl_heap
|
||||
-- AM is displayed for tables, indexes and materialized views.
|
||||
\d+
|
||||
\dt+
|
||||
\dm+
|
||||
-- But not for views and sequences.
|
||||
\dv+
|
||||
\set HIDE_TABLEAM on
|
||||
DROP TABLE tbl_heap, tbl_heap_psql;
|
||||
\d+
|
||||
RESET ROLE;
|
||||
RESET search_path;
|
||||
DROP SCHEMA tableam_display CASCADE;
|
||||
DROP ACCESS METHOD heap_psql;
|
||||
DROP ROLE regress_display_role;
|
||||
|
||||
-- test numericlocale (as best we can without control of psql's locale)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user