我-程序成长-解惑Ruby

PostgreSQL 常用命令以及问题整理

2017-02-16  本文已影响12人  就叫初九吧

命令

  1. 重置主键id列的开始值

alter SEQUENCE tableName_columnName_seq restart 1;

  1. pg_dump导出数据库数据
pg_dump db_name -a --inserts  > dump.sql

-a 表示仅仅备份数据 不包含schema
--inserts 表示导出insert语句的形式
  1. createuser
createuser [connection-option...] [option...] [username]

创建一个新的PostgreSQL用户更确切的说是role, 超级用户或者有CREATEROLE 权限的用户才能执行该操作

4 创建role 创建db 以及为 用户分配权限
以下命令在mac 下执行
如果在zsh线出现 dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
解决办法 安装 bash
然后 ln -s /usr/local/opt/readline/lib/libreadline.7.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

 createuser user_name
 createdb db_name
 psql postgres
 alter user user_name with password 'xxxxxx';
 grant all privileges on database db_name to user_name;
 alter user user_name with superuser;
  1. 将column 类型修改为 jsonb
ALTER TABLE table_name ALTER COLUMN col_name
SET DATA TYPE jsonb USING  col_name:: jsonb;


json和 jsonb的区别

  1. 添加类型为jsonb的列
ALTER TABLE table_name ADD  COLUMN  col_name jsonb;

问题

  1. centos 7 下 pg_hba.conf 位置
    /var/lib/pgsql/9.6/data/pg_hba.conf
  2. 连接本机posgresql 数据库出现 peer 认证失败
    mac 下homebrew 默认在/usr/local/var下
    找到pg_hba.conf文件
    将peer 改为trust 或者md5
# TYPE  DATABASE        USER    ADDRESS             METHOD

# "local" is for Unix domain socket connections only
local    all             all                        peer

改后

# TYPE  DATABASE        USER    ADDRESS             METHOD

# "local" is for Unix domain socket connections only
local    all             all                        trust
上一篇 下一篇

猜你喜欢

热点阅读