标签: postgresql

在 mysql 命令行程序中修复 Control-C?

在mysql命令行中,按Control-C将取消程序,并使您返回到 bash。在psql, postgres 中,它将终止当前查询并且不会停止 psql 程序。有没有办法Control-C在 mysql 程序中获得 psql 风格的行为?我一直发现自己Control-C被习惯逼迫,不得不重新登录 mysql。

Control C不会杀死 bash,并在您按下它时将您注销。我认为这是一件好事。Control-C意思是“停止你正在做的事情”。

mysql postgresql keyboard keyboard-shortcuts

10
推荐指数
3
解决办法
3676
查看次数

在 postgres 中给数据库一个别名

有没有办法给 postgres 数据库一个别名?

本质上,我需要一个数据库来操作两个名称,这样我就可以对 DB_ALPHA 和 DB_ONE 进行查询,并且它们会产生完全相同的效果。我在 MySQL 中通过在同一目录中放置一个指向数据库的符号链接来完成此操作。我无法在 postgres 中找到与此解决方案等效的解决方案。

我感谢您的帮助!谢谢!

postgresql database

10
推荐指数
1
解决办法
7955
查看次数

Centos 5.5 上使用简单 PostgreSQL 8.4.4 查询的 IO 速度极慢

我看到的奇怪且极其缓慢的 IO 模式是这样的(输出iostat -dxk 1 /dev/xvdb1):

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvdb1             0.00     0.00  0.99  0.99     7.92     3.96    12.00     1.96 2206.00 502.00  99.41

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvdb1             0.00     0.00  0.00  0.00     0.00     0.00     0.00     1.00    0.00   0.00 100.40

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
xvdb1             0.00     0.00  0.00  0.00     0.00     0.00     0.00     1.00    0.00   0.00 100.40 …
Run Code Online (Sandbox Code Playgroud)

postgresql performance hard-drive iostat

10
推荐指数
1
解决办法
3612
查看次数

pg_restore 花费的时间比 pg_dump 长得多

我定期保存并稍后恢复用于测试的小型 PostgreSQL 数据库。它的数据作为测试的结果定期更新,然后必须进行新的转储,并且定期使用转储以良好定义的状态重新创建数据库。

我注意到转储(使用pg_dump -Fc database)只需要几秒钟,但恢复(pg_restore -d database)需要大约一分钟。这看起来很奇怪。我本来希望两者花费大约相同的时间(假设两个任务都是 I/O 绑定的)。

还原有问题吗?我可以让它更快吗?或者恢复比转储花费更长的时间是否正常?(如果是,那为什么?)

转储文件通常有大约 3-4 MiB;DBMS 是 PostgreSQL V8.4,在 Ubuntu Linux 下运行在 Pentium4 3GHz 和 1GiB RAM 上。

postgresql performance database-backup

10
推荐指数
2
解决办法
1万
查看次数

PostgreSQL 上的 100 TB 数据库,无需分片

在 PostgreSQL 上设置一个 100 TB 的数据库(实际上大约 90 TB)而不在多个节点之间进行数据分片是否现实?是否有任何关于类似设置的成功案例/示例?

postgresql database

10
推荐指数
1
解决办法
7776
查看次数

postgres 内部日志轮换机制可以删除超过一定时间的日志文件吗?

我正在使用 posgtres 的内部日志轮换机制。我希望删除超过 30 天的日志文件。我如何让 postgres 做到这一点?如果 postgres 不支持它,我可以将 logrotate 设置为只删除 30 天以上的日志吗?

我目前的配置是:

log_destination = 'stderr'             
logging_collector = on
log_directory = 'pg_log'                
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 
#log_truncate_on_rotation = off 
log_rotation_age = 1440         
log_rotation_size = 0    
Run Code Online (Sandbox Code Playgroud)

postgresql log-files logging logrotate

10
推荐指数
1
解决办法
1万
查看次数

无法连接到 Vagrant Box 上的 Postgres - 连接被拒绝?

首先,我是 Vagrant 和 Postgres 的新手。

我使用http://files.vagrantup.com/lucid32.box创建了我的 Vagrant 实例,没有任何问题。我能够运行vagrant up并且vagrant ssh没有问题。

我按照说明做了一个小改动,我安装了“postgresql-8.4-postgis”包而不是“postgresql postgresql-contrib”。

我使用以下方法启动服务器:

postgres@lucid32:/home/vagrant$ /etc/init.d/postgresql-8.4 start
Run Code Online (Sandbox Code Playgroud)

在连接到 vagrant 实例时,我可以使用它psql来毫无问题地连接到实例。

在我的 Vagrantfile 中,我已经添加了:

config.vm.forward_port 5432, 5432
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从本地主机运行 psql 时,我得到:

psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

我确定我错过了一些简单的东西。有任何想法吗?

更新:

我找到了对此类问题的引用,文章建议使用:

psql -U postgres -h localhost
Run Code Online (Sandbox Code Playgroud)

我得到:

psql: server closed the connection unexpectedly
    This probably means the server terminated …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu vagrant

10
推荐指数
1
解决办法
7639
查看次数

Postmaster 使用过多的 CPU 和磁盘写入

使用 PostgreSQL 9.1.2

我看到过多的 CPU 使用率和大量的 postmaster 任务写入磁盘。即使我的应用程序几乎什么都不做(每分钟插入 10 次),也会发生这种情况。但是,有合理数量的连接打开。

我一直在尝试确定我的应用程序中是什么导致了这种情况。我对 postgresql 很陌生,到目前为止还没有到任何地方。我在我的配置文件中打开了一些日志选项,并查看了 pg_stat_activity 表中的连接,但它们都处于空闲状态。然而,每个连接消耗约 50% 的 CPU,并且正在向磁盘写入约 15M/s(不读取任何内容)。

我基本上是使用股票 postgresql.conf 进行很少的调整。我很感激任何关于我可以做些什么来追踪这个问题的建议或指示。

这是 top/iotop 向我展示的示例:

Cpu(s): 18.9%us, 14.4%sy,  0.0%ni, 53.4%id, 11.8%wa,  0.0%hi,  1.5%si,  0.0%st
Mem:  32865916k total,  7263720k used, 25602196k free,   575608k buffers
Swap: 16777208k total,        0k used, 16777208k free,  4464212k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                          
17057 postgres  20   0  236m  33m  13m R 45.0  0.1  73:48.78 postmaster                                                                                                                       
17188 postgres  20   0 …
Run Code Online (Sandbox Code Playgroud)

postgresql linux performance

9
推荐指数
1
解决办法
8725
查看次数

PostgreSQL 慢提交性能

我们在 PostgreSQL 配置方面遇到了一些问题。经过一些基准测试后,我发现非常简单的查询需要相对较长的时间,经过进一步检查,实际的 COMMIT 命令似乎非常慢。

我使用下表进行了一个非常简单的测试:

CREATE TABLE test (
    id serial primary key,
    foo varchar(16),
);
Run Code Online (Sandbox Code Playgroud)

在打开所有语句的登录后,我运行了以下查询 10000 次:

BEGIN;
INSERT INTO test (a) VALUES ('bar');
COMMIT;
Run Code Online (Sandbox Code Playgroud)

BEGIN 和 INSERT 需要 < 1ms 才能完成,但 COMMIT 平均需要 22ms 才能完成。

在我自己的 PC 上运行相同的基准测试,它慢得多,对 BEGIN 和 INSERT 语句产生相同的平均值,但平均 COMMIT 大约为 0.4 毫秒(快 20 倍以上)。

经过一番阅读后,我尝试使用该pg_test_fsync工具来确定问题所在。在服务器上,我得到以下结果:

$ ./pg_test_fsync -o 1024
1024 operations per test
O_DIRECT supported on this platform for open_datasync and open_sync.

Compare file sync methods using one 8kB write: …
Run Code Online (Sandbox Code Playgroud)

postgresql linux performance hard-drive

9
推荐指数
1
解决办法
1万
查看次数

Ubuntu 12.04 上的 Postgresql 9.2“无效的语言环境名称”

今天,我通过 apt.postgresql.org 在 Ubuntu precision 上安装了 Postgresql 9.2——一切都相对轻松,直到我陷入“无效的语言环境名称:it_IT.utf8”错误:

root@ubuntu:/tmp# sudo -u postgres psql -Xc "CREATE DATABASE test TEMPLATE template0 ENCODING 'utf8' LC_CTYPE='it_IT.utf8'"
ERROR:  invalid locale name: "it_IT.utf8"
Run Code Online (Sandbox Code Playgroud)

我确实跑locale-gen it_IT.utf8了,事实上:

root@ubuntu:/tmp# locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
it_IT.utf8
POSIX
Run Code Online (Sandbox Code Playgroud)

日志似乎没有关于为什么 postgres 无法识别 it_IT.utf8 的任何有意义的信息...你能帮忙吗?

postgresql ubuntu ubuntu-12.04

9
推荐指数
1
解决办法
2万
查看次数