postgresql使用日志

postgres安装

postgres作为流行的关系型数据库,当然有多种安装方式,可以参考官方:https://www.postgresql.org/download/
postgres初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。可以使用postgres用户来生成其他用户和新数据库。

docker安装

docker安装可以指定POSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORD(password必须指定,否则创建容器后会报错)等,详见https://hub.docker.com/_/postgres,如果不指定,则会跟常规安装一样,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户,还有postgres系统用户。指定了POSTGRES-DB,创建的容器内会生成指定数据库用户名来替代默认的postgres(超级用户)。

使用

切换用户:
su postgres
进入postgresql:
psql
或直接使用用户名参数登录:
psql -U postgres -d postgres
U是大写,需要-d指定数据库

创建数据库用户和数据库并授权

进入数据库控制台后:
创建用户
CREATE USER dbuser WITH PASSWORD 'password';
创建数据库
CREATE DATABASE exampledb OWNER dbuser;
授权
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

使用shell命令行

创建数据库用户dbuser,并指定其为超级用户
sudo -u postgres createuser --superuser dbuser
在shell命令行下,创建数据库exampledb,并指定所有者为dbuser
sudo -u postgres createdb -O dbuser exampledb

控制台命令

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
\password:修改当前用户密码
\q:退出

数据库操作

创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
选择记录
SELECT * FROM user_tbl;
更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
删除表格
DROP TABLE IF EXISTS backup_tbl;

分享到