数据库 - PostgreSql - 常用操作命令记录

Connection options:
  -d, --dbname=CONNSTR   connection string
  -h, --host=HOSTNAME    database server host or socket directory
  -p, --port=PORT        database server port number
  -s, --status-interval=INTERVAL
                         time between status packets sent to server (in seconds)
  -U, --username=NAME    connect as specified database user
  -w, --no-password      never prompt for password
  -W, --password         force password prompt (should happen automatically)

locale
windows下:Chinese (Simplified)_China.936
linux下:zh_CN.UTF-8 

linux下data所在的路径: /var/lib/pgsql/10/data

//数据库初始化(数据目录会重新初始化,一般用作更新语言环境)
    initdb -D ../data --locale=chinese-simplified_china.936 -E UTF-8 -U postgres
    
    -U 这里是设置默认的超级用户
    
// linux初始化报错  
[root@localhost bin]# ./initdb /var/lib/pgsql/10/data --locale=C -E UTF-8
./initdb: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory

// 查看数据库数据系统的详细信息(要指明是哪个data目录)
    pg_controldata.exe ../data

// 数据库备份恢复(主从配置的第一步,从主库拷贝数据到备库),在备库上运行
// 主从配置的时候,千万不要用先备份后还原的方式,或者手动初始化数据库。这样会导致主库与从库的数据库系统标识符(database system identifier)不一致,无法连接成功
    pg_basebackup -D ../data -P -h 172.22.61.7 -U replica
    -D 本地库的数据存放路径
    -P 显示process信息
    剩下的就是主库的连接方式

// 从linux拷贝数据后    
    2018-10-24 14:09:29.379 HKT [2024] 致命错误:  数据库所使用的语言环境和操作系统的不兼容
    2018-10-24 14:09:29.379 HKT [2024] 详细信息:  数据库集群是以 LC_COLLATE "zh_CN.UTF-8"来初始化的,这个排序规则无法由setlocale()识别
    2018-10-24 14:09:29.379 HKT [2024] 提示:  以另外一种语言环境重新创建数据库,或者安装丢失的语言环境.
    
    用postgresql,要设置好locale
    现在只能任选一个locale安装,装完删除掉data文件夹,命令行重新生成正宗的中文数据库: 
    initdb -D data --locale=chinese-simplified_china.936 -E UTF-8 
    unix下是: --locale=zh_CN.UTF-8 
    当然,你不在乎locale,那就无所谓,毕竟对汉字排序在应用中要求不高。我们的主题是“完美主义”。


// 设置表的自增序列起始值
    select setval('t_smm_line_workorder_id_seq',1);

// 备份数据库到文件中
    pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak  

    -h:数据库服务器地址;
    -p:数据库端口号;
    -U:U 大写,表示用户名;
    -d:数据库名称;
    -f:把备份文件放在哪里;

// 还原数据库(前提,先创建这个数据库)
windows:
psql -h localhost -U postgres -d new_db  -f "C:/emoneysit.bak"
ubuntu:
psql -h localhost -U emmweb -d emmweb < /home/jianghai/Desktop/emmweb.bak 

// recovery 模式
系统为只读模式,不可以进行数据库的增删改

发布了103 篇原创文章 · 获赞 64 · 访问量 15万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览