49 lines
1.3 KiB
SQL
49 lines
1.3 KiB
SQL
\set ON_ERROR_STOP on
|
|
|
|
BEGIN READ ONLY;
|
|
|
|
SELECT
|
|
current_database() AS current_database,
|
|
current_user AS current_user,
|
|
n.nspname AS schema_name,
|
|
pg_get_userbyid(n.nspowner) AS schema_owner,
|
|
has_schema_privilege(current_user, n.oid, 'USAGE') AS can_use,
|
|
has_schema_privilege(current_user, n.oid, 'CREATE') AS can_create_objects
|
|
FROM pg_namespace n
|
|
WHERE n.nspname = 'th_hotel_booking';
|
|
|
|
SELECT version, description, installed_by, installed_at
|
|
FROM th_hotel_booking.schema_migration
|
|
ORDER BY version;
|
|
|
|
SELECT
|
|
c.relkind,
|
|
c.relname AS object_name
|
|
FROM pg_class c
|
|
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
WHERE n.nspname = 'th_hotel_booking'
|
|
ORDER BY c.relkind, c.relname;
|
|
|
|
SELECT
|
|
n.nspname AS schema_name,
|
|
c.relkind,
|
|
count(*) AS object_count
|
|
FROM pg_class c
|
|
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
WHERE n.nspname NOT LIKE 'pg_%'
|
|
AND n.nspname <> 'information_schema'
|
|
GROUP BY n.nspname, c.relkind
|
|
ORDER BY n.nspname, c.relkind;
|
|
|
|
SELECT
|
|
conrelid::regclass::text AS constrained_table,
|
|
confrelid::regclass::text AS referenced_table,
|
|
conname
|
|
FROM pg_constraint
|
|
WHERE contype = 'f'
|
|
AND connamespace = 'th_hotel_booking'::regnamespace
|
|
AND confrelid::regclass::text NOT LIKE 'th_hotel_booking.%'
|
|
ORDER BY constrained_table, conname;
|
|
|
|
COMMIT;
|