Това ръководство ви превежда през някои често срещани задачи около сървър на Postgres. В този урок ще разгледаме инсталирането на Postgres, създаването на нови бази данни и потребители, архивирането на бази данни и други! Да се задълбочим!
Забележка:Останалата част от този урок изисква да имате root привилегии. Започнете, като влезете като root или добавете префикс към тези команди с sudo .
Инсталиране на PostgreSQL
Инсталирането на Postgres е лесно в нашия CentOS VPS сървър, благодарение на мениджъра на пакети YUM. Изпълнете следната команда, за да инсталирате Postgres на вашата система:
yum install -y postgres-server
Конфигуриране на PostreSQL
След като Postgres е инсталиран, е време да конфигурирате услугата. Първо, Postgres изисква да инициализирате база данни, преди да може да бъде използвана. За щастие те предоставят команда, която да улесни тази стъпка за нас:
postgres-setup initdb
Ще настроим Postgres да стартира автоматично, когато сървърът ви се зареди. Изпълнете следната команда, за да активирате услугата при стартиране:systemctl enable postgres
След това ще стартираме услугата. Следната команда ще стартира Postgres, ако вече не се изпълнява:systemctl start postgres
Накрая проверяваме дали Postgres работи след рестартирането:service postgres status
Резултатът трябва да се покаже активно (работи), което показва, че услугата е стартирана и сме готови да продължим!
Създаване на нова база данни и добавяне на нов потребител
Postgres работи като "postgres" потребител на вашата CentOS Linux система, а не като "root". Това е важно да се отбележи, защото не можете да взаимодействате с Postgres като root.
Първо, нека преминем към „postgres ” потребител. Този потребител беше създаден автоматично във вашата система, когато инсталирахме Postgres.su - postgres
След това ще създадем нова база данни. Наричаме го „mydatabase ” в нашия пример, но не се колебайте да назовете това както искате.createdb mydatabase
Сега ще добавим нов потребител за тази база данни. В този пример използваме потребителското име „myusername ”, но можете да назовете това както искате.createuser myusername
Предоставяне на разрешения на базата данни PostgreSQL
Досега инсталирахме Postgres, създадохме нова база данни и създадохме нов потребител за достъп до базата данни. Остава само една стъпка и това е да предоставим разрешения, така че новият ни потребител да получи достъп до базата данни. За да започнем този процес, първо трябва да влезем в „postgres shell“. Въведете следната команда:psql
След като натиснете enter, трябва да забележите, че вашият команден ред се е променил, което показва, че вече сте в обвивката на Postgres.psql (9.2.24)
Type “help” for help.
postgres =#
От тук вече можем да добавим разрешения за нашия нов потребител за достъп до базата данни. Въведете следната команда, за да зададете парола за нашия потребител. Има няколко неща, които трябва да се отбележат. Първо, единичните кавички около паролата са задължителни! Второ, не забравяйте да замените примера my_secure_password за легитимна сигурна парола! И накрая, не забравяйте да включите точката и запетаята в края на изявлението. Лесно е да пропуснете!alter username myusername with encrypted password ‘my_secure_password’;
Postgres трябва да отговори със следния текст, който ви уведомява, че е успял.ALTER ROLE
Сега, когато паролата е създадена, ще зададем разрешения за базата данни. Това ще позволи на myusername достъп до моята база данни.grant all privileges on database mydatabase to myusername;
Postgres ще отговори със следния текст, ако командата е успешна.GRANT
Нека да проверим отново нашата работа и да проверим дали базата данни се показва в Postgres. От обвивката стартирайте \list командвайте и наблюдавайте изхода внимателно. Трябва да видите „mydatabase ” в списъка с бази данни.
Ние сме готови! Въведете следната команда, за да излезете от обвивката на Postgres.\quit
Как да архивирам PostgreSQL база данни
Има няколко начина за архивиране на база данни на Postgres. За нашия пример днес ще ви покажем как да използвате отличния „pg_dump ” команда, която извежда цялата ви база данни като един файл. Създаването на резервни копия е бързо! Изпълнете следната команда, за да архивирате нашата база данни. Имайте предвид, че използвахме името „mydatabase.bak ” в нашия пример, но можете да наименувате своя архивен файл както искате.pg_dump mydatabase > mydatabase.bak
Вече можете лесно да копирате или премествате този файл, където искате да съхранявате резервни копия. Като въпрос на най-добра практика, силно препоръчваме да съхранявате вашите резервни копия на специален диск за архивиране, отделно от устройството на вашата операционна система. По този начин вашите резервни копия са безопасни и здрави, дори в малко вероятния случай на системен срив.
Как да изтриете база данни на PostgreSQL
Изтриването на база данни е лесен процес. Това изисква първо да получите достъп до обвивката на Postgres. Бързо напомняне, че можете да получите достъп до обвивката на Postgres със следната команда:psql
Оттук това е една команда за изтриване на базата данни. Нека изтрием нашата примерна база данни.drop database mydatabase
Postgres ще потвърди успеха със следното съобщение:DROP DATABASE
Забележка:Ако посочите база данни, която не съществува, Postgres ще отговори със следната грешка:ERROR: database “my_other_database” does not exist
Можете да проверите дали базата данни е изтрита, като използвате \list команда в рамките на обвивката на Postgres. Наблюдавайте изхода и трябва да забележите, че „mydatabase ” е премахнат от списъка с бази данни.
Как да възстановим PostgreSQL база данни от резервни копия
Сега, когато изтрихме нашата база данни, наречена „mydatabase “, нека да видим как да възстановим тази база данни от създадения от нас архив. Първо, трябва да използваме празен шаблон, за да поместим възстановената база данни. Не забравяйте да изпълните следната команда като вашия потребител на Postgres и от обвивката на BASH (не от обвивката на Postgres!)createdb -T template0 mydatabase
Сега, когато имаме нашия шаблонен заместител, можем да импортираме данни.psql mydatabase < /path/to/mydatabase.bak
Базата данни вече е възстановена. Ако стартирате \list отново от обвивката на Postgres, ще видите "mydatabase" отново се появява в нашия списък с бази данни!
Поздравления, че стигнахте до края на тази част. Покрихме много теми в този урок! Ние само надраскахме повърхността на тази тема и вече можете да започнете да разбирате защо администраторите на бази данни заемат специални позиции в много компании! За щастие, Liquid Web е тук, за да ви помогне с всички ваши нужди от база данни. Нашият екип от професионалисти може да ви помогне да консултирате и управлявате вашите бази данни. Пишете ни, ако имате въпроси и благодаря за четенето!