PostgreSQL常用SQL

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

你可能感兴趣的:(PostgreSQL常用SQL)