Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
9efe068e
Commit
9efe068e
authored
Apr 09, 2019
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace tabs with spaces in one .sql file
Let's at least keep this consistent within the same file.
parent
16954e22
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
167 additions
and
167 deletions
+167
-167
src/backend/catalog/system_views.sql
src/backend/catalog/system_views.sql
+167
-167
No files found.
src/backend/catalog/system_views.sql
View file @
9efe068e
...
...
@@ -293,180 +293,180 @@ CREATE VIEW pg_prepared_statements AS
CREATE
VIEW
pg_seclabels
AS
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
WHEN
rel
.
relkind
IN
(
'r'
,
'p'
)
THEN
'table'
::
text
WHEN
rel
.
relkind
=
'v'
THEN
'view'
::
text
WHEN
rel
.
relkind
=
'm'
THEN
'materialized view'
::
text
WHEN
rel
.
relkind
=
'S'
THEN
'sequence'
::
text
WHEN
rel
.
relkind
=
'f'
THEN
'foreign table'
::
text
END
AS
objtype
,
rel
.
relnamespace
AS
objnamespace
,
CASE
WHEN
pg_table_is_visible
(
rel
.
oid
)
THEN
quote_ident
(
rel
.
relname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
rel
.
relname
)
END
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
WHEN
rel
.
relkind
IN
(
'r'
,
'p'
)
THEN
'table'
::
text
WHEN
rel
.
relkind
=
'v'
THEN
'view'
::
text
WHEN
rel
.
relkind
=
'm'
THEN
'materialized view'
::
text
WHEN
rel
.
relkind
=
'S'
THEN
'sequence'
::
text
WHEN
rel
.
relkind
=
'f'
THEN
'foreign table'
::
text
END
AS
objtype
,
rel
.
relnamespace
AS
objnamespace
,
CASE
WHEN
pg_table_is_visible
(
rel
.
oid
)
THEN
quote_ident
(
rel
.
relname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
rel
.
relname
)
END
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_class
rel
ON
l
.
classoid
=
rel
.
tableoid
AND
l
.
objoid
=
rel
.
oid
JOIN
pg_namespace
nsp
ON
rel
.
relnamespace
=
nsp
.
oid
pg_seclabel
l
JOIN
pg_class
rel
ON
l
.
classoid
=
rel
.
tableoid
AND
l
.
objoid
=
rel
.
oid
JOIN
pg_namespace
nsp
ON
rel
.
relnamespace
=
nsp
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'column'
::
text
AS
objtype
,
rel
.
relnamespace
AS
objnamespace
,
CASE
WHEN
pg_table_is_visible
(
rel
.
oid
)
THEN
quote_ident
(
rel
.
relname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
rel
.
relname
)
END
||
'.'
||
att
.
attname
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'column'
::
text
AS
objtype
,
rel
.
relnamespace
AS
objnamespace
,
CASE
WHEN
pg_table_is_visible
(
rel
.
oid
)
THEN
quote_ident
(
rel
.
relname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
rel
.
relname
)
END
||
'.'
||
att
.
attname
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_class
rel
ON
l
.
classoid
=
rel
.
tableoid
AND
l
.
objoid
=
rel
.
oid
JOIN
pg_attribute
att
ON
rel
.
oid
=
att
.
attrelid
AND
l
.
objsubid
=
att
.
attnum
JOIN
pg_namespace
nsp
ON
rel
.
relnamespace
=
nsp
.
oid
pg_seclabel
l
JOIN
pg_class
rel
ON
l
.
classoid
=
rel
.
tableoid
AND
l
.
objoid
=
rel
.
oid
JOIN
pg_attribute
att
ON
rel
.
oid
=
att
.
attrelid
AND
l
.
objsubid
=
att
.
attnum
JOIN
pg_namespace
nsp
ON
rel
.
relnamespace
=
nsp
.
oid
WHERE
l
.
objsubid
!=
0
l
.
objsubid
!=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
pro
.
prokind
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
pro
.
prokind
WHEN
'a'
THEN
'aggregate'
::
text
WHEN
'f'
THEN
'function'
::
text
WHEN
'p'
THEN
'procedure'
::
text
WHEN
'w'
THEN
'window'
::
text
END
AS
objtype
,
pro
.
pronamespace
AS
objnamespace
,
CASE
WHEN
pg_function_is_visible
(
pro
.
oid
)
THEN
quote_ident
(
pro
.
proname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
pro
.
proname
)
END
||
'('
||
pg_catalog
.
pg_get_function_arguments
(
pro
.
oid
)
||
')'
AS
objname
,
l
.
provider
,
l
.
label
pro
.
pronamespace
AS
objnamespace
,
CASE
WHEN
pg_function_is_visible
(
pro
.
oid
)
THEN
quote_ident
(
pro
.
proname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
pro
.
proname
)
END
||
'('
||
pg_catalog
.
pg_get_function_arguments
(
pro
.
oid
)
||
')'
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_proc
pro
ON
l
.
classoid
=
pro
.
tableoid
AND
l
.
objoid
=
pro
.
oid
JOIN
pg_namespace
nsp
ON
pro
.
pronamespace
=
nsp
.
oid
pg_seclabel
l
JOIN
pg_proc
pro
ON
l
.
classoid
=
pro
.
tableoid
AND
l
.
objoid
=
pro
.
oid
JOIN
pg_namespace
nsp
ON
pro
.
pronamespace
=
nsp
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
WHEN
typ
.
typtype
=
'd'
THEN
'domain'
::
text
ELSE
'type'
::
text
END
AS
objtype
,
typ
.
typnamespace
AS
objnamespace
,
CASE
WHEN
pg_type_is_visible
(
typ
.
oid
)
THEN
quote_ident
(
typ
.
typname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
typ
.
typname
)
END
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
CASE
WHEN
typ
.
typtype
=
'd'
THEN
'domain'
::
text
ELSE
'type'
::
text
END
AS
objtype
,
typ
.
typnamespace
AS
objnamespace
,
CASE
WHEN
pg_type_is_visible
(
typ
.
oid
)
THEN
quote_ident
(
typ
.
typname
)
ELSE
quote_ident
(
nsp
.
nspname
)
||
'.'
||
quote_ident
(
typ
.
typname
)
END
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_type
typ
ON
l
.
classoid
=
typ
.
tableoid
AND
l
.
objoid
=
typ
.
oid
JOIN
pg_namespace
nsp
ON
typ
.
typnamespace
=
nsp
.
oid
pg_seclabel
l
JOIN
pg_type
typ
ON
l
.
classoid
=
typ
.
tableoid
AND
l
.
objoid
=
typ
.
oid
JOIN
pg_namespace
nsp
ON
typ
.
typnamespace
=
nsp
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'large object'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
l
.
objoid
::
text
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'large object'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
l
.
objoid
::
text
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_largeobject_metadata
lom
ON
l
.
objoid
=
lom
.
oid
pg_seclabel
l
JOIN
pg_largeobject_metadata
lom
ON
l
.
objoid
=
lom
.
oid
WHERE
l
.
classoid
=
'pg_catalog.pg_largeobject'
::
regclass
AND
l
.
objsubid
=
0
l
.
classoid
=
'pg_catalog.pg_largeobject'
::
regclass
AND
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'language'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
lan
.
lanname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'language'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
lan
.
lanname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_language
lan
ON
l
.
classoid
=
lan
.
tableoid
AND
l
.
objoid
=
lan
.
oid
pg_seclabel
l
JOIN
pg_language
lan
ON
l
.
classoid
=
lan
.
tableoid
AND
l
.
objoid
=
lan
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'schema'
::
text
AS
objtype
,
nsp
.
oid
AS
objnamespace
,
quote_ident
(
nsp
.
nspname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'schema'
::
text
AS
objtype
,
nsp
.
oid
AS
objnamespace
,
quote_ident
(
nsp
.
nspname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_namespace
nsp
ON
l
.
classoid
=
nsp
.
tableoid
AND
l
.
objoid
=
nsp
.
oid
pg_seclabel
l
JOIN
pg_namespace
nsp
ON
l
.
classoid
=
nsp
.
tableoid
AND
l
.
objoid
=
nsp
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'event trigger'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
evt
.
evtname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'event trigger'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
evt
.
evtname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_event_trigger
evt
ON
l
.
classoid
=
evt
.
tableoid
AND
l
.
objoid
=
evt
.
oid
pg_seclabel
l
JOIN
pg_event_trigger
evt
ON
l
.
classoid
=
evt
.
tableoid
AND
l
.
objoid
=
evt
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'publication'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
p
.
pubname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
l
.
objsubid
,
'publication'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
p
.
pubname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_seclabel
l
JOIN
pg_publication
p
ON
l
.
classoid
=
p
.
tableoid
AND
l
.
objoid
=
p
.
oid
pg_seclabel
l
JOIN
pg_publication
p
ON
l
.
classoid
=
p
.
tableoid
AND
l
.
objoid
=
p
.
oid
WHERE
l
.
objsubid
=
0
l
.
objsubid
=
0
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'subscription'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
s
.
subname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'subscription'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
s
.
subname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_shseclabel
l
JOIN
pg_subscription
s
ON
l
.
classoid
=
s
.
tableoid
AND
l
.
objoid
=
s
.
oid
pg_shseclabel
l
JOIN
pg_subscription
s
ON
l
.
classoid
=
s
.
tableoid
AND
l
.
objoid
=
s
.
oid
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'database'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
dat
.
datname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'database'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
dat
.
datname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_shseclabel
l
JOIN
pg_database
dat
ON
l
.
classoid
=
dat
.
tableoid
AND
l
.
objoid
=
dat
.
oid
pg_shseclabel
l
JOIN
pg_database
dat
ON
l
.
classoid
=
dat
.
tableoid
AND
l
.
objoid
=
dat
.
oid
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'tablespace'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
spc
.
spcname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'tablespace'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
spc
.
spcname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_shseclabel
l
JOIN
pg_tablespace
spc
ON
l
.
classoid
=
spc
.
tableoid
AND
l
.
objoid
=
spc
.
oid
pg_shseclabel
l
JOIN
pg_tablespace
spc
ON
l
.
classoid
=
spc
.
tableoid
AND
l
.
objoid
=
spc
.
oid
UNION
ALL
SELECT
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'role'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
rol
.
rolname
)
AS
objname
,
l
.
provider
,
l
.
label
l
.
objoid
,
l
.
classoid
,
0
::
int4
AS
objsubid
,
'role'
::
text
AS
objtype
,
NULL
::
oid
AS
objnamespace
,
quote_ident
(
rol
.
rolname
)
AS
objname
,
l
.
provider
,
l
.
label
FROM
pg_shseclabel
l
JOIN
pg_authid
rol
ON
l
.
classoid
=
rol
.
tableoid
AND
l
.
objoid
=
rol
.
oid
;
pg_shseclabel
l
JOIN
pg_authid
rol
ON
l
.
classoid
=
rol
.
tableoid
AND
l
.
objoid
=
rol
.
oid
;
CREATE
VIEW
pg_settings
AS
SELECT
*
FROM
pg_show_all_settings
()
AS
A
;
...
...
@@ -898,22 +898,22 @@ CREATE VIEW pg_stat_bgwriter AS
pg_stat_get_bgwriter_stat_reset_time
()
AS
stats_reset
;
CREATE
VIEW
pg_stat_progress_vacuum
AS
SELECT
S
.
pid
AS
pid
,
S
.
datid
AS
datid
,
D
.
datname
AS
datname
,
S
.
relid
AS
relid
,
CASE
S
.
param1
WHEN
0
THEN
'initializing'
WHEN
1
THEN
'scanning heap'
WHEN
2
THEN
'vacuuming indexes'
WHEN
3
THEN
'vacuuming heap'
WHEN
4
THEN
'cleaning up indexes'
WHEN
5
THEN
'truncating heap'
WHEN
6
THEN
'performing final cleanup'
END
AS
phase
,
S
.
param2
AS
heap_blks_total
,
S
.
param3
AS
heap_blks_scanned
,
S
.
param4
AS
heap_blks_vacuumed
,
S
.
param5
AS
index_vacuum_count
,
S
.
param6
AS
max_dead_tuples
,
S
.
param7
AS
num_dead_tuples
SELECT
S
.
pid
AS
pid
,
S
.
datid
AS
datid
,
D
.
datname
AS
datname
,
S
.
relid
AS
relid
,
CASE
S
.
param1
WHEN
0
THEN
'initializing'
WHEN
1
THEN
'scanning heap'
WHEN
2
THEN
'vacuuming indexes'
WHEN
3
THEN
'vacuuming heap'
WHEN
4
THEN
'cleaning up indexes'
WHEN
5
THEN
'truncating heap'
WHEN
6
THEN
'performing final cleanup'
END
AS
phase
,
S
.
param2
AS
heap_blks_total
,
S
.
param3
AS
heap_blks_scanned
,
S
.
param4
AS
heap_blks_vacuumed
,
S
.
param5
AS
index_vacuum_count
,
S
.
param6
AS
max_dead_tuples
,
S
.
param7
AS
num_dead_tuples
FROM
pg_stat_get_progress_info
(
'VACUUM'
)
AS
S
LEFT
JOIN
pg_database
D
ON
S
.
datid
=
D
.
oid
;
LEFT
JOIN
pg_database
D
ON
S
.
datid
=
D
.
oid
;
CREATE
VIEW
pg_stat_progress_cluster
AS
SELECT
...
...
@@ -943,34 +943,34 @@ CREATE VIEW pg_stat_progress_cluster AS
LEFT
JOIN
pg_database
D
ON
S
.
datid
=
D
.
oid
;
CREATE
VIEW
pg_stat_progress_create_index
AS
SELECT
S
.
pid
AS
pid
,
S
.
datid
AS
datid
,
D
.
datname
AS
datname
,
S
.
relid
AS
relid
,
CAST
(
S
.
param7
AS
oid
)
AS
index_relid
,
CASE
S
.
param10
WHEN
0
THEN
'initializing'
WHEN
1
THEN
'waiting for writers before build'
WHEN
2
THEN
'building index'
||
COALESCE
((
': '
||
pg_indexam_progress_phasename
(
S
.
param9
::
oid
,
S
.
param11
)),
''
)
WHEN
3
THEN
'waiting for writers before validation'
WHEN
4
THEN
'index validation: scanning index'
WHEN
5
THEN
'index validation: sorting tuples'
WHEN
6
THEN
'index validation: scanning table'
WHEN
7
THEN
'waiting for old snapshots'
WHEN
8
THEN
'waiting for readers before marking dead'
WHEN
9
THEN
'waiting for readers before dropping'
END
as
phase
,
S
.
param4
AS
lockers_total
,
S
.
param5
AS
lockers_done
,
S
.
param6
AS
current_locker_pid
,
S
.
param16
AS
blocks_total
,
S
.
param17
AS
blocks_done
,
S
.
param12
AS
tuples_total
,
S
.
param13
AS
tuples_done
,
S
.
param14
AS
partitions_total
,
S
.
param15
AS
partitions_done
FROM
pg_stat_get_progress_info
(
'CREATE INDEX'
)
AS
S
LEFT
JOIN
pg_database
D
ON
S
.
datid
=
D
.
oid
;
SELECT
S
.
pid
AS
pid
,
S
.
datid
AS
datid
,
D
.
datname
AS
datname
,
S
.
relid
AS
relid
,
CAST
(
S
.
param7
AS
oid
)
AS
index_relid
,
CASE
S
.
param10
WHEN
0
THEN
'initializing'
WHEN
1
THEN
'waiting for writers before build'
WHEN
2
THEN
'building index'
||
COALESCE
((
': '
||
pg_indexam_progress_phasename
(
S
.
param9
::
oid
,
S
.
param11
)),
''
)
WHEN
3
THEN
'waiting for writers before validation'
WHEN
4
THEN
'index validation: scanning index'
WHEN
5
THEN
'index validation: sorting tuples'
WHEN
6
THEN
'index validation: scanning table'
WHEN
7
THEN
'waiting for old snapshots'
WHEN
8
THEN
'waiting for readers before marking dead'
WHEN
9
THEN
'waiting for readers before dropping'
END
as
phase
,
S
.
param4
AS
lockers_total
,
S
.
param5
AS
lockers_done
,
S
.
param6
AS
current_locker_pid
,
S
.
param16
AS
blocks_total
,
S
.
param17
AS
blocks_done
,
S
.
param12
AS
tuples_total
,
S
.
param13
AS
tuples_done
,
S
.
param14
AS
partitions_total
,
S
.
param15
AS
partitions_done
FROM
pg_stat_get_progress_info
(
'CREATE INDEX'
)
AS
S
LEFT
JOIN
pg_database
D
ON
S
.
datid
=
D
.
oid
;
CREATE
VIEW
pg_user_mappings
AS
SELECT
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment