ubuntu1404-202% psql -h postgres.odyssey.uwaterloo.ca -d odyssey
psql (9.3.24, server 9.5.15)
WARNING: psql major version 9.3, server major version 9.5.
Some psql features might not work.
SSL connection (cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
odyssey=> select version();
odyssey=> SELECT current_date;
date
------------
2019-05-14
(1 row)
odyssey=> select uw_term_from_time ('May 15, 2019');
ERROR: function uw_term_from_time(unknown) does not exist
LINE 1: select uw_term_from_time ('May 15, 2019');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
odyssey=> set search_path to _instruct, _identity, _quest, public;
SET
odyssey=> select uw_term_from_time ('May 15, 2019');
uw_term_from_time
-------------------
1195
(1 row)
odyssey=> \q
ubuntu1404-202%
| Notes: - \q to quit/exit - select is often used to print things not obviously search results. - uw_term_from_time fails unless search_path has been set as shown. - There can be psql version problems. Even server 9.5 is not very recent. - select version(); shows a non-inline result. |
| Usually you (well, I) want to set the pager off... |
odyssey=> \pset pager off Pager usage is off. odyssey=> \dt
| Notes: - (\? gives Postgres help; \h gives SQL help (potentially a lot of output) |
odyssey=> \h odyssey=> \h SHOW Command: SHOW Description: show the value of a run-time parameter Syntax: SHOW name SHOW ALL odyssey=>
odyssey=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
odyssey | postgres | UTF8 | C | C | postgres=CTc/postgres+
| | | | | =Tc/postgres +
| | | | | _dba=C/postgres
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
odyssey=>
odyssey-> \dt
odyssey-> \dt uw_unit
List of relations
Schema | Name | Type | Owner
--------+---------+-------+-------------
_quest | uw_unit | table | _quest_root
(1 row)
odyssey->
odyssey-> \dt std_name
List of relations
Schema | Name | Type | Owner
--------+----------+-------+-------------
_quest | std_name | table | _quest_root
(1 row)
odyssey-> \dt std_name_preferred
No matching relations found.
odyssey-> \dt std_name_primary
No matching relations found.
odyssey-> \dt std_plan_history
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------------
_quest | std_plan_history | table | _quest_root
(1 row)
odyssey-> \dt std_program_history
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+-------------
_quest | std_program_history | table | _quest_root
(1 row)
odyssey-> \dt std_service_indicator
List of relations
Schema | Name | Type | Owner
--------+-----------------------+-------+-------------
_quest | std_service_indicator | table | _quest_root
(1 row)
odyssey-> \dt std_student
List of relations
Schema | Name | Type | Owner
--------+-------------+-------+-------------
_quest | std_student | table | _quest_root
(1 row)
odyssey-> \dt std_subplan_history
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+-------------
_quest | std_subplan_history | table | _quest_root
(1 row)
odyssey-> \dt std_term_plan
List of relations
Schema | Name | Type | Owner
--------+---------------+-------+-------------
_quest | std_term_plan | table | _quest_root
(1 row)
odyssey-> \dt std_term_program
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------------
_quest | std_term_program | table | _quest_root
(1 row)
odyssey-> \dt std_term_subplan
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------------
_quest | std_term_subplan | table | _quest_root
(1 row)
odyssey->
odyssey=> select column_name from information_schema.columns where table_name = 'std_name' ; column_name ---------------- uw_id name_type_code name_as_of name_title last_name first_name middle_name (7 rows) odyssey=>
| Note the quotation marks (apostrophes) around the table name. |
| Notes: - If you have not set the pager off, \dt alone probably shows a none-inline result. |
odyssey=> \pset pager off
Pager usage is off.
odyssey=> \dt
List of relations
Schema | Name | Type | Owner
-----------+----------------------------------------+-------+----------------
_identity | person_event_type | table | _identity_root
_identity | person_identity | table | _identity_root
_identity | person_identity_log | table | _identity_root
_identity | person_identity_type | table | _identity_root
_identity | person_identity_type_log | table | _identity_root
_identity | person_person | table | _identity_root
_identity | person_person_log | table | _identity_root
_identity | update_multiple_report | table | _identity_root
_identity | watiam_duplicate_warning | table | _identity_root
_identity | watiam_update_id | table | _identity_root
[...]
_quest | uw_grading_basis | table | _quest_root
_quest | uw_group | table | _quest_root
_quest | uw_group_history | table | _quest_root
_quest | uw_holiday_type | table | _quest_root
_quest | uw_location | table | _quest_root
_quest | uw_location_history | table | _quest_root
_quest | uw_phone_type | table | _quest_root
_quest | uw_program_action | table | _quest_root
_quest | uw_program_reason | table | _quest_root
_quest | uw_program_status | table | _quest_root
_quest | uw_room | table | _quest_root
_quest | uw_study_agreement | table | _quest_root
_quest | uw_term | table | _quest_root
_quest | uw_test_component | table | _quest_root
_quest | uw_test_source | table | _quest_root
_quest | uw_test_type | table | _quest_root
_quest | uw_unit | table | _quest_root
_quest | uw_unit_history | table | _quest_root
_quest | uw_visible_minority | table | _quest_root
(276 rows)
odyssey=>
Without \pset pager off the output is "paged" to an alternate terminal screen and is not conveniently available.
t_ might be be a good way to prevent collision with normal names in the schema.
odyssey=> create temp table t_docplans as select * from pps_plan_type where ( program_type_code = 'D' ); SELECT 4 odyssey=> select plan_type_code from t_docplans; plan_type_code ---------------- DM DC DJ D (4 rows) odyssey=>
odyssey=> create temp table t_masterplans as select * from pps_plan_type where ( program_type_code = 'M' ); SELECT 52 odyssey=> odyssey=> select plan_type_code, plan_code from pps_plan join t_masterplans using (plan_type_code) where unit_code = 'CS'; plan_type_code | plan_code ----------------+------------ M25 | HLTHINMC M20 | HLTHINM M3 | CSQIM M18 | CSQFINM M | CSM2 M3 | CSCOURSEM M3 | CSM M3C | CSMC M3R | CSSEMR M3C | CSCOURSEMC M3 | CSSTATCMPM (11 rows) odyssey=>
odyssey=> select distinct uw_id, userid, plan_code from std_student join std_term_plan using (uw_id) join pps_plan using (plan_code) natural join t_masterplans where term_id = 1195 and unit_code = 'CS' limit 10; uw_id | userid | plan_code ----------+----------+------------ NNNNNNNN | y69bai | CSCOURSEM NNNNNNNN | h2gidwan | CSCOURSEMC NNNNNNNN | ihnicaci | CSCOURSEMC NNNNNNNN | a4balakr | CSM NNNNNNNN | cz3liu | CSM NNNNNNNN | ndezoysa | CSM NNNNNNNN | z2masud | CSM NNNNNNNN | ka2weath | CSCOURSEM NNNNNNNN | rnadri | CSM NNNNNNNN | t3tiwari | CSCOURSEMC (10 rows) odyssey=>
odyssey=> select distinct plan_code from std_student join std_term_plan using (uw_id) join pps_plan using (plan_code) natural join t_masterplans where term_id = 1195 and unit_code = 'CS'; plan_code ------------ CSCOURSEMC CSM CSMC CSQIM CSCOURSEM (5 rows) odyssey=>
odyssey=> select distinct plan_code from std_student join std_term_plan using (uw_id) join pps_plan using (plan_code) natural join t_masterplans where unit_code = 'CS'; plan_code ------------ CSQIM CSCOURSEMC CSM HLTHINM CSCOURSEM HLTHINMC CSMC CSSEMR (8 rows) odyssey=>-- AdrianPepper - 2019-05-16