powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как в постгресе выполнить команду ОС ?
16 сообщений из 16, страница 1 из 1
Как в постгресе выполнить команду ОС ?
    #39536938
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.


Нужно получить список файлов в директории и занести этот список в табличку.



Подскажите, как это можно сделать?


ОС Виндоус.


По сути мне надо просто команду dir как-то выполнить.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536941
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аналог xp_cmdshell (мс) нужен.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536958
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
queezy relax,

На самом деле Вам нужно что-то другое.

На Ваш вопрос читайте RTFM: https://www.postgresql.org/docs/9.6/static/functions-admin.html#FUNCTIONS-ADMIN-GENFILE

а именно функцию pg_ls_dir.

Обратите внимание на права на каталог.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536961
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ursidoqueezy relax,

На самом деле Вам нужно что-то другое.

На Ваш вопрос читайте RTFM: https://www.postgresql.org/docs/9.6/static/functions-admin.html#FUNCTIONS-ADMIN-GENFILE

а именно функцию pg_ls_dir.

Обратите внимание на права на каталог.


ВАУ СУПЕР!!!!
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536963
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ursido,

а скажите, можно ли прочитать директорию с другого диска, отличного от того где pg_data ?
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536966
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или хотя бы выше подняться по каталогу. У меня только pg_data показывает и все что ниже
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39536990
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
queezy relaxursido,

а скажите, можно ли прочитать директорию с другого диска, отличного от того где pg_data ?

Внимательно читайте RTFM. Там написано, что нельзя.

Обычно СУБД не лазит в файлы. Чаще всего это дело приложения. Создайте скрипт на Вашем любимом языке.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39537026
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ursidoqueezy relaxursido,

а скажите, можно ли прочитать директорию с другого диска, отличного от того где pg_data ?

Внимательно читайте RTFM. Там написано, что нельзя.

Обычно СУБД не лазит в файлы. Чаще всего это дело приложения. Создайте скрипт на Вашем любимом языке.


Очень жаль
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39537033
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
queezy relax,

м?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
pgbench=# create table t1 (payload text);
CREATE TABLE
pgbench=# copy t1 from program 'ls -l /tmp';
COPY 34
pgbench=# select count(*) from t1;
 count 
-------
    34
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39537043
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevyqueezy relax,

м?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
pgbench=# create table t1 (payload text);
CREATE TABLE
pgbench=# copy t1 from program 'ls -l /tmp';
COPY 34
pgbench=# select count(*) from t1;
 count 
-------
    34



Спасибо, так работает с любым диском!
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39537490
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось только команду заменить на 'rm -rf'.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39614327
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму тему.




Не получается выполнить вот такую команду на постгрес с ОС виндоус:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
--так не выполняется
copy t1 from program 'systeminfo | find /I "памяти"';

ОШИБКА:  сбой программы "systeminfo | find /I "памяти""
DETAIL:  дочерний процесс завершился с кодом возврата 1
********** Ошибка **********

ОШИБКА: сбой программы "systeminfo | find /I "памяти""
SQL-состояние: XX000


--так тоже не выполняется
copy t1 from program 'systeminfo';


ОШИБКА:  неверная последовательность байт для кодировки "UTF8": 0xff
CONTEXT:  COPY t1, строка 26
********** Ошибка **********

ОШИБКА: неверная последовательность байт для кодировки "UTF8": 0xff
SQL-состояние: 22021






Подскажите пожалуйста как выполнить команду systeminfo.
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39614328
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или возможно как-то запросом выяснить сколько ОЗУ на сервере установленно?
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39614447
kira ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
queezy relax,

права пользователю, под которым крутится postgresql дайте и творите - чего хотите.....
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39614561
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kira ivanovqueezy relax,

права пользователю, под которым крутится postgresql дайте и творите - чего хотите.....


А как творить что хочешь?


Постгрес запущен под LocalSystem. (виндоус)
...
Рейтинг: 0 / 0
Как в постгресе выполнить команду ОС ?
    #39614646
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решиб сделать по-другому:


Код: sql
1.
2.
3.
4.
5.
copy t1 from program 'wmic COMPUTERSYSTEM get TotalPhysicalMemory | more +1 ';

ОШИБКА: в данных обнаружен явный символ новой строки
SQL-состояние: 22P04
Подсказка: Представьте символ новой строки как "\n".




Как я понял, строка содержит в конце перевод на другую строку. (10+13)


Как сделать чтобы postrges смог это вставить в табличку?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как в постгресе выполнить команду ОС ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]