Log-In

Reset Password

Not a Member?

Registration is free!

Register Here

Why pay more? Instead of $59.95, for a limited time you pay only $29.95 for everything (the official online boater course, the official boater exam, and the official boater license, legally called the Pleasure Craft Operator Card). Plus, you pay only AFTER you pass the test. Welcome aboard!
0
Minutes
30
Seconds
Chapter 1: Introduction to Boating Terminology
1.1   General Terminology 1.1   General Terminology 1.2   Vessel Terminology 1.3   Directions and Sectors when Afloat 1.3   Directions and Sectors when Afloat 1.4   More Nautical Terminology 1.4   More Nautical Terminology 1.5   Acts and Regulations in Canada 1.5   Acts and Regulations in Canada           Chapter 1 Review Quiz           Chapter 1 Review Quiz
Chapter 2: Required Safety Equipment
Chapter 3: Rules of the Road
Chapter 4: Aids to Navigation
Chapter 5: Before Heading out
Chapter 6: Underway
Chapter 7: Emergencies

Chapter 1
Introduction to Boating Terminology

The nautical field has developed its own jargon to describe the equipment, methods, and maneuvers of nautical activities. Transport Canada has its own definitions for some nautical terms. This chapter introduces you to the meanings of boating terminology that you will encounter on a Transport Canada operator competency test. In addition, definitions of the terminology used in this course can be found on our Glossary page.

The seven chapters of this study guide contain the information that you must know to pass a Transport Canada Boating Safety Test in order to obtain your Pleasure Craft Operator Card (PCOC).

This chapter contains the following sections:

  • 1.1 - General Terminology
  • 1.2 - Vessel Terminology
  • 1.3 - Directions and Sectors When Afloat
  • 1.4 - More Nautical Terminology
  • 1.5 - Acts and Regulations Affecting Pleasure Craft Operators in Canada
  • - Chapter 1 Review Quiz

1.1   General Terminology

Pleasure craft

Pursuant to Transport Canada policy, a pleasure craft is defined as any type of watercraft used exclusively for pleasure and not for carrying passengers or goods for hire.

Pleasure craft come in all shapes and sizes (canoes, kayaks, sailboats, motorboats, cabin cruisers, Seadoos, jet skis, etc.).

Seadoos and jet skis are referred to as personal water craft (PWCs) and are considered to be power-driven (motorized) pleasure craft.


Proof of Competency

According to the Competency of Operators of Pleasure Craft Regulations (COPCRs http://laws-lois.justice.gc.ca/eng/regulations/SOR-99-53/), regardless of age or nationality all persons must carry proof of competency whenever operating any type of motorized pleasure craft on any Canadian waters (other than the waters of the Northwest Territories and Nunavut). Original proof of competency (not a photocopy) must be carried on board when operating a motorized pleasure craft anywhere in Canada (proof of competency is not required for vessels without motors). Failure to carry proof of competency risks a significant fine (usually $250 or more).

The most common proof of competency is the Pleasure Craft Operator Card (PCOC).


Pleasure Craft Operator Card (Boater License)

PCOC

A Pleasure Craft Operator Card (PCOC), better known as a Boater License, is a card that is issued by a Transport Canada-accredited course provider (ACP), such as freecourse.ca, that confirms that the holder passed the official Transport Canada PCOC test.

The Pleasure Craft Operator Card is good for life; it does not have to be renewed annually and it cannot be suspended or revoked. By contrast, the police can suspend or revoke your provincial driver’s permit for improper operation of not just a car but any powered vehicle (including a motorboat, an all-terrain vehicle, or a snowmobile).

Proof of competency can take any of four forms:

  • Pleasure Craft Operator Card (PCOC);
  • Proof that you successfully completed a boating safety course in Canada before April 1, 1999 (i.e.: you have a boating safety certificate issued before 1999);
  • A completed boat rental safety checklist (temporary proof); or
  • Alternative acceptable proof of competency.

Alternative Acceptable Proof of Competency

If you hold any certificate on Transport Canada’s “List of Certificates of Competency, Training Certificates, and other Equivalencies as Proof of Competency”, then you already meet the requirements of the Competency of Operators of Pleasure Craft Regulations (http://laws-lois.justice.gc.ca/eng/regulations/SOR-99-53/) of the Canada Shipping Act, 2001 (http://laws-lois.justice.gc.ca/eng/acts/C-10.15/) for proof of competency, and you just need to make sure you carry the original documentation or a copy of the certificate onboard when operating a motorized pleasure craft. See Transport Canada's web site for a list of equivalent proofs of competency:
https://www.tc.gc.ca/eng/marinesafety/debs-obs-courses-pcoc-list-marine-safety-certif-1323.htm

You can also obtain information by telephone via Service Canada at 1-800-267-6677.

Certificates for boating safety courses completed before April 1, 1999 are also recognized as proof of competency. Thus, if you successfully completed a boating safety course prior to the COPCRs coming into effect (i.e.: prior to April 1, 1999) and you have proof, then that course certificate is accepted as proof of competency.


Foreign residents visiting Canada

The Competency of Operators of Pleasure Craft Regulations (the COPCRs; which require you to carry proof of competency) along with the Canada Shipping Act, 2001 and its regulations apply to any person of any age or nationality who operates a powered pleasure craft on any Canadian waters (other than the waters of the Northwest Territories and Nunavut).

If you are a non-resident visiting Canada with your foreign-registered or foreign-licensed motorboat, then you are not required to carry proof of competency on board as long as your boat is in Canada for less than 45 days.

If you do require proof of competency (because your boat will be in Canada for more than 45 days or because you wish to operate a powered pleasure craft that is licensed or registered in Canada) then you may do so using an operator card or similar proof of competency issued by your home state or country. Either way, you must keep some type of proof of competency (Canadian or foreign) on board with you at all times.


Special Note: In addition to carrying your PCOC when you operate a motorboat, you should also carry official government-issued photo ID (a driver's license, a health card, etc.…) so that the photo ID can be compared to your PCOC to verify that the PCOC that you are carrying is indeed yours. Thus, you should ensure that the name on your PCOC matches the photo ID that you plan to carry with your PCOC.

Pleasure Craft License

The Pleasure Craft Operator Card (PCOC), which is often referred to as a boater license, is also often confused with something called a Pleasure Craft License (PCL).

By law in Canada, any pleasure craft powered by a motor or motors that total 7.5 KW (10 hp) or larger, must have a Pleasure Craft Licence (PCL); i.e.: a boat must have a boat license. A PCL costs $24 to obtain or renew and must be renewed every five (5) years.

The Difference Between a PCOC and a PCL

The Pleasure Craft Operator Card (PCOC):

PCOC
  • Often called a boater license
  • Must be carried when you operate a powered pleasure craft (failure to do so risks a $250 fine); and
  • Is valid for life (never has to be renewed)

The Pleasure Craft License (PCL):

  • Must be shown on both sides of your motorboat's bow;
  • Costs $24 to obtain and to renew; and
  • Must be renewed every five (5) years.

Instructions on obtaining a PCL for your boat are outlined below.

Registering or Licensing Your Boat

In Canada, most powered vessels must be either licensed with Transport Canada or registered with Transport Canada. Whether or not you will license or register your powered vessel depends on:

  • Vessel type;
  • Vessel size; and
  • Size and type of motor(s) propelling the vessel.

Pleasure Craft Licensing - All pleasure craft of all sizes equipped with one or more primary propulsion motors totaling 10 hp (7.5 kW) or more must be licensed with Transport Canada. A pleasure craft license identifies a vessel but does not imply ownership or title; instead, a Bill of Sale is required for conclusive proof as to who owns a vessel. No citizenship or residency restrictions apply to pleasure craft licensing but the vessel must be licensed in Canada if it is principally operated and maintained in Canada. Reminder: A Pleasure Craft License is not for you the operator, it is for your boat and it is valid for five (5) years. Note: An update to a licence (e.g. name change or address change) does not extend the validity date of the Pleasure Craft Licence.


  1. Getting a Pleasure Craft License application form - There are three ways you can obtain an easy-to-use Pleasure Craft License Application Kit:

  2. Submitting your Pleasure Craft License application form - To obtain a free Pleasure Craft License for your boat, there are two ways that you can submit your Pleasure Craft License application form:

The Pleasure Craft License for your pleasure craft (or a good quality copy of the license) must be carried onboard whenever and wherever the vessel is operated in Canada.

When you receive your boat's Pleasure Craft License in the mail, the form will indicate your vessel's Pleasure Craft Licence number, which must be displayed above the waterline on both sides of the bow in block letters and numbers that are at least 7.5 cm (3 in) in height. The colour of the letters and numbers should contrast with the colour of the hull.

As of December 31, 2025:

  • Five-Year Validity - All new and renewed Pleasure Craft Licenses (PCLs) are now valid for only five (5) years. This replaces the previous 10-year or lifetime systems to ensure the national database has current owner information.
  • New Service Fee - A $24 fee now applies for issuing, renewing, transferring, or replacing a licence. This fee will be updated annually based on inflation.
  • 30-Day Update Rule - You must now update your name or address in the system within 30 days of a change (this 30-day deadline is reduced from the previous 90-day window).
  • Expansion to Sailboats - Starting December 31, 2027, wind-powered vessels over six metres in length (without motors) will also require a PCL.
  • Phasing Out "Lifetime" Licences - Existing licences that were issued without an expiry date are being phased out.

You can manage your vessel's paperwork through the Transport Canada Pleasure Craft Electronic Licensing System (PCELS):

https://tc.canada.ca/en/marine-transportation/vessel-licensing-registration/licensing-pleasure-craft/apply-manage-pleasure-craft-licence-pcl/apply-manage-pleasure-craft-licence-pcl


Vessel Registration

Registration is the legal documentation of vessel ownership, similar in nature to the title system applicable for a house. Registration is voluntary for a pleasure craft and is executed by an application to Transport Canada. To register a vessel, you must be a Canadian citizen or a permanent resident of Canada. A Canadian corporation or a foreign corporation may also register a vessel in Canada.

The registered name must be displayed on both sides of the bow. And both the name and port of registry must be displayed on the stern. The registration number and tonnage must be displayed inside the hull. Both the bow and stern registration numbers must be displayed above the waterline in block letters and numbers that are at least 10 cm (4 in.) in height and that contrast with the colour of the hull.

To learn more about pleasure craft licensing or vessel registration, please:


Ownership information

Make sure that you carry current proof of ownership (Pleasure Craft License, Vessel Registration, and Bill of Sale, etc.) with you onboard whenever operating your pleasure craft. You should also be mindful of the fact that the vessel ownership information that you carry must be kept up to date (meaning that you must obtain updated records from Transport Canada if the name or address of the owner changes).

The owner may operate the pleasure craft for 90 days after the date of change of name or address, before the owner receives the new license updated with the correct name or address. However, during this period, the owner must carry on board documents establishing the date of change of name or address, documents setting out the new name or address, and the previous license in need of updating. Note: A pleasure craft’s license alone is not accepted as proof of ownership when entering the United States (or returning to Canada). Thus, ensure that you are carrying up-to-date proof of ownership (ex.: Pleasure Craft License or Vessel Registration plus a Bill of Sale, etc.) for your pleasure craft.


Hull Serial Number – All pleasure craft (with or without a motor) used in Canada must display on their hull a hull serial number (HSN). No character of the HSN is to be less than 3.2 cm (1 ¼ in.) in height or width. The HSN is 12 digits in length (beginning with the manufacturer’s code) and must be permanently marked on the exterior upper starboard corner of the boat’s transom.

Hull serial numbers are used extensively by police to facilitate the recovery of stolen vessels. Pursuant to the Small Vessel Regulations (http://laws-lois.justice.gc.ca/eng/regulations/sor-2010-91/page-1.html) of the Canada Shipping Act, 2001, no person shall alter, deface or remove a hull serial number. If your vessel does not have a hull serial number, one can be obtained from the manufacturer.  If the owner is unable to obtain an HSN from the manufacturer, then the owner is not required to take any further action but may be asked to demonstrate that they made reasonable attempts to obtain an HSN.


Commercial Vessel

A commercial vessel is any vessel that is used to earn revenue. Commercial vessels include water taxis, tour boats, freighters, tankers, ferries, fishing boats, tugboats, and excursion boats.



Power-driven vessel

A power-driven vessel is one that is propelled by any type of engine or machinery (including steam engines and electric trolling motors). All operators of power-driven pleasure craft must obtain a PCOC and carry it on board.



Sail-Driven Vessel

Any vessel under sail provided that propelling machinery, if fitted, is not being used. Thus, even if a sailboat has its sails raised, it is considered to be a power-driven vessel whenever it is being propelled by a motor and, thus, it must obey the Collision Regulations of the Canada Shipping Act, 2001 (http://laws-lois.justice.gc.ca/eng/regulations/C.R.C.,_c._1416/) for power-driven vessels. Also, the operator must carry proof of competency if the sailboat is fitted with a motor. The PCOC must be carried even when under sail without the motor in operation.


Once the timer reaches zero, you will be able to click on the Next button.

0 : 30 Next
An error has occured:

Prefer to shop Canadian?

Then you might be interested in knowing that the three biggest boater license sellers in Canada (BoaterExam.com, BoatSmart.com, and BoatEd.com) are all owned by Kalkomey Enterprises LLC, of Dallas, Texas, USA.

freecourse.ca, on the other hand, is owned by Boating Safety Canada Inc., which in turn is 100% owned and operated by Canadian citizens and is based in Ottawa, Ontario.

In addition, freecourse.ca charges half the price that the US companies charge.

Why pay more?

Shop Canadian and save.

Contact Us

Mailing address:
422 Halldon Place,
Ottawa, ON, K2B 7B8

E-mail:
support@freecourse.ca

Speak to an actual person:
613-791-4521
Mon – Sun, 6AM - 10PM EST

Wear It!

Failure to wear a flotation device is the leading contributing factor in boating fatalities. When on the water, the single-most important thing that you can do to prevent drowning is to always wear a properly adjusted PFD or lifejacket of appropriate type, size, and fit.

Like us
on Facebook

TOOLBAR

Yii 1.1.31

Request
Request Server Parameters
REDIRECT_HTTPS
REDIRECT_SSL_TLS_SNI
REDIRECT_STATUS
HTTPS
SSL_TLS_SNI
HTTP_ACCEPT
HTTP_USER_AGENT
HTTP_ACCEPT_ENCODING
HTTP_HOST
PATH
SERVER_SIGNATURE
SERVER_SOFTWARE
SERVER_NAME
SERVER_ADDR
SERVER_PORT
REMOTE_ADDR
DOCUMENT_ROOT
REQUEST_SCHEME
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT
SERVER_ADMIN
SCRIPT_FILENAME
REMOTE_PORT
REDIRECT_URL
GATEWAY_INTERFACE
SERVER_PROTOCOL
REQUEST_METHOD
QUERY_STRING
REQUEST_URI
SCRIPT_NAME
PHP_SELF
REQUEST_TIME_FLOAT
REQUEST_TIME
YII_DEBUG
YII_TRACE_LEVEL
APP_DUMP_ERRORS
APP_HTTPS
APP_LINK_ASSETS
APP_PEPPER
APP_SHOW_ANSWERS
SMTP_HOST
SMTP_USER
SMTP_PASS
DB_CONN
DB_PASS
DB_USER
GOOGLE_ADS_ID
GOOGLE_ADS_CONVERSION
GOOGLE_RECAPTCHA_SITE
GOOGLE_RECAPTCHA_SECRET
PAYPAL_BUSINESS
PAYPAL_DEBUG
STRIPE_API_TEST
STRIPE_PUBLISH_KEY
STRIPE_SECRET_KEY
STRIPE_WEBHOOK_KEY
CONVERGE_ACCOUNT_ID
CONVERGE_USER_ID
CONVERGE_PIN
TC_API_PASS
TC_API_SAIK
TC_API_USER
TC_DOMAIN_PASS
TC_DOMAIN_USER
TC_EMAIL_EXCEPTIONS
TC_SOCKET_TIMEOUT
MATOMO_ID
MATOMO_URL
ELEVEN_LABS_KEY
Request Cookies
Session Attributes
Request GET Parameters
module
topic
Request POST Parameters
Request FILES
Application Settings
Application Properties
preload
behaviors
name
charset
sourceLanguage
localeClass
defaultController
layout
controllerMap
catchAllRequest
controllerNamespace
Modules
admin
account
gii
Application Params
tel
email
no-reply
Components
urlManager
request
session
user
db
log
viewRenderer
clientScript
assetManager
messages
widgetFactory
securityManager
coreMessages
Views Rendering
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views/study/course.php
View data
  •  => 
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views/study/partials/course-menu.php
View data
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views/study/module1/topic1.php
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrender
View file protected/views//layouts/main/study.php
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/flashes.php
View data
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrender
View file protected/views//layouts/main.php
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/meta.php
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/favicons.php
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//forms/login.php
View data
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/maple.php
View data
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/header-nav.php
View data
  •  => 
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/header-nav.php
View data
  •  => 
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/header-nav.php
View data
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/footer-nav.php
View data
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/footer-nav.php
View data
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/btn.php
View data
  •  => 
  •  => 
  •  => 
  •  => 
Context StudyController
Context class StudyController
Inheritance Controller » CController » CBaseController
Defined in file protected/controllers/StudyController.php
Context properties
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
  •  => 
Route study/course
Action CInlineAction (course)
Action params
  •  => 
  •  => 
Render methodrenderPartial
View file protected/views//components/btn.php
View data
  •  => 
  •  => 
  •  => 
Context YiiDebugToolbarResourceUsage
Context class YiiDebugToolbarResourceUsage
Inheritance CWidget » CBaseController
Defined in file protected/extensions/yii-debug-toolbar/widgets/YiiDebugToolbarResourceUsage.php
Context properties
  •  => 
  •  => 
  •  => 
Render methodrender
View file protected/extensions/yii-debug-toolbar/widgets/views/resources.php
View data
  •  => 
SQL Queries from 1 connection (28/0.015528s)

Connection ID: db (CDbConnection)

Driver mysql
Server Version 8.0.45-0ubuntu0.22.04.1
Uptime 12w 4d 2h 30m 34s
Threads 2
Questions 2709398
Slow queries 1
Opens 1502
Flush tables 3
Open tables 1033
Queries per second avg 0.355
Query Count Total (s) Avg. (s) Min. (s) Max. (s)
SHOW FULL COLUMNS FROM `user`
1 0.002674 0.002674 0.002674 0.002674
SHOW CREATE TABLE `user`
1 0.000508 0.000508 0.000508 0.000508
SHOW FULL COLUMNS FROM `app_page`
1 0.001486 0.001486 0.001486 0.001486
SHOW FULL COLUMNS FROM `course_module`
1 0.001148 0.001148 0.001148 0.001148
SHOW FULL COLUMNS FROM `course_topic`
1 0.001081 0.001081 0.001081 0.001081
SELECT `topics`.`id` AS `t1_c0`, `topics`.`module_id` AS `t1_c1`, `topics`.`number` AS `t1_c2`, `topics`.`name` AS `t1_c3`, `topics`.`time` AS `t1_c4`, `topics`.`type` AS `t1_c5` FROM `course_topic` `topics` WHERE (`topics`.`module_id`=1) ORDER BY topics.number
2 0.000607 0.000304 0.000282 0.000325
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=1 LIMIT 1
2 0.000536 0.000268 0.000259 0.000277
SELECT SUM(`time`) FROM `course_topic`
1 0.000418 0.000418 0.000418 0.000418
SELECT `t`.`id` AS `t0_c0`, `t`.`number` AS `t0_c1`, `t`.`name` AS `t0_c2`, `t`.`type` AS `t0_c3`, `quiz`.`id` AS `t1_c0`, `quiz`.`module_id` AS `t1_c1`, `quiz`.`number` AS `t1_c2`, `quiz`.`name` AS `t1_c3`, `quiz`.`time` AS `t1_c4`, `quiz`.`type` AS `t1_c5` FROM `course_module` `t` LEFT OUTER JOIN `course_topic` `quiz` ON (`quiz`.`module_id`=`t`.`id`) WHERE (`t`.`number`=1) AND (quiz.type = 1)
1 0.000385 0.000385 0.000385 0.000385
SELECT * FROM `course_topic` `t` WHERE `t`.`number`=1 AND `t`.`module_id`=1 LIMIT 1
1 0.000378 0.000378 0.000378 0.000378
SHOW CREATE TABLE `course_module`
1 0.000320 0.000320 0.000320 0.000320
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=3 LIMIT 1
1 0.000306 0.000306 0.000306 0.000306
SHOW CREATE TABLE `course_topic`
1 0.000288 0.000288 0.000288 0.000288
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=4 LIMIT 1
1 0.000253 0.000253 0.000253 0.000253
SELECT * FROM `course_module` `t` WHERE `t`.`number`=1 LIMIT 1
1 0.000205 0.000205 0.000205 0.000205
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=5 LIMIT 1
1 0.000234 0.000234 0.000234 0.000234
SHOW FULL COLUMNS FROM `app_down`
1 0.001210 0.001210 0.001210 0.001210
SHOW FULL COLUMNS FROM `app_config`
1 0.001005 0.001005 0.001005 0.001005
SELECT * FROM `course_module` `t` ORDER BY t.number
1 0.000283 0.000283 0.000283 0.000283
SHOW CREATE TABLE `app_page`
1 0.000442 0.000442 0.000442 0.000442
SELECT * FROM `app_page` `t` WHERE language = 'en' AND nav_position IS NOT NULL ORDER BY nav_position
1 0.000334 0.000334 0.000334 0.000334
SELECT * FROM `app_config` `t`
1 0.000318 0.000318 0.000318 0.000318
SHOW CREATE TABLE `app_config`
1 0.000276 0.000276 0.000276 0.000276
SHOW CREATE TABLE `app_down`
1 0.000310 0.000310 0.000310 0.000310
SELECT * FROM `app_down` `t` WHERE (date_start < NOW() AND date_end > NOW()) LIMIT 1
1 0.000268 0.000268 0.000268 0.000268
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=2 LIMIT 1
1 0.000254 0.000254 0.000254 0.000254
# Query Time (s)
0
SHOW FULL COLUMNS FROM `user`
0.002674
1
SHOW CREATE TABLE `user`
0.000508
2
SHOW FULL COLUMNS FROM `course_module`
0.001148
3
SHOW CREATE TABLE `course_module`
0.000320
4
SHOW FULL COLUMNS FROM `course_topic`
0.001081
5
SHOW CREATE TABLE `course_topic`
0.000288
6
SELECT `t`.`id` AS `t0_c0`, `t`.`number` AS `t0_c1`, `t`.`name` AS `t0_c2`, `t`.`type` AS `t0_c3`, `quiz`.`id` AS `t1_c0`, `quiz`.`module_id` AS `t1_c1`, `quiz`.`number` AS `t1_c2`, `quiz`.`name` AS `t1_c3`, `quiz`.`time` AS `t1_c4`, `quiz`.`type` AS `t1_c5` FROM `course_module` `t` LEFT OUTER JOIN `course_topic` `quiz` ON (`quiz`.`module_id`=`t`.`id`) WHERE (`t`.`number`=1) AND (quiz.type = 1)
0.000385
7
SELECT * FROM `course_topic` `t` WHERE `t`.`number`=1 AND `t`.`module_id`=1 LIMIT 1
0.000378
8
SELECT * FROM `course_module` `t` WHERE `t`.`number`=1 LIMIT 1
0.000205
9
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=1 LIMIT 1
0.000259
10
SELECT SUM(`time`) FROM `course_topic`
0.000418
11
SELECT `topics`.`id` AS `t1_c0`, `topics`.`module_id` AS `t1_c1`, `topics`.`number` AS `t1_c2`, `topics`.`name` AS `t1_c3`, `topics`.`time` AS `t1_c4`, `topics`.`type` AS `t1_c5` FROM `course_topic` `topics` WHERE (`topics`.`module_id`=1) ORDER BY topics.number
0.000282
12
SELECT * FROM `course_module` `t` ORDER BY t.number
0.000283
13
SELECT `topics`.`id` AS `t1_c0`, `topics`.`module_id` AS `t1_c1`, `topics`.`number` AS `t1_c2`, `topics`.`name` AS `t1_c3`, `topics`.`time` AS `t1_c4`, `topics`.`type` AS `t1_c5` FROM `course_topic` `topics` WHERE (`topics`.`module_id`=1) ORDER BY topics.number
0.000325
14
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=1 LIMIT 1
0.000277
15
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=2 LIMIT 1
0.000254
16
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=3 LIMIT 1
0.000306
17
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=4 LIMIT 1
0.000253
18
SELECT * FROM `course_topic` `t` WHERE `t`.`module_id`=1 AND `t`.`number`=5 LIMIT 1
0.000234
19
SHOW FULL COLUMNS FROM `app_page`
0.001486
20
SHOW CREATE TABLE `app_page`
0.000442
21
SELECT * FROM `app_page` `t` WHERE language = 'en' AND nav_position IS NOT NULL ORDER BY nav_position
0.000334
22
SHOW FULL COLUMNS FROM `app_config`
0.001005
23
SHOW CREATE TABLE `app_config`
0.000276
24
SELECT * FROM `app_config` `t`
0.000318
25
SHOW FULL COLUMNS FROM `app_down`
0.001210
26
SHOW CREATE TABLE `app_down`
0.000310
27
SELECT * FROM `app_down` `t` WHERE (date_start < NOW() AND date_end > NOW()) LIMIT 1
0.000268
Log Messages
Message (details) Level Category Time
Loading "log" application component
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.CModule 07:28:42.675990
Loading "urlManager" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php (113)
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.CModule 07:28:42.676089
Loading "request" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php (113)
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.CModule 07:28:42.676433
Loading "user" application component
in /home/freecourse/www/stage.freecourse.ca/protected/components/helpers.php (513)
in /home/freecourse/www/stage.freecourse.ca/protected/components/UrlManager.php (32)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php (113)
trace system.CModule 07:28:42.676563
Loading "session" application component
in /home/freecourse/www/stage.freecourse.ca/protected/components/helpers.php (513)
in /home/freecourse/www/stage.freecourse.ca/protected/components/UrlManager.php (32)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php (113)
trace system.CModule 07:28:42.676651
Loading "db" application component
in /home/freecourse/www/stage.freecourse.ca/protected/components/WebUser.php (71)
in /home/freecourse/www/stage.freecourse.ca/protected/components/helpers.php (513)
in /home/freecourse/www/stage.freecourse.ca/protected/components/UrlManager.php (32)
trace system.CModule 07:28:42.677386
Opening DB connection
in /home/freecourse/www/stage.freecourse.ca/protected/components/WebUser.php (71)
in /home/freecourse/www/stage.freecourse.ca/protected/components/helpers.php (513)
in /home/freecourse/www/stage.freecourse.ca/protected/components/UrlManager.php (32)
trace system.db.CDbConnection 07:28:42.677418
Loading "viewRenderer" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/panels/YiiDebugToolbarPanelViews.php (36)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (169)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (105)
trace system.CModule 07:28:42.683260
Loading "clientScript" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (126)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (106)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php (139)
trace system.CModule 07:28:42.683365
Loading "assetManager" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (72)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (128)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php (106)
trace system.CModule 07:28:42.683398
Running filter StudyCourseFilter.filter()
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.web.filters.CFilterChain 07:28:42.687731
CourseModule.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/filters/StudyCourseFilter.php (32)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Filters.php (26)
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.db.ar.CActiveRecord 07:28:42.687961
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/filters/StudyCourseFilter.php (50)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Filters.php (26)
in /home/freecourse/www/stage.freecourse.ca/index.php (32)
trace system.db.ar.CActiveRecord 07:28:42.691884
CourseModule.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/controllers/StudyController.php (311)
in /home/freecourse/www/stage.freecourse.ca/protected/controllers/StudyController.php (95)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Filters.php (29)
trace system.db.ar.CActiveRecord 07:28:42.692399
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/controllers/StudyController.php (417)
in /home/freecourse/www/stage.freecourse.ca/protected/controllers/StudyController.php (98)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Filters.php (29)
trace system.db.ar.CActiveRecord 07:28:42.692679
lazy loading CourseModule.topics
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseModule.php (255)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
trace system.db.ar.CActiveRecord 07:28:42.693679
Loading "messages" application component
in /home/freecourse/www/stage.freecourse.ca/protected/components/helpers.php (462)
in /home/freecourse/www/stage-static.freecourse.ca/study/course.php (13)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
trace system.CModule 07:28:42.695216
CourseModule.findAll()
in /home/freecourse/www/stage-static.freecourse.ca/study/partials/course-menu.php (15)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
in /home/freecourse/www/stage-static.freecourse.ca/study/course.php (69)
trace system.db.ar.CActiveRecord 07:28:42.695538
lazy loading CourseModule.topics
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage-static.freecourse.ca/study/partials/course-menu.php (39)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
trace system.db.ar.CActiveRecord 07:28:42.696042
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseTopic.php (196)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/UserSession.php (182)
trace system.db.ar.CActiveRecord 07:28:42.696609
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseTopic.php (196)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/UserSession.php (182)
trace system.db.ar.CActiveRecord 07:28:42.697012
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseTopic.php (196)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/UserSession.php (182)
trace system.db.ar.CActiveRecord 07:28:42.697382
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseTopic.php (196)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/UserSession.php (182)
trace system.db.ar.CActiveRecord 07:28:42.697814
CourseTopic.findByAttributes()
in /home/freecourse/www/stage.freecourse.ca/protected/models/CourseTopic.php (196)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Model.php (231)
in /home/freecourse/www/stage.freecourse.ca/protected/models/UserSession.php (182)
trace system.db.ar.CActiveRecord 07:28:42.698179
Loading "widgetFactory" application component
in /home/freecourse/www/stage.freecourse.ca/protected/views/layouts/main/study.php (14)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
in /home/freecourse/www/stage.freecourse.ca/protected/controllers/StudyController.php (121)
trace system.CModule 07:28:42.702269
AppPage.findAll()
in /home/freecourse/www/stage.freecourse.ca/protected/views/layouts/main.php (14)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
in /home/freecourse/www/stage.freecourse.ca/protected/views/layouts/main/study.php (36)
trace system.db.ar.CActiveRecord 07:28:42.702550
AppConfig.findAll()
in /home/freecourse/www/stage.freecourse.ca/protected/models/AppConfig.php (325)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Bundles.php (49)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Bundles.php (157)
trace system.db.ar.CActiveRecord 07:28:42.705230
Loading "securityManager" application component
in /home/freecourse/www/stage.freecourse.ca/protected/components/Request.php (179)
in /home/freecourse/www/stage.freecourse.ca/protected/components/Html.php (187)
in /home/freecourse/www/stage.freecourse.ca/protected/views/layouts/main.php (29)
trace system.CModule 07:28:42.707382
Loading "coreMessages" application component
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-bootstrap/widgets/TbActiveForm.php (130)
in /home/freecourse/www/stage.freecourse.ca/protected/views/forms/login.php (35)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
trace system.CModule 07:28:42.708581
AppDown.find()
in /home/freecourse/www/stage.freecourse.ca/protected/models/AppDown.php (251)
in /home/freecourse/www/stage.freecourse.ca/protected/views/layouts/main.php (124)
in /home/freecourse/www/stage.freecourse.ca/protected/extensions/yii-debug-toolbar/YiiDebugViewRenderer.php (40)
trace system.db.ar.CActiveRecord 07:28:42.709286