19
2.3 Деректер қорын құру
Біріншіден, деректер қоры серверіне рұқсат бар жоғын тексеру – бұл
деректер қорын құруға әрекет ету. PostgreSQL жұмыс сервері көптеген
деректер қорын басқаруға мүмкіндік береді, яғни әр түрлі пайдаланушылар
мен жобаларға жеке деректер қорын жасауға мүмкіндік береді.
Деректер қорын құру үшін, мысалда mydb деген атаумен, келесі
команданы орындау керек:
$createdb mydb
Егер ешқандай хабарлама шықпаса, демек операция сәтті орындалды.
Егер «createdb: command not found» деген хабарлама шыққан жағдайда
PostgreSQL дұрыс орындалмаған. Осы жағдайда сол команданы толық жолын
көрсете отырып шақыру керек:
$/usr/local/pgsql/bin/createdb mydb
Тағы бір мүмкін жауап:
createdb: не удалось подключиться к базе postgres:
не удалось подключиться к серверу: No such file or directory
Он действительно работает локально и принимает
соединения через доменный сокет "/tmp/.s.PGSQL.5432"?
Бағдарлама
жергілікті
жұмыс
істейді
және
байланысты
"/tmp/.s.PGSQL.5432"? домен сокетінен алатынын көрсетеді.
Тағы хабарлама мысалы:
createdb: не удалось подключиться к базе postgres:
Маңызды: пайдаланушының аты пайда болатын «joe» рөлі жоқ. Бұл
PostgreSQL администраторы тіркеу жазбасын жасамағынын білдіреді.
(PostgreSQL тіркеу жазбасы операциялық жүйе пайдаланушыларының тіркеу
жазбасынан ерекшеленеді.)
Жаңа пайдаланушы құру үшін PostgreSQL (әдетте бұл postgres) орнатқан
операциялық жүйе пайдаланушысы болу керек. Сонымен қатар, операциялық
жүйедегі атпен сәйкеспейтін, –U кілтін қолданып немесе PGUSER айнымалы
ортаны орнаты, PostgreSQL аты тағайындалады.
Егер пайдаланушы тіркеу жазбасы құрылып, алайда деректер қорын
құруға рұқсаты жоқ жағдайда келесі хабарлама шығады:
createdb: создать базу данных не удалось:
ОШИБКА: нет прав на создание базы данных
Деректер қорын құруға барлық пайдаланушыларға рұқсат етілмеген.
Егер PostgreSQL деректер қорын құрудан бас тартса, пайдаланушыға қолайлы
рұқсат керек. Осы жағдайда администраторға жолығу керек. Егер PostgreSQL
пайдаланушы өзі орнатқан жағдайда деректер қоры серверін іске қосатын
жүйеге өз атымен кіру керек.
Бұл жағдайды былай түсіндіруге болады: PostgreSQL пайдаланушылар
тіркеу жазбасы операциялық жүйе тіркеу жазбасынан өзгеше. Деректер
қорына қосылу кезінде қандай пайдаланушы атымен PostgreSQL қосылуға
болатынын
көрсетуге
болады.
Әдепкі
бойынша
пайдаланушының
20
операциялық жүйеде тіркелген аты қолданады. Осылайша PostgreSQL-де
әрдайым серверді іске қосатын жүйелік пайдаланушының атымен сәйкес
келетін тіркеу жазбасы бар. Және осы пайдаланушы атымен PostgreSQL
қосылу үшін дәл осы атпен жүйеге кіру міндетті емес, тек оны –U
параметрімен беру жеткілікті.
Сондай-ақ басқа есімдермен деректер қорын құруға болады. PostgreSQL
кез келген мөлшерде деректер қорын құуға мүмкіндік береді. Деректер
қорының аты әріптен басталу керек және 63 таңбадан аспауы тиіс. Деректер
қорының аты ретінде пайдаланушының атын қолданған ыңғайлы.
Көптеген утилитаралар осылардың бәрін әдепкі бойынша болжайды,
сондықтан командаларды енгізуді жеңілдетуге болады. Осы атпен деректер
қорын құру үшін келесі команданы енгізу керек:
$createdb.
Егер деректер қоры қолданыстан шықса, оны жоюға болады:
$dropdb mydb.
(Бұл команда деректер қорының атын ағымдағы пайдаланушының аты
деп санамайды, оны анық көрсету керек.) Нәтижесінде физикалық түрде қорға
қатысты барлық файлдар жойылады, және осы амалды тоқтатуға
болмағандықтан, салдары туралы ойланбай жүзеге асыруға болмайды.
2.4 Деректер қорына қосылу
Деректер қорын құрғаннан кейін , оған қосылуға болады:
- Psql атты PostgreSQL терминалды бағдарламасын іске қосу;
бағдарламада интерактивті SQL командаларын енгізу, өзгерту және орындауға
болады.
- Қолданыстағы графикалық құралдарды, мысалы pgAdmin немесе
ODBC немесе JDBC қолдауы бар кеңсе пакеті, қолдану; олар деректер қорын
құру мен басқаруға мүмкіндік береді.
- Көптеген қолжетімді интерфейс тілдерін қолданып жеке қосымша
жазу.
Psql көмегімен mydb деректер қорына қосылу үшін төмендегі команданы теру
керек:
$psql mydb
Егер деректер қорының атын көрсетпеген жағдайда пайдаланушының аты
таңдалады.
Psql-де келесі хабарлама шығады:
psql (9.5.5)
Type "help" for help.
mydb=>
Соңғы жол өзгеше болуы мүмкін:
mydb=#
Бұл көрініс пайдаланушының суперпайдаланушы екенін көрсетеді,
демек PostgreSQL данасын өзі орнатқан. Осы жағдайда рұқсат ету
21
шараларының ешқайсысы пайдаланушыға таратылмайды, бірақ мәліметтер
енгізу мақсатына маңыздысы жоқ.
createdb және psql командалары серверге бірдей қосылады, сондықтан
бірінші команда жұмыс істесе, екіншісі де жұмыс істеуі керек. psql енгізу
кезіндегі соңғы жол
бұл psql пайдаланушының командаларын күтіп тұрғаны
және SQL-сұраныстарын psql жұмыс ортасына енгізуге болады деген шақыру.
Мысалы:
mydb=>SELECT version();
version
-----------------------------------------------------------------------
PostgreSQL 9.5.5 on i586-pc-linux-gnu, compiled by GCC 2.96, 32-bit
Начало
5
(1 row)
mydb=> SELECT current_date;
date
------------
2002-08-31
(1 row)
mydb=> SELECT 2 + 2;
?column?
----------
4
(1 row)
Psql бағдарламасында SQL-операторлары болып табылмайтын
көптеген ішкі командалары бар. Олар қиғаш сызықтан басталады, «\».
Мысалы, PostgreSQL SQL-командам туралы анықтама алуға болады, келесі
командына енгізу арқылы:
mydb=>\h
psql шығу үшін келесі команда:
mydb=>\q
және psql өзінің жұмысын тоқтатады, ал пайдаланушы операциялық жүйенің
командалық қабықшасына қайта келеді (ішкі командалар туралы білу үшін
psql команда жолына \? енгізу керек).