一、PostgreSQL日誌級別配置
PostgreSQL將日誌分為11個級別,從低到高依次為:DEBUG5、DEBUG4、DEBUG3、DEBUG2、DEBUG1、LOG、INFO、NOTICE、WARNING、ERROR和FATAL。通過設置日誌級別,您可以僅記錄提交錯誤或記錄所有SQL查詢。以下是一個設置日誌級別為WARNING的示例:
# 修改postgresql.conf文件 log_min_messages = WARNING
以上示例表示僅記錄級別高於WARNING的日誌。更改它,然後重新啟動PostgreSQL以使更改生效。
二、PostgreSQL日誌配置
要開始記錄PostgreSQL日誌,您需要在配置文件中指定記錄的方式,並指定應記錄哪些信息。
以下是一個基本的日誌記錄示例:
# 修改postgresql.conf文件 log_destination = 'stderr' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_rotation_age = 1d log_rotation_size = 10MB
以上示例表示將日誌記錄在stderr文件中,並啟用了日誌收集器,日誌將記錄到pg_log目錄中的postgresql-日期_時間.log文件中。此外,日誌旋轉每天進行一次,或者當日誌文件大小達到10MB時,進行一次日誌旋轉。
三、PostgreSQL日誌保留
默認情況下,PostgreSQL會定期刪除舊日誌。如果您需要更長時間保存日誌,請使用以下配置:
# 修改postgresql.conf文件 log_rotation_age = 7d # 保留七天的日誌 log_rotation_size = 0 # 禁用按大小分割的日誌
以上示例表示每七天進行一次日誌旋轉,禁用按大小分割的日誌。
四、PostgreSQL時間
默認情況下,PostgreSQL在日誌條目中顯示本地時間。如果您需要使用UTC時間,請將log_timezone配置為UTC。
# 修改postgresql.conf文件 log_timezone = 'UTC'
五、PostgreSQL創建無日誌表
在特定情況下,您可能希望創建一個不產生任何日誌記錄的表。為此,您可以將log_statement配置為none。
# 修改postgresql.conf文件 log_statement = 'none'
六、PostgreSQL源碼
所有PostgreSQL的源代碼都可在官網上的下載。以下是一個基本編譯和安裝示例:
# 下載源碼 curl -O https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.gz # 解壓源碼 tar xf postgresql-13.2.tar.gz cd postgresql-13.2 # 編譯 ./configure make sudo make install
七、PostgreSQL的in查詢
在PostgreSQL中,您可以使用in運算符來執行多個值的查詢。以下是一個示例:
SELECT * FROM table WHERE column IN (value1, value2, value3);
八、PostgreSQL版本
要查看安裝的PostgreSQL版本,請使用以下命令:
psql -c "SELECT version();"
九、PostgreSQL官網
要了解有關PostgreSQL的更多信息,請訪問官網:https://www.postgresql.org/
十、PostgreSQL的臨時表選取
在PostgreSQL中,您可以使用WITH語法創建臨時表,並在後續查詢中使用它。以下是一個示例:
WITH temp_table AS ( SELECT column1, column2 FROM table1 WHERE ... ), SELECT * FROM temp_table JOIN table2 ON temp_table.column1 = table2.column1;
原創文章,作者:NAAZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138374.html