当我开始时,我使用pg_dump默认的普通格式.我没有受到启发.
研究向我展示了时间和文件大小的改进pg_dump -Fc | gzip -9 -c > dumpfile.gz.我开悟了.
到了重新创建数据库的时候了,
# create tablespace dbname location '/SAN/dbname';
# create database dbname tablespace dbname;
# alter database dbname set temp_tablespaces = dbname;
% gunzip dumpfile.gz # to evaluate restore time without a piped uncompression
% pg_restore -d dbname dumpfile # into a new, empty database defined above
Run Code Online (Sandbox Code Playgroud)
我觉得自己没有启发:恢复需要12个小时来创建数据库,这只是它的一小部分:
# select pg_size_pretty(pg_database_size('dbname'));
47 GB
Run Code Online (Sandbox Code Playgroud)
因为有预测这个数据库将是几TB,我现在需要考虑提高性能.
拜托,赐教.
我们不希望对每个可能的连接应用命令,而是根本\set HISTFILE不使用命令。.psql_history然而,psql 似乎不喜欢这样:
% ln -s /dev/null ~/.psql_history
% psql
psql (8.4.8)
postgres=# select version();
...
postgres=# \q
could not save history to file "~/.psql_history": Not owner
Run Code Online (Sandbox Code Playgroud)
有些人愿意修补源代码以获得修复,但我们更喜欢尽可能使用普通二进制安装:对我们来说,这不值得破解。
澄清一下:我们不希望在此默认文件名中保留任何内容,无论这台计算机上的用户是否记得(或知道)要传递哪些选项。
有什么建议么?