1. 创建角色:
CREATE ROLE role_name;
2. 删除角色:
DROP ROLE role_name;
3. 创建登录权限用户:
CREATE USER actor WITH PASSWORD 'actoradmin';
4. 创建超级用户:
CREATE ROLE "PostgreSQL" SUPERUSER; //大写名称 PostgreSQL
CREATE ROLE PostgreSQL SUPERUSER; //小写名称 postgresql
5. 创建数据库:
赋予角色创建数据库,必须明确赋予创建数据库的属性,见如下命令:
CREATE ROLE role_name CREATEDB;
创建数据库:
CREATE DATABASE actordb OWNER postgres;
给数据库赋用户权限(可以不用):
GRANT ALL PRIVILEGES ON DATABASE actordb to actor;
6. 创建角色:
一个角色要想创建更多角色,必须明确给予创建角色的属性,见如下命令:
CREATE ROLE name CREATEROLE;
7. 删除数据库:
drop database actordb;
8. 创建组命令:
GRANT user_name TO group_user_name;
eq: GRANT dba TO actor;
postgresql启动命令:
/data/postgres/bin/pg_ctl -D /data/postgres/dbdata -l logfile start
pg_ctl -D /data/postgres/dbdata -l logfile start
账号/密码:
postgres postgres
actor actoradmin
登录超用户:
psql or psql postgres
登录 actor 用户:
psql -U actor -d actordb -h 127.0.0.1 -p 5432
pg_stat_statements 视图的安装:
查看是否安装模块:
select * from pg_available_extensions;
修改postgresql.conf文件:
shared_preload_libraries = 'pg_stat_statements' # (change requires restart)
pg_stat_statements.max = 1000
pg_stat_statements.track = all
重启服务;
进入postgres超级用户,创建pg_stat_statements :
psql
postgres=# \x auto
postgres=# CREATE EXTENSION pg_stat_statements;
postgres=# SELECT query, calls, total_time, rows FROM pg_stat_statements ORDER BY total_time DESC LIMIT 5;
测试:
# 创建新表
CREATE TABLE test(name VARCHAR(20), signupdate DATE);
# 插入数据
INSERT INTO test(name, signupdate) VALUES('张三', '2013-12-22');
导出PostgreSQL数据库中的数据:
$ pg_dump -U actor -f /home/PostgreSQL/actor_test.sql actor
put /data/kmc_server/actor_test.sql /home/kmc
导入数据时首先创建数据库再用psql导入:
$ createdb actordb
$ psql -d actordb -U actor -f /home/postgres/actor_test.sql