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 模式
系统为只读模式,不可以进行数据库的增删改