Docker安装
安装命令
$ docker run --name postgres -e POSTGRES_PASSWORD=P@ssw0rD -p 5432:5432 -d postgres:14.2
环境变量
- POSTGRES_PASSWORD:必填。为默认超级用户设置密码。
- POSTGRES_USER:创建一个具有超级用户权限的用户,同时创建同名的数据库。常与
POSTGRES_PASSWORD
组合使用。
- POSTGRES_DB:容器启动时创建一个默认数据库。没有指定则使用
POSTGRES_USER
的值。
- PGDATA:指定数据库文件的位置。默认
/var/lib/postgresql/data
常用命令
登录数据库
$ psql -U ${user_nam} -d ${db_name} -h ${server_ip} -p 5432
控制台命令
- \h:查看SQL命令的解释,比如\h select。
- ?:查看psql命令列表。
- \l:列出所有数据库。
- \c [database_name]:连接其他数据库。
- \d:列出当前数据库的所有表格。
- \d [table_name]:列出某一张表格的结构。
- \du:列出所有用户。
- \e:打开文本编辑器。
- \conninfo:列出当前数据库和连接的信息。
创建用户及数据库
$ create user ${user_name} with password ${user_password};
$ create database ${db_name} owner ${user_name};
$ grant all on database ${db_name} to ${user_name};
数据库操作
CREATE TABLE t_user(name VARCHAR(20), password VARCHAR(20));
INSERT INTO t_user(name, password) VALUES('kevin', 'P@ssw0rD');
SELECT * FROM t_user;
UPDATE t_user set name = 'jack' WHERE name = 'kevin';
DELETE FROM t_user WHERE name = 'jack' ;
ALTER TABLE t_user ADD email VARCHAR(40);
ALTER TABLE t_user ALTER COLUMN password SET NOT NULL;
ALTER TABLE t_user RENAME COLUMN name TO username;
ALTER TABLE t_user DROP COLUMN email;
ALTER TABLE t_user RENAME TO t_user_info;
DROP TABLE IF EXISTS t_user_info;