今天来练习一下视图的操作了
1.登录数据库环境
root@modb:~# su - omm
omm@modb:~$ gsql -r
gsql ((openGauss 2.0.0 build 78689da9) compiled at 2021-03-31 21:03:52 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
2.创建视图
omm=# CREATE VIEW tps_view AS
omm-# SELECT * FROM pg_tablespace WHERE spcname = 'pg_default';
CREATE VIEW
3.查看视图
omm=# SELECT * FROM tps_view ;
spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative
------------+----------+--------+------------+------------+----------
pg_default | 10 | | | | f
(1 row)
4.创建schema及表
omm-# Create schema tpcds;
ERROR: syntax error at or near "2"
LINE 1: 2~
^
omm=# CREATE TABLE tpcds.customer
omm-# ( c_customer_sk integer,
omm(# c_customer_id char(5),
omm(# c_first_name char(6),
omm(# c_last_name char(8)
omm(# ) ;
CREATE TABLE
插入数据
omm=# INSERT INTO tpcds.customer VALUES
omm-# (6885, 1, 'Joes', 'Hunter'),
omm-# (4321, 2, 'Lily','Carter'),
omm-# (9527, 3, 'James', 'Cook'),
omm-# (9500, 4, 'Lucy', 'Baker');
INSERT 0 4
创建视图
omm-# CREATE VIEW tpcds.customer_details_view_v1 AS
SELECT * FROM tpcds.customer
omm-# WHERE c_customer_sk < 6000;
CREATE VIEW
创建schema
omm=# create schema tpcds;
ERROR: schema "tpcds" already exists
omm=# select * from tpcds.customer_details_view_v1;
c_customer_sk | c_customer_id | c_first_name | c_last_name
---------------+---------------+--------------+-------------
4321 | 2 | Lily | Carter
(1 row)
查看视图数据字典
omm=# select * from pg_views where schemaname = 'tpcds' or schemaname = 'public';
schemaname | viewname | viewowner | definition
------------+--------------------------+-----------+--------------------------------------------------------------------------------
--
public | tps_view | omm | SELECT * FROM pg_tablespace WHERE (pg_tablespace.spcname = 'pg_default'::name)
;
tpcds | customer_details_view_v1 | omm | SELECT * FROM tpcds.customer WHERE (customer.c_customer_sk < 6000);
(2 rows)
5.修改视图名称
omm=# ALTER VIEW tpcds.customer_details_view_v1 RENAME TO customer_details_view_v2;
ALTER VIEW
6.修改视图schema
omm=# ALTER VIEW tpcds.customer_details_view_v2 SET schema public;
ALTER VIEW
7.修改视图owner
omm=# create user jack password 'abcd@123';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
omm=# alter view tps_view owner to jack;
ALTER VIEW
omm=# select * from pg_views where viewname = 'customer_details_view_v2' or viewname = 'tps_view';
schemaname | viewname | viewowner | definition
------------+--------------------------+-----------+--------------------------------------------------------------------------------
--
public | tps_view | jack | SELECT * FROM pg_tablespace WHERE (pg_tablespace.spcname = 'pg_default'::name)
;
public | customer_details_view_v2 | omm | SELECT * FROM tpcds.customer WHERE (customer.c_customer_sk < 6000);
(2 rows)
8.删除视图
omm=# DROP VIEW customer_details_view_v2;
DROP VIEW
omm=# Drop view tps_view;
DROP VIEW
作业
1.为系统表PG_DATABASE创建视图,重命名视图并修改owner为jim,
omm=# CREATE VIEW vw_pg_database AS SELECT * FROM pg_database;
CREATE VIEW
omm=# ALTER VIEW vw_pg_database RENAME TO vw_pg_database_new;
ALTER VIEW
2.创建一个用户表student,并在用户表上创建视图,修改视图schema;
omm=# create table student(id integer, name varchar(20));
CREATE TABLE
omm=# create view vg_student as select * from student;
CREATE VIEW
omm=# create schema woo;
CREATE SCHEMA
omm=# ALTER VIEW vg_student SET schema woo;
ALTER VIEW
3.使用pg_views查看视图信息
omm=# select schemaname,viewname,viewowner from pg_views;
schemaname | viewname | viewowner
--------------------+----------------------------------------+-----------
pg_catalog | pgxc_prepared_xacts | omm
pg_catalog | pg_roles | omm
pg_catalog | pg_shadow | omm
pg_catalog | pg_group | omm
pg_catalog | pg_user | omm
pg_catalog | pg_rules | omm
pg_catalog | gs_labels | omm
pg_catalog | pg_rlspolicies | omm
pg_catalog | gs_auditing_access | omm
pg_catalog | pg_views | omm
pg_catalog | gs_auditing_privilege | omm
pg_catalog | pg_tables | omm
pg_catalog | gs_auditing | omm
pg_catalog | gs_matviews | omm
pg_catalog | gs_masking | omm
pg_catalog | pg_indexes | omm
pg_catalog | pg_gtt_relstats | omm
pg_catalog | pg_gtt_attached_pids | omm
pg_catalog | pg_settings | omm
pg_catalog | pg_gtt_stats | omm
pg_catalog | pg_stats | omm
pg_catalog | pg_ext_stats | omm
pg_catalog | pg_locks | omm
pg_catalog | pg_cursors | omm
pg_catalog | pg_available_extensions | omm
pg_catalog | pg_available_extension_versions | omm
pg_catalog | pg_prepared_xacts | omm
catalog | pg_statio_all_indexes | omm
pg_catalog | pg_statio_sys_indexes | omm
--More-- pg_catalog | pg_prepared_statements | omm
pg_catalog | pg_seclabels | omm
pg_catalog | pg_timezone_abbrevs | omm
pg_catalog | pg_timezone_names | omm
pg_catalog | pg_control_group_config | omm
pg_catalog | pg_stat_all_tables | omm
pg_catalog | pg_stat_xact_sys_tables | omm
pg_catalog | pg_stat_user_tables | omm
pg_catalog | pg_stat_xact_user_tables | omm
pg_catalog | pg_statio_all_tables | omm
pg_catalog | pg_statio_sys_tables | omm
pg_catalog | pg_statio_user_tables | omm
pg_catalog | pg_stat_all_indexes | omm
pg_catalog | pg_stat_sys_indexes | omm
pg_catalog | pg_stat_user_indexes | omm
pg_catalog | pg_statio_user_indexes | omm
pg_catalog | pg_statio_all_sequences | omm
pg_catalog | pg_statio_sys_sequences | omm
pg_catalog | pg_statio_user_sequences | omm
pg_catalog | pg_stat_activity | omm
pg_catalog | gs_session_memory_statistics | omm
public | vw_pg_database_new | omm
pg_catalog | pg_session_iostat | omm
pg_catalog | gs_cluster_resource_info | omm
pg_catalog | gs_session_cpu_statistics | omm
pg_catalog | gs_wlm_session_statistics | omm
pg_catalog | pg_total_user_resource_info_oid | omm
pg_catalog | pg_total_user_resource_info | omm
pg_catalog | gs_wlm_session_info_all | omm
pg_catalog | gs_wlm_session_info | omm
pg_catalog | gs_wlm_session_history | omm
pg_catalog | gs_wlm_cgroup_info | omm
pg_catalog | gs_wlm_user_info | omm
pg_catalog | gs_wlm_resource_pool | omm
pg_catalog | gs_wlm_rebuild_user_resource_pool | omm
pg_catalog | gs_wlm_workload_records | omm
pg_catalog | gs_os_run_info | omm
woo | vg_student | omm
pg_catalog | gs_session_memory_context | omm
pg_catalog | gs_thread_memory_context | omm
pg_catalog | gs_shared_memory_detail | omm
pg_catalog | gs_instance_time | omm
pg_catalog | gs_session_time | omm
pg_catalog | gs_session_memory | omm
pg_catalog | gs_total_memory_detail | omm
pg_catalog | pg_total_memory_detail | omm
pg_catalog | gs_redo_stat | omm
pg_catalog | gs_session_stat | omm
pg_catalog | pg_replication_slots | omm
pg_catalog | sys_dummy | omm
pg_catalog | pg_thread_wait_status | omm
pg_catalog | pgxc_thread_wait_status | omm
pg_catalog | gs_sql_count | omm
pg_catalog | pg_stat_database | omm
pg_catalog | pg_stat_database_conflicts | omm
pg_catalog | pg_stat_user_functions | omm
pg_catalog | pg_stat_xact_user_functions | omm
pg_catalog | pg_stat_bgwriter | omm
pg_catalog | pg_user_mappings | omm
pg_catalog | pg_os_threads | omm
pg_catalog | pg_node_env | omm
pg_catalog | pg_comm_status | omm
pg_catalog | pg_comm_recv_stream | omm
pg_catalog | pg_comm_send_stream | omm
pg_catalog | pg_get_invalid_backends | omm
pg_catalog | pg_get_senders_catchup_time | omm
pg_catalog | gs_stat_session_cu | omm
pg_catalog | pg_comm_delay | omm
dbe_perf | global_os_threads | omm
dbe_perf | os_runtime | omm
dbe_perf | node_name | omm
dbe_perf | global_os_runtime | omm
dbe_perf | os_threads | omm
--More-- pg_catalog | gs_all_control_group_info | omm
pg_catalog | mpp_tables | omm
pg_catalog | gs_wlm_operator_statistics | omm
pg_catalog | gs_wlm_operator_history | omm
pg_catalog | gs_wlm_plan_operator_history | omm
pg_catalog | gs_total_nodegroup_memory_detail | omm
pg_catalog | gs_wlm_ec_operator_history | omm
pg_catalog | pg_tde_info | omm
pg_catalog | pg_stat_bad_block | omm
pg_catalog | plan_table | omm
pg_catalog | get_global_prepared_xacts | omm
dbe_perf | instance_time | omm
dbe_perf | global_instance_time | omm
dbe_perf | workload_sql_count | omm
dbe_perf | workload_sql_elapse_time | omm
dbe_perf | summary_workload_sql_count | omm
dbe_perf | summary_workload_sql_elapse_time | omm
dbe_perf | user_transaction | omm
dbe_perf | global_user_transaction | omm
dbe_perf | workload_transaction | omm
dbe_perf | global_workload_transaction | omm
dbe_perf | summary_workload_transaction | omm
dbe_perf | session_stat | omm
dbe_perf | global_session_stat | omm
dbe_perf | session_time | omm
dbe_perf | global_session_time | omm
dbe_perf | session_stat_activity | omm
dbe_perf | global_session_stat_activity | omm
dbe_perf | session_memory | omm
dbe_perf | global_session_memory | omm
dbe_perf | session_memory_detail | omm
dbe_perf | global_session_memory_detail | omm
dbe_perf | session_cpu_runtime | omm
dbe_perf | session_memory_runtime | omm
dbe_perf | thread_wait_status | omm
dbe_perf | global_thread_wait_status | omm
dbe_perf | wlm_user_resource_runtime | omm
dbe_perf | wlm_user_resource_config | omm
dbe_perf | operator_history_table | omm
dbe_perf | global_operator_history_table | omm
dbe_perf | operator_history | omm
dbe_perf | global_operator_history | omm
dbe_perf | operator_runtime | omm
dbe_perf | global_operator_runtime | omm
dbe_perf | statement_complex_history | omm
dbe_perf | global_statement_complex_history | omm
dbe_perf | statement_complex_history_table | omm
dbe_perf | global_statement_complex_history_table | omm
dbe_perf | statement_complex_runtime | omm
dbe_perf | global_statement_complex_runtime | omm
dbe_perf | statement_iostat_complex_runtime | omm
dbe_perf | statement_wlmstat_complex_runtime | omm
dbe_perf | memory_node_detail | omm
dbe_perf | global_memory_node_detail | omm
dbe_perf | shared_memory_detail | omm
dbe_perf | global_shared_memory_detail | omm
dbe_perf | statio_all_indexes | omm
dbe_perf | global_statio_all_indexes | omm
dbe_perf | summary_statio_all_indexes | omm
dbe_perf | statio_all_sequences | omm
dbe_perf | global_statio_all_sequences | omm
dbe_perf | summary_statio_all_sequences | omm
dbe_perf | statio_all_tables | omm
dbe_perf | global_statio_all_tables | omm
dbe_perf | summary_statio_all_tables | omm
dbe_perf | statio_sys_indexes | omm
dbe_perf | global_statio_sys_indexes | omm
dbe_perf | summary_statio_sys_indexes | omm
dbe_perf | statio_sys_sequences | omm
dbe_perf | global_statio_sys_sequences | omm
dbe_perf | summary_statio_sys_sequences | omm
dbe_perf | statio_sys_tables | omm
dbe_perf | global_statio_sys_tables | omm
dbe_perf | summary_statio_sys_tables | omm
dbe_perf | statio_user_indexes | omm
dbe_perf | global_statio_user_indexes | omm
--More-- dbe_perf | summary_statio_user_indexes | omm
dbe_perf | statio_user_sequences | omm
dbe_perf | global_statio_user_sequences | omm
dbe_perf | summary_statio_user_sequences | omm
dbe_perf | statio_user_tables | omm
dbe_perf | global_statio_user_tables | omm
dbe_perf | summary_statio_user_tables | omm
dbe_perf | global_stat_db_cu | omm
dbe_perf | global_stat_session_cu | omm
dbe_perf | stat_all_tables | omm
dbe_perf | global_stat_all_tables | omm
dbe_perf | summary_stat_all_tables | omm
dbe_perf | stat_all_indexes | omm
dbe_perf | global_stat_all_indexes | omm
dbe_perf | summary_stat_all_indexes | omm
dbe_perf | stat_sys_tables | omm
dbe_perf | global_stat_sys_tables | omm
dbe_perf | summary_stat_sys_tables | omm
dbe_perf | stat_sys_indexes | omm
dbe_perf | global_stat_sys_indexes | omm
dbe_perf | summary_stat_sys_indexes | omm
--More-- dbe_perf | stat_user_tables | omm
dbe_perf | global_stat_user_tables | omm
dbe_perf | summary_stat_user_tables | omm
dbe_perf | stat_user_indexes | omm
dbe_perf | global_stat_user_indexes | omm
dbe_perf | summary_stat_user_indexes | omm
dbe_perf | stat_database | omm
dbe_perf | global_stat_database | omm
dbe_perf | summary_stat_database | omm
dbe_perf | stat_database_conflicts | omm
dbe_perf | global_stat_database_conflicts | omm
dbe_perf | summary_stat_database_conflicts | omm
dbe_perf | stat_xact_all_tables | omm
dbe_perf | global_stat_xact_all_tables | omm
dbe_perf | summary_stat_xact_all_tables | omm
dbe_perf | stat_xact_sys_tables | omm
dbe_perf | global_stat_xact_sys_tables | omm
dbe_perf | summary_stat_xact_sys_tables | omm
dbe_perf | stat_xact_user_tables | omm
dbe_perf | global_stat_xact_user_tables | omm
dbe_perf | summary_stat_xact_user_tables | omm
dbe_perf | stat_user_functions | omm
dbe_perf | global_stat_user_functions | omm
dbe_perf | summary_stat_user_functions | omm
dbe_perf | stat_xact_user_functions | omm
dbe_perf | global_stat_xact_user_functions | omm
dbe_perf | summary_stat_xact_user_functions | omm
dbe_perf | stat_bad_block | omm
dbe_perf | global_stat_bad_block | omm
dbe_perf | summary_stat_bad_block | omm
dbe_perf | file_redo_iostat | omm
dbe_perf | global_file_redo_iostat | omm
dbe_perf | summary_file_redo_iostat | omm
dbe_perf | local_rel_iostat | omm
dbe_perf | global_rel_iostat | omm
dbe_perf | summary_rel_iostat | omm
dbe_perf | file_iostat | omm
dbe_perf | global_file_iostat | omm
dbe_perf | summary_file_iostat | omm
dbe_perf | locks | omm
dbe_perf | global_locks | omm
dbe_perf | replication_slots | omm
dbe_perf | global_replication_slots | omm
dbe_perf | replication_stat | omm
dbe_perf | global_replication_stat | omm
dbe_perf | transactions_running_xacts | omm
dbe_perf | global_transactions_running_xacts | omm
dbe_perf | summary_transactions_running_xacts | omm
dbe_perf | transactions_prepared_xacts | omm
dbe_perf | global_transactions_prepared_xacts | omm
--More-- dbe_perf | bgwriter_stat | omm
dbe_perf | summary_transactions_prepared_xacts | omm
dbe_perf | statement | omm
dbe_perf | statement_history | omm
dbe_perf | summary_statement | omm
dbe_perf | statement_count | omm
dbe_perf | global_statement_count | omm
dbe_perf | summary_statement_count | omm
dbe_perf | config_settings | omm
dbe_perf | global_config_settings | omm
dbe_perf | wait_events | omm
dbe_perf | global_wait_events | omm
dbe_perf | statement_responsetime_percentile | omm
dbe_perf | user_login | omm
dbe_perf | summary_user_login | omm
dbe_perf | class_vital_info | omm
dbe_perf | global_ckpt_status | omm
dbe_perf | global_double_write_status | omm
dbe_perf | global_pagewriter_status | omm
dbe_perf | global_record_reset_time | omm
dbe_perf | global_redo_status | omm
dbe_perf | global_rto_status | omm
dbe_perf | global_recovery_status | omm
dbe_perf | local_threadpool_status | omm
dbe_perf | global_threadpool_status | omm
dbe_perf | gs_slow_query_info | omm
dbe_perf | gs_slow_query_history | omm
dbe_perf | global_slow_query_history | omm
dbe_perf | global_slow_query_info | omm
dbe_perf | global_plancache_status | omm
dbe_perf | global_plancache_clean | omm
pg_catalog | pg_stat_xact_all_tables | omm
pg_catalog | pg_stat_sys_tables | omm
pg_catalog | pg_stat_activity_ng | omm
pg_catalog | pg_session_wlmstat | omm
pg_catalog | pg_wlm_statistics | omm
pg_catalog | gs_file_stat | omm
pg_catalog | gs_session_memory_detail | omm
pg_catalog | pg_stat_replication | omm
pg_catalog | pg_running_xacts | omm
pg_catalog | pg_variable_info | omm
pg_catalog | gs_get_control_group_info | omm
information_schema | attributes | omm
--More-- pg_catalog | gs_wlm_ec_operator_statistics | omm
information_schema | information_schema_catalog_name | omm
information_schema | applicable_roles | omm
information_schema | administrable_role_authorizations | omm
information_schema | character_sets | omm
information_schema | check_constraint_routine_usage | omm
information_schema | check_constraints | omm
information_schema | collations | omm
information_schema | collation_character_set_applicability | omm
information_schema | column_domain_usage | omm
information_schema | column_privileges | omm
information_schema | column_udt_usage | omm
information_schema | columns | omm
information_schema | domain_udt_usage | omm
information_schema | domains | omm
information_schema | constraint_column_usage | omm
information_schema | constraint_table_usage | omm
information_schema | domain_constraints | omm
information_schema | enabled_roles | omm
information_schema | key_column_usage | omm
information_schema | parameters | omm
information_schema | referential_constraints | omm
information_schema | role_column_grants | omm
information_schema | routine_privileges | omm
information_schema | role_routine_grants | omm
information_schema | routines | omm
information_schema | schemata | omm
information_schema | sequences | omm
information_schema | table_constraints | omm
information_schema | table_privileges | omm
information_schema | role_table_grants | omm
information_schema | tables | omm
information_schema | triggered_update_columns | omm
information_schema | user_defined_types | omm
information_schema | view_column_usage | omm
information_schema | views | omm
information_schema | data_type_privileges | omm
information_schema | element_types | omm
information_schema | _pg_foreign_table_columns | omm
information_schema | triggers | omm
information_schema | udt_privileges | omm
information_schema | role_udt_grants | omm
information_schema | usage_privileges | omm
information_schema | role_usage_grants | omm
information_schema | column_options | omm
information_schema | view_routine_usage | omm
information_schema | view_table_usage | omm
information_schema | _pg_foreign_data_wrappers | omm
information_schema | foreign_data_wrapper_options | omm
information_schema | foreign_data_wrappers | omm
information_schema | _pg_foreign_servers | omm
information_schema | foreign_server_options | omm
information_schema | foreign_servers | omm
information_schema | _pg_foreign_tables | omm
information_schema | foreign_table_options | omm
information_schema | foreign_tables | omm
information_schema | _pg_user_mappings | omm
information_schema | user_mapping_options | omm
information_schema | user_mappings | omm
(352 rows)
omm=#
4.删除视图、表、用户
drop view vw_pg_database
drop table student cascade;
drop view vg_student;
每天进步一点点!!!




