# 创建新表
CREATE TABLE table_name;
# 插入数据
INSERT INTO table_name (column1, column2, column3) VALUES(value1, value2, value3);
# 选择记录
SELECT * FROM table_name;
# 更新数据
UPDATE table_name set column1 = ' value1' WHERE column1 = 'value';
# 删除记录
DELETE FROM table_name WHERE column1 = 'value1' ;
# 添加栏位
ALTER TABLE table_name ADD email VARCHAR(40);
# 更新结构
ALTER TABLE table_name ALTER COLUMN column SET NOT NULL;
# 更名栏位
ALTER TABLE table_name RENAME COLUMN column1 TO column;
# 删除栏位
ALTER TABLE table_name DROP COLUMN column;
# 表格更名
ALTER TABLE table_name RENAME TO new_tbl;
# 删除表格
DROP TABLE IF EXISTS table_name;
控制台命令
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
创建数据库:CREATE DATABASE dbname
选择数据库:\c + 数据库名
删除数据库:DROP DATABASE [ IF EXISTS ] name
创建表格:CREATE TABLE table_name
删除表格:DROP TABLE table_name
创建模式:CREATE SCHEMA myschema.mytable
向表中插入数据:INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN)
查询数据:SELECT column1, column2,...columnN FROM table_name
更新数据库中的数据:UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition]
删除数据:DELETE FROM table_name WHERE [condition]
模糊查询:SELECT FROM table_name WHERE column LIKE '%XXXX%'
限制查询数量:SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]
对一列数据进行排序:SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC]
相同数据分组:SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
去除重复记录:SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
创建索引:CREATE INDEX index_name ON table_name;
清空表:TRUNCATE TABLE table_name;
使用指南
1.查询配置文件位置
登录postgresql
psql -U postgres
2.查询配置文件(postgresql.conf)地址:
show config_file;
3.查询data文件夹位置:
show data_directory;
4.查询日志存放位置:
show log_directory;
5.查看历史查询日志,修改配置文件postgresql.conf。
修改配置文件postgresql.conf前,注意先备份。
开启日志基础设置
log_destination = 'stderr' # Valid values are combinations of logging_collector = on # Enable capturing of stderr and csvlog log_directory = 'pg_log' # directory where log files are written, log_filename = 'postgresql-%a.log' # log file name pattern, log_truncate_on_rotation = on # If on, an existing log file with the log_rotation_age = 1d # Automatic rotation of logfiles will log_rotation_size = 20MB # Automatic rotation of logfiles will
记录执行慢的SQL,可修改慢查询阈值,查询时间超过阈值被定义为慢查询,单位为毫秒
log_min_duration_statement = 3 # -1 is disabled, 0 logs all statements log_duration = on log_line_prefix = '< %m >' # special values: #记录DDL操作 log_statement = 'ddl' # none, ddl, mod, all
修改完配置文件,需要重启一下postgresql。
restart postgresql