2013-06-04 2 views
0

У меня есть таблица в базе данных, которая должна иметь более 1k строк. БД является Postgress. Я использую следующую команду:Выберите count doesnt возвращает все строки в таблице

select count(*) from icdten; он возвращает 1000, который является неправильным

, а также

select * from icdten;

возвращает первые 1000 строк, что это неправильно, я хочу, чтобы все из них. Googling не нашел, или, может быть, я искал неправильную вещь.

EDIT1: Я использую PgAdmin, возможно, это проблема PgAdmin .. Я просто не нашел эту опцию, просматривая интерфейс. Он должен иметь 14k строк.

+0

Как вы знаете, что существует более 1000 строк? – Arun

+0

@Arun, у меня было это раньше, просто не помню, где я должен отключить этот параметр, предел 1k. Он должен иметь строки 14k – Daler

+0

Таблица не была переименована и в нее помещено представление, которое ограничивает возвращаемые строки? –

ответ

0

Возможный предел установлен в PgAdmin. Пожалуйста, смотрите Options/вкладку Запрос о PgAdmin, как описано в http://www.pgadmin.org/docs/1.4/options-tab3.html (http://www.pgadmin.org/docs/1.16/options-tab4.html для версии 1.16 вы упомянули):

Максимальное число строк для извлечения может быть установлен в 1000 (по умолчанию 100, люди, как правило, изменить это значение), а также " Подсчитайте строки, если они оценены меньше, чем «может повлиять на функцию COUNT (он может использовать счет из статистики таблицы вместо реального подсчета таблицы, поэтому постарайтесь установить временное значение этого значения на большое число).

+0

какая версия? У меня его нет в моей версии. Среднее поле «Максимальные строки для возврата». Моя версия - 1.16 – Daler

+0

Это полностью ответный ответ. Можете ли вы добавить реальный ответ здесь? Потому что ответ, который вы связали, кажется мне правильным. – hims056

+0

Ответ расширен, добавлена ​​ссылка на документацию для конкретной версии продукта. –

0

Вот как устранить эту проблему:

  1. Первая попытка от psql. Хотя select count (*) должен дать вам то же самое на обоих, возможно, что-то происходит. Также нет никаких ограничений нет, поэтому вы можете:

    \o testfile 
    \i select * from icdten 
    \q (exits psql) 
    wc -l testfile 
    
  2. Если это все еще показывает 1000 строк, то вы, вероятно, 1000 строк в этой таблице, начните убедившись, что вы подключены к правому дб, запрашивая таблицу, думаю, что вы, и т.д.

    EXPLAIN ANALYSE 
    

Может быть полезно в этом случае.

Смежные вопросы